Zabbix触发器函数之count函数

时间:2021-10-22 11:02:38

一、背景

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