一、背景
zabbix监控中使用count函数,可以设置连续几次都异常才发出告警,确认多次以减少了很多误告警,提高了运维效率,这样一来,只要发出告警基本上就已经确定发生故障了。
二、用法及举例
用法:
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分钟数据值的个数
第一个参数:指定时间段
第二个参数:样本数据
第三个参数:操作参数
第四个参数:漂移参数
三、实际案例
最后得到的表达式:{192.168.1.15:block.eth.count(3,0,ne)}>=2
以上含义为:如果最近三次取到的值,有两次或两次以上的值不为0,那就触发报警
大小关系有以下几种:
eq: 相等
ne: 不相等
gt: 大于
ge: 大于等于
lt: 小于
le: 小于等于
like: 内容匹配
日常使用实例
上行流量最近两次都大于50M告警
{zabbix:net.if.out[em1].count(#2,50M,"gt")}=2
最近30分钟zabbix这个主机超过5次不可到达。
{zabbix:icmpping.count(30m,0)}>5