一、背景
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