触发器名称:Processor load is too high on www.zabbix.com {www.zabbix.com:system.cpu.load[all,avg1].last(0)}>5 触发器说明: www.zabbix.com:host名称 system.cpu.load[all,avg1]:item值,一分内cpu平均负载值 last(0):最新值 >5:最新值大于5 如上所示,www.zabbix.com这个主机的监控项,最新的CPU负载值如果大于5,那么表达式会返回true,这样一来触发器状态就改变为“problem”了。
示例2
1 2 3
触发器名称:www.zabbix.com is overloaded {www.zabbix.com:system.cpu.load[all,avg1].last(0)}>5|{www.zabbix.com:system.cpu.load[all,avg1].min(10m)}>2 当前cpu负载大于5或者最近10分内的cpu负载大于2,那么表达式将会返回true.
示例3
1 2 3
触发器名称:/etc/passwd has been changed 使用函数 diff(): {www.zabbix.com:vfs.file.cksum[/etc/passwd].diff(0)}>0 /etc/passwd最新的checksum与上一次获取到的checksum不同,表达式将会返回true. 我们可以使用同样的方法监控系统重要的配置文件,例如/etc/passwd,/etc/inetd.conf等等。这些zabbix一般都会自带,没带的你自己加上吧。
示例4
1 2 3
触发器名称:Someone is downloading a large file from the Internet 使用函数 min: {www.zabbix.com:net.if.in[eth0,bytes].min(5m)}>100K 当前主机网卡eth0最后5分钟内接收到的流量超过100KB那么触发器表达式将会返回true
示例5
1 2 3
触发器名称:Both nodes of clustered SMTP server are down {smtp1.zabbix.com:net.tcp.service[smtp].last(0)}=0 & {smtp2.zabbix.com:net.tcp.service[smtp].last(0)}=0 当smtp1.zabbix.com和smtp2.zabbix.com两台主机上的SMTP服务器都离线,表达式将会返回true.
示例6
1 2 3
触发器名称:Zabbix agent needs to be upgraded 使用函数str(): {zabbix.zabbix.com:agent.version.str("beta8")}=1 如果当前zabbix agent版本包含beta8(假设当前版本为1.0beta8),这个表达式会返回true.
示例7
1 2 3
触发器名称:Server is unreachable {zabbix.zabbix.com:icmpping.count(30m,0)}>5 如上表达式表示最近30分钟zabbix.zabbix.com这个主机超过5次不可到达。
示例8
1 2 3
触发器名称:No heartbeats within last 3 minutes 使用函数 nodata(): {zabbix.zabbix.com:tick.nodata(3m)}=1 tick为Zabbix trapper类型,首先我们要定义一个类型为Zabbix trapper,key为tick的item。我们使用zabbix_sender定期发送数据给tick,如果在3分钟内还未收到zabbix_sender发送来的数据,那么表达式返回一个true,与此同时触发器的值变为“PROBLEM”。
示例9
1 2 3
触发器名称:CPU activity at night time 使用函数 time(): {zabbix:system.cpu.load[all,avg1].min(5m)}>2 & {zabbix:system.cpu.load[all,avg1].time(0)}>000000 & {zabbix:system.cpu.load[all,avg1].time(0)}<060000 只有在凌晨0点到6点整,最近5分钟内cpu负载大于2,表达式返回true,触发器的状态变更为“problem”
示例10
1 2 3
触发器名称:Check if client local time is in sync with Zabbix server time 使用函数 fuzzytime(): {MySQL_DB:system.localtime.fuzzytime(10)}=0 主机MySQL_DB当前服务器时间如果与zabbix server之间的时间相差10秒以上,表达式返回true,触发器状态改变为“problem”
示例11
1 2 3 4
触发器名称:Comparing average load today with average load of the same time yesterday (使用 time_shift 时间偏移量参数). {server:system.cpu.load.avg(1h)} / {server:system.cpu.load.avg(1h,1d)}>2 This expression will fire if the average load of the last hour tops the average load of the same hour yesterday more than two times. 最新一小时的平均负载峰值超过昨天同时段指标两次进行报警
触发器名称:Temperature in server room is too high ({TRIGGER.VALUE}=0&{server:temp.last(0)}>20) | ({TRIGGER.VALUE}=1&{server:temp.last(0)}<15) 注意:宏变量 {TRIGGER.VALUE}将会返回当前触发器的值
实例2
1 2 3 4 5 6 7
触发器名称:Free disk space is too low Problem: 最近5分钟内剩余磁盘空间小于10GB。 Recovery: 最近10分钟内磁盘空间大于40GB 简单说便是一旦剩余空间小于10G就触发异常,然后接下来剩余空间必须大于40G才能解除这个异常,就算你剩余空间达到了39G(不在报警条件里)。