触发器示例
1. 对主机www.zabbix.com负载值进行判断,
{www.zabbix.com:system.cpu.load[all,avg1].last(0)} >5
'{www.zabbix.com:system.cpu.load[all,avg1]'给出了参数名称,他指定服务器是www.zabbix.com,items是‘system.cpu.load[all,avg1]’,使用函数‘last()取最近一次获取到的值,'>'表示来自www.zabbix.com主机的最后负载值大于5时触发器进入problem状态
2.www.zabbix.com 负载判断,
{www.zabbix.com:system.cpu.load{all,avg1].last(0) } >5 | {www.zabbix.com:system.cpu.load{all,avg1].min(10m) } > 2
负载大于5或者最近10分钟的负载大于2 , 就会进入problem状态
3。 对文件/password 监控
使用 diff 函数
{www.zabbix.com:vfs.file.cksum[/etc/passwd].diff (0) } > 0
当文件/etc/passwd之前的checksum值与最近的值不同时,则会触发trigger进入problem状态
4. 对网卡流量进行条件判断
{www.zabbix.com:net.if.in{eth0,bytes].min(5m) } > 100k
当最近5分钟内eth0接收的字节数大于100kb,则会进入problem状态
5. 两个smtp服务器的集群节点都停止了
在一个表达式中使用两个不同的主机。语句如下
{smtp1.zabbix.com:net.tcp.service[smtp].last(0) } =0 & {smtp2.zabbix.com:net.tcp.service[smtp].last(0) } =0
当两个服务器都停止时,表达式为真,就会进入problem状态
6. zabbix客户端代理需要更新
使用函数str()
{zabbix.zabbix.com:agent.version.str("beta8")} =1
zabbix客户端代理有版本beta8时,为真
7.服务器不可达,
{zabbix.com:icmpping,count(30m,0)}>5
主机zabbix在最近30分钟内超过5次不可达,表示为真
8. 最近3分钟没有回应
使用函数 nodata()
{ zabbix.com:tick.nodata(3m)}=1
tick 必须使用类型 zabbix trapper 为了这个触发器能工作 tick必须定义
该主机应该使用zabbix-sender定期发送数据 如果180s都没有收到数据 就要进入problem状态了
9. CPU 在夜间的活动
{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
触发器只在晚上 零点---六点 为可用,当5分钟的负载大于2时,该出发的值变为problem
10. 检查客户端本地时间是否与zabbix-server服务器时间同步
使用函数 fuzzytime()
{mysql_db:system.localtime.fuzzytime(10)} =0
当mysql_db的本地时间与zabbix-server的时间相差超过10s时。进入problem状态