一、背景
zabbix监控中我们用的最多的是count这个函数,通过确认多次可以减少很多误告警,提高了运维效率。
可以设置连续几次都异常才发出告警,这样一来,只要发出告警基本上就已经确定发生故障了
二、支持的操作类型
- eq: 相等
- ne: 不相等
- gt: 大于
- ge: 大于等于
- lt: 小于
- le: 小于等于
- like: 内容匹配
三、用法及举例
用法:
count
- 参数:秒或#num
- 支持类型:float,int,str,text,log
- 作用:返回指定时间间隔内数值的统计
举例:
- count(600)最近10分钟得到值的个数
- count(600,12)最近10分钟得到值的个数等于12
- count(600,12,"gt")最近10分钟得到值大于12的个数
- count(#10,12,"gt")最近10个值中,值大于12的个数
- count(600,12,"gt",86400)24小时之前的10分钟内值大于12的个数
- count(600,,,86400)24小时之前的10分钟数据值的个数
- 第一个参数:指定时间段
- 第二个参数:样本数据
- 第三个参数:操作参数
- 第四个参数:漂移参数
三、实际案例
实例1:
假设我现在得到的值1位真,0位假
- {linuxea.com:runing.count(2m,0)}>3
linuxea.com:runing是items
如果2分钟内拿到的值为0,大于3次则触发,我想你应该明白,你拿到的1的值肯定为真
这里你需要注意的是,如果使用count,这里的2分钟拿到0的值的次数如果大于3此就触发是建立在你itmes在两分钟内可以去探测至少3次以上。你可能需要修改itmes取值的实际,否则没有意义。
实例2:
最近30分钟zabbix这个主机超过5次不可到达。
- {zabbix:icmpping.count(30m,0)}>5
实例3:
pro-web2主机keepalived_process(监控项)在最近3次的值有大于等于2次值不为3则触发报警
{pre-web2:keepalived_process.count(#3,3,"ne")}>=2
实例4:
pro-web2主机keepalived_process(监控项)在90s内超过2次值不为3则触发报警
{pro-web2:keepalived_process.count(90,3,"ne")}>2
原文地址:https://www.cnblogs.com/forever521lee/p/10098034.html
-----------------------------------
zabbix触发器count函数简介
https://blog.51cto.com/u_13689359/2549666