Zabbix主要有Agent, Trapper, SNMP, JMX, IPMI这几种监控方式,下面主要就监控原理和优缺点介绍一下这几种方式。
Zabbix支持的主要监控方式
Agent监控方式
Trapper监控方式
SNMP监控方式
JMX监控方式
IPMI监控方式
结论
Agent监控方式
在Agent监控方式下,zabbix-agent会主动收集本机的监控信息并通过TCP协议与zabbix-server传递信息。Agent监控方式分为主动和被动模式。在被动模式下,zabbix-agent监听10050端口,等待zabbix-server的监控信息收集信息请求;在主动模式下,zabbix-agent收集监控信息并通过10050端口主动将数据传给zabbix-server所在服务器的10051端口。
优点:
是zabbix最常用的监控方式,监测指标深入细致有针对性。
内置监控功能强大,内置监控项目丰富。
TCP方式实现通讯,可靠性也有保证。
缺点:
需要在被监控机器上安装zabbix-agent客户端,部署相对麻烦,最初需要逐个机器安装代理软件。
zabbix-agent客户端运行在被监控机上,会收集本机信息。
Trapper监控方式
Trapper监控方式使用zabbix-sender程序主动向zabbix-server发送数据。key的名称和发送的数据内容都可以灵活定义。发送的信息采用JSON格式,遵循zabbix-sender协议。可以自定义脚本利用zabbix-sender协议来向zabbix-server发送信息。
优点:
不需要在被监控机器安装zabbix-agent
不收集被监控机器的信息
可以自定义发送的信息内容
可以使用自定义脚本发送信息
缺点:
需要自定义发送的信息内容
无内置监控项目
SNMP监控方式
SNMP全称Simple Network Management Protocol,即网络管理协议,包括进程管理和被管理设备两部分。作为一种国际通用的网络管理协议被广泛的应用于对各种交换机,路由器等网络设备的管理上,而现在也越来越多被用于对服务器的监控上。
优点:
服务器一旦部署SNMPAgent,任何能实现SNMP协议的软件都可对其进行监测。
通过这种手段进行监测不需知道被监测服务器的用户名与密码,比较安全。
缺点:
很多服务器并非默认安装SNMPAgent,如果要通过这种方式监测则需要对所有服务器安装部署。
能监测的参数指标比较固定不够深入,无法满足用户的特殊需求。
由于SNMP协议是通过UDP方式实现的,在网络状况不佳的情况下其可靠性难以保证。
JMX监控方式
JMX,全称Java Management Extensions,即Java管理拓展,是Java平台为应用程序,设备,系统等植入管理功能的框架。在zabbix中,JMX数据的获取由zabbix-java-gateway代理程序来负责数据的采集。
优点:
可以详细地监控各类Java程序的运行状态。
缺点:
被监控机上需要安装zabbix-java-gateway
IPMI监控方式
IPMI,全称Intelligent Platform Management Interface,即智能平台管理接口,原本是Intel架构中企业系统的周边设备所采用的一种工业标准,后来成为业界通用的标准。用户可以利用IPMI监视服务器的物理特征,如温度,电压,电扇工作状态,电源供应以及机箱入侵等指标。
结论
根据以上对zabbix各主要监控方式的梳理,结论如下:
根据被监控机器的环境和客户要求选用适当的监控方式,可同时配合使用多种监控方式。
有条件在被监控机上部署zabbix-agent客户端时,该方法为第一选择,因为其功能强大且配置相对简便。
需要自定义脚本或者监控信息时,可使用trapper方式,即使用zabbix-sender程序或者自定义脚本遵循zabbix-sender协议,以JSON形式,通过TCP发送自定义信息。
zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视,数据收集等功能。
它可以运行在Linux,Solaris,HP-UX,AIX,Free BSD,Open BSD,OS X等平台上。zabbix agent需要安装在被监视的目标服务器上,它主要完成对硬件信息或与 *** 作系统有关的内存,CPU等信息的收集。
1、Agent监控方式。
在Agent监控方式下,zabbix-agent会主动收集本机的监控信息并通过TCP协议与zabbix-server传递信息。
Agent监控方式分为主动和被动模式。在被动模式下,zabbix-agent监听10050端口,等待zabbix-server的监控信息收集信息请求;在主动模式下,zabbix-agent收集监控信息并通过10050端口主动将数据传给zabbix-server所在服务器的10051端口。
2、Trapper监控方式。
Trapper监控方式使用zabbix-sender程序主动向zabbix-server发送数据。key的名称和发送的数据内容都可以灵活定义。发送的信息采用JSON格式,遵循zabbix-sender协议。可以自定义脚本利用zabbix-sender协议来zabbix-server发送信息。
3、SNMP监控方式。
SNMP包括进程管理和被管理设备两部分。作为一种国际通用的网络管理协议被广泛的应用于各种交换机,路由器等网络设备的管理上,而现在也越来越多被用于对服务器的监控上。
前提条件:(1) zabbix服务器端已经成功安装并且运行。
(2) zabbix客户端已经成功建立并且运行。
1 下载并且安装msmtp软件
tar jxvf msmtp-1.4.32.tar.bz2
cd msmtp-1.4.32
./configure--prefix=/usr/local/msmtp
Make
Make install
2、手动建立配置文件,输入外部smtp地址
mkdir –p /usr/local/msmtp/etc
vi /usr/local/msmtp/etc/msmtprc
添加以下内容
account default
host smtp.sohu.com#你的发送邮件服务器
port 25
from zabbix2014@sohu.com #要从哪个邮箱发出
auth login
tls off
user zabbix2014 #邮箱用户名
password xxxxx-xxx #邮箱密码,如果你觉得不安全可以把文件改为600属性
logfile /var/log/mmlog
保存退出。
3、简单测试一下
/usr/local/msmtp/bin/msmtp [url=mailto:%20zabbix2014@sohu.com]zabbix2014@sohu.com[/url]
hello,test
ctrl d
cat /usr/local/msmtp/msmtp.log 看看有没有成功。
然后再到sohu邮箱中,看看信收到没有
报错如下
[iyunv@cache-2 msmtp-1.4.32]# /usr/local/msmtp/bin/msmtp zabbix2014@sohu.com
msmtp: authentication failed (method LOGIN)
msmtp: server message: 535 5.7.0 Invalid result
msmtp: could not send mail (account default from /usr/local/msmtp/etc/msmtprc)
Google之后,需要安装 mutt组件
4、下面开始安装 MUTT如果是CentOS的话直接用yum就好了
yum install mutt
安装完成后要手动给他建立一个配置文件,
vim /etc/Muttrc
setsendmail="/usr/local/msmtp/bin/msmtp" #你的msmtp命令路径
set use_from=yes
set realname="zabbix2014@sohu.com"
set editor="vim"
简单的4行就可以了
好了,让我们来测试一下吧!
测试一下:echo"test mail" | mutt -s "test" zabbix2014@sohu.com
OK,测试了下,能收到已经发送的email,
echo"test mail 2014 content tom 2" | mutt -s "test 2014 title2" zabbix2014@sohu.com
5、创建 zabbix用于发送邮件的脚本
脚本放在什么位置随便,但是要保证zabbix可以找到!
1)vim/usr/bin/zabbix2014,并写入如下内容:
#!/bin/bash
echo "$3" | mutt -s "$2"$1 # $3表示邮件内容、$2表示邮件标题、$1表示收件人
(2)chmod a+x /usr/bin/zabbix2014
6、zabbix配置
(1)创建meida types
1.登录到zabbix,进入“Administration" >>”Media types",点击右上角“Create Media Type"。 Description填"mediatype-zabbix2014"或其它名称,Type选择"Script",Script填” zabbix2014”。
2.点击save保存,
7、创建actions
1.登录到zabbix,进入"Configation" >>"Actions",点击右上角"Create Actions"。输入Name “action-zabbix2014” ,其它都默认点击右侧“Action Operations"下的"New"按钮,"Operation Type"选择"Send message","Send Message to"选择一个或多个要发送消息的用户组,”Send only to"选择我们之前新增的mediatype-zabbix2014。
2.点击save保存,
8、zabbix用户配置
登录到zabbix, 进入"Adimistration" >>"Users",在之前选定要发送消息的组里的Members栏位里选择一个用户,例如选择AdminZabbix用户。
在用户信息修改界面最下方的”Media"处点击"Add"按钮。
Type选择"mediatype- zabbix2014",Send to填入收件人地址,点击Add添加。
点击"Save"保存配置。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)