count
定义的一段时间内值的数量。字段:(sec|#num,,,<time_shift>)
sec,num
1.sec,num(秒,#值)-->(sec|#num,评估期间以秒为单位或以最新收集的值(按#号开头)2, :(可选) - 需要的图案(整数项目 - 精确匹配;浮法项目 - 内0.000001匹配)3,operator (optional)可选的
2.支持的选项(区分大小写)
- eq 等于
- ne不等于
- gt 更大
- ge 大于或等于
- lt 少 勒 - 小于或等于
- le 小于或EQUA默认eq (default), ne, gt, ge, lt, le 都支持整数和浮点数,eq,ne字符串,文本和日志项正则表达式的支持整数项目 EQ(默认),NE,GT,GE,LT,LE正则表达式EQ,NE,正则表达式,iregexp支持字符串,文本和日志项regexp :区分大小写的正则表达式iregexp:不区分大小写的正则表达式
3.支持的值类型:
浮动,INT,STR,文本,日志
4.示例:
这里可以为秒有可以为m(分钟)count(10m) 最后10分钟值的数量count(600) 最后10分钟值的数数COUNT(600,12) 最后十分钟拿到的值等于12count(10m,12) 最后十分钟拿到的值等于12count(600,12,“gt”) 最后十分钟拿到的值大于12count(#10,12,"gt") 最近10个值中,值大于12的个数count(600,12,"gt",86400) 24小时之前的10分钟内值大于12的个数count(600,6/7,"band")-thenumberofvaluesforlast10minuteshaving'110'(inbinary)inthe3leastsignificantbits.count(600,,,86400)24小时之前的10分钟数据值的个数
5.实例
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,icmpping
{www.linuxea.com:icmpping.count(5m,0)}>2
ping通就是1,ping不同就是0这里使用的是icmpping,这里的时间是最近5分钟,我们假设30秒ping一次,5分之可以ping 10次,我们假设如果在最近5分钟内有2次ping不同就触发
3,gt
{www.linuxea.com:redis[,avg1].count(10m,10,"gt")}>2
最近十分钟内的平均值大于10的次数超过2次则触发{www.linuxea.com:redis.count(#10,5,"gt",86400)}>2
24小时之前最近10个值中值大于5的个数大于两次则触发