1.host groups:主机组,按生产需求将功能类别相近或相同的主机进行分组,便于管理。html
2.host:主机网络
3.application:应用集,按需求将功能相近的监控项分类管理。架构
4.item:监控项,最终要的一项配置,监控的数据来源。app
5.trigger:触发器,当定义将空项的阈值。当触发器触发后会产生事件(events)并被记录。函数
6.action:当监控项知足设定的触发条件时,定义Zabbix接下来的动做。在action中包括两类动做(conditions,operations),能够定义告警信道,如选择邮件或短信。oop
7.graph:图形,将采集的数据以图形的形式直观的表现出来。spa
在上一篇Zabbix博客中咱们已经成功搭建了一个简单的Zabbix监控架构,并添加了一台名为n1的agent主机,下面来演示如何添加监控项。3d
net.if.out[]为Zabbix内建的key,意思是指定网络接口接收的某项数据,具体可自定义。中括号内能够根据须要设置参数。net.if.out[]内可填入网卡名称和该网卡中的各指标。code
在n1中输入ifconfig命令:server
~]# ifconfig ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.11.136 netmask 255.255.255.0 broadcast 192.168.11.255 inet6 fe80::f591:67e7:4396:df5c prefixlen 64 scopeid 0x20<link> ether 00:0c:29:26:47:40 txqueuelen 1000 (Ethernet) RX packets 1320 bytes 88400 (86.3 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 249 bytes 23784 (23.2 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10<host> loop txqueuelen 1 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
※标颜色的项即是可填入的参数。以被动监控为例,监控项key的实质就是Zabbix-server端向Zabbix-agent端发送监控请求,Agent获取结果后再返回给Server端。能够将key理解为包含特定指令的函数。功能与zabbix_get命令相似,在Zabbix-server端输入如下命令也能获得想要的值。
~]# zabbix_get -s 192.168.11.136 -p 10050 -k "net.if.out[ens33,bytes]" 2622655
触发器一般用来定义数据的不合理区间,在Zabbix3.0中,知足条件时状态为PROBLEM,反之状态为OK。
上面例子中每秒上传字节数设置为25,由于过小了看不出效果,我这里改为了350{test:net.if.out[ens33,bytes].last(#1)}>350
如上图,配置完成后就能很直观的看到每秒上传的字节数了,包括最大值、最小值、平均值等,还有触发器阈值。下面在n1主机上发送ping包,增长主机的上传字节数,观察效果。
~]# ping www.baidu.com
配置图形是为了直观的观测被监控数据的变化状况,在本示例中的作默认配置。
Action有两个重要的配置项:条件(conditions)和操做(operations)
在条件(conditions)中定义触发器触发action的条件。默认是在系统处在非维护且触发器值为PROBLEM时激活Action。
在操做(operations)选项中用来定义当Action被激活后Zabbix实施的操做。操做类型有种:远程命令和发送消息,远程命令是指自动在Agent端运行指令或脚本,使系统先自动修复。发送消息是指使用某一通讯信道将PROBLEM消息通知给指定用户。在设置时间内修复不成功后进行下一步骤的操做,并持续步进操做等级。