前言
Zabbix item(监控对象)常用类型有Zabbix agent
、 Zabbix agent(active)
、SNMP
、IPMI
、Calculated
。
其它类型的item基本很少用到,Zabbix 2.2.6所支持的Item如下:
Zabbix Agent类型
Zabbix Agent类型分为被动和主动(active)两种。
被动和主动是从zabbix-agent的角度来区分的。常用和默认的就是被动模式,Zabbix Server
或 Proxy
向 Zabbix Agent
请求所需的Item数据然后Zabbix Agent
将Item数据发回给Zabbix Server
或者Proxy
。
主动模式
就是Zabbix Agent周期性地主动将数据发送给Zabbix Server
,主动模式中,Agent
会周期性地从Server
获取需要发送的Items的列表Agent的配置文件中需要开启ServerActive项并指定端口,默认是10051端口
,然后根据列表中获取的Item项收集自身的数据,然后再发送给Zabbix Server
。配置文件中还有个相关的参数RefreshActiveChecks
定义了Agent每隔多长时间向Server请求一次(请求一次items列表信息),如果请求失败会在60秒后重试。 Agent主动监控中有一个非常有用的监控——日志监控(日志监控有两种类型的key,log和logtr)
(1)Zabbix Agent每秒向Server发送的日志量有一个行数的限制,由配置文件中Zabbix_agentd.conf中的MaxLinesPerSecond决定,默认100行。
(2)发送的日志量最多只能是Agent设置的BufferSize
参数的50%,就算只有日志监控类型也只是只有50%。同时,由于有MaxLinesPerSecond
限制,有日志监控时故需要将Zabbix_agentd.conf中的BufferSize设置成MaxLinesPerSecond的两倍。
(3)当Agent没有Log类型的监控任务时,所有的BufferSize都会为其它类型的Item服务。这时若新建Log监控那么50%的BufferSize中最老的数据清空给日志文件的Item使用。
SNMP类型
SNMP是监控服务器以外设备非常好的方式,可以监控打印机、交换机、路由器等具有SNMP功能的设备,Zabbix都可以监控(生产环境下主要用来监控网络设备)。设置SNMP Item
类型的监控在
自动化运维监控篇(4)_Zabbix SNMP设备监控
有详细的介绍,关键是获取监控项的OID。
IPMI类型
编译Server时需要加上--with-openipmi
使Zabbix-server可以监控带IPMI的设备。
IPMI(Intelligent Platform Management Interface)即智能平台管理接口是使硬件管理具备“智能化”的新一代通用接口标准。用户可以利用 IPMI 监视服务器的物理特征,如温度、电压、电扇工作状态、电源供应以及机箱入侵等。IPMI 最大的优势在于它是独立于 CPU BIOS 和 OS 的,所以用户无论在开机还是关机的状态下,只要接通电源就可以实现对服务器的监控。Zabbix Server配置文件中需要将 StartIPMIPollers
改成非0的数字。
计算型
计算型的Item,数据源是其他Item获取数据的数据。计算型的Item数据通过计算其它的Item的监控值来获取数据,比如计算多网卡服务器网络的流出速率、多块硬盘的容量总和等。在新建Item时,将type选择为Calculated
。
Zabbix支持的计算表达式如下:func(|,,,... ...)
其中,func是last、min、max、avg、count等Zabbix在Trigger中支持的函数。key或hostname:key是引用的其他Item值。最好在key的外面加上双引号,这样能防止Zabbix解析错误(双引号中还要使用双引号的话,可以加上”\”来转义。)。parameter就是func需要的一些参数。表达式实例:
计算两个网卡速率的和
1 | last("net.if.in[eth0,bytes]",0)+last("net.if.out[eth0,bytes]",0) |
计算磁盘空余空间百分比
1 | 100*last("vfs.fs.size[/,free]",0)/last("vfs.fs.size[/,total]",0) |
常用的监控对象的类型大概为这几项,其它监控项的详细说明或使用方法可以查阅网上的其它资料或官方文档。