zabbix item
- net.tcp.listen[port]
检测端口是否开启:
0 – 未监听
1 – 监听中
zabbix tigger
zabbix避免瞬时触发频繁报警
1
2
3
4
5
6
7{HOST:ITEM.count(600,100,"ge")}>3 and {HOST:ITEM.last(0)}>100
说明: 在600秒内大于100 3次 且 当前大于100,就会触发报警
count(时间,监控值,判断参数,延时时间)>次数
and 逻辑与
判断参数:{eq:相等 ne:不相等 gt:大于 ge:大于等于 lt:小于 le:小于等于 like:内容匹配}Tigger last()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18{HOST:system.cpu.load[all,avg1].last(0)}>5
解释: 如果cpu.load最新值大于5则触发报警
{HOST:system.cpu.load[all,avg1].last(1)}>5
解释: 如果cpu.load最近1秒值大于5则触发报警
{HOST:cpu.load[cpu.avg1].last(#2)}>3
解释: cpu.load上上一个值负载大于3则触发
{HOST:cpu.load[cpu.avg1].last(,1d)}>3
解释: 此时cpu.load负载 大于 昨日此时cpu.load负载 3则触发
即: {此时cpu.load负载} - {昨日此时cpu.load负载} > 3
{HOST:system.cpu.load[all,avg1].last(0)}>5 | {HOST:system.cpu.load[all,avg1].min(10m)}>2
解释: 如果cpu.load大于5或者最后十分钟内cpu.load最小值大于2则触发报警
{HOST:zabbix.ping.last(#5,3m)}=0
解释: 如果最近3分钟内第5次取值结果为0,则触发报警Tigger max()
1
2
3
4
5
6
7
8{HOST:system.cpu.load.max(30m)}>5
解释: 30分钟内cpu负载最大值如果大于5则触发
{HOST:system.cpu.load.max(#5)}>10
解释: cup的最近5个返回值里面,如果最大值超过10,则触发
{HOST:vfs.fs.size[/,free].max(5m)}<1G
解释: 最近5分钟内剩余磁盘空间小于1G则触发Tigger min()
1
2
3
4
5
6
7
8
9
10
11
12
13{HOST:if.in[eth0,bytes].min(5m)}>20M
解释: eth0的input网卡在5分钟内获取的最小值持续超过20M则触发
{HOST:system.cpu.load[all,avg1].last(0)}>5 | {{HOST:system.cpu.load[all,avg1].min(10m)}>2
解释: 最新的load值如果超过5 或 在10分钟内最小load值一直持续超过2则触发
{HOST:system.cpu.load[all,avg1].min(5m)}>10 & \
{HOST:system.cpu.load[all,avg1].time(0)}>000000 & \
{HOST:system.cpu.load[all,avg1].time(0)}<060000
解释: 在晚上0-6点这段时间内如果主机在5分钟内获取load的最小值一直持续大于10则报警
{HOST.cpu.load.min(#30)}>7
解释: cpu负载最近三十个返回值最小值大于7则触发Tigger nodata()
1
2
3
4
5{HOST.tick.nodata(5m)}=1
解释: 如果5分钟内部等于1(没有收到数据)则触发
{HOST.agent.ping.nodata(5m)}=1
解释: agent.ping在最近5分钟内都没有接收到数据,则触发Tigger count()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22这里可以为s(秒),也可以为m(分钟):
* count(10m) 最后10分钟值的数量
* count(600) 最后10分钟值的数量
* count(600,12) 最后十分钟拿到的值等于12
* count(10m,12) 最后十分钟拿到的值等于12
* count(600,12,"gt") 最后十分钟拿到的值大于12
* count(#10,12,"gt") 最近10个值中,值大于12的个数
* count(600,12,"gt",86400) 24小时之前的10分钟内值大于12的个数
* count(600,,,86400) 24小时之前的10分钟数据值的个数
例如:
{HOST:ITEM.count(2m,0)}>3
解释: 如果2分钟内拿到的值为0,且大于3次则触发报警
{HOST:icmpping.count(5m,0)}>2
解释: 最近分5钟内有2次ping不通就触发报警(假设30秒ping一次,5分之可以ping 10次)
{HOST:redis[,avg1].count(10m,10,"gt")}>2
解释: 最近10分钟内的平均值大于10的次数超过2次则触发报警
{HOST:redis.count(#10,5,"gt",86400)}>2
解释: 24小时之前,最近10个值中,值大于5的个数,大于2次则触发报警tigger delta()
1
2
3
4#定义的评价期间内的最大和最小值之间的差异(max()-min())
{HOST:net.if.in[eth1].delta(300)}>100M
解释: eth1流量在300秒内,最大值和最小值之间差如果大于100M,则触发