zabbix触发器表达式

1、格式:

  {<server>:<key>.<function>(<parameter>)}<operator><constant>

  {主机:key.函数(参数)} + 表达式运算符 + 常数

  例如:{sms_status:SMSMTupdate.status.last()}<>0

2、触发器函数function:

  触发器function函数可以引用检索到的值,当前时间或其他元素。

3、函数参数

  大多数数字型的函数接受秒数来作为参数。

  你可以使用前缀#来指定参数具有不同的含义:

  函数内容 含义
  sum(600) 600秒内所有值的总和
  sum(#5) 最后5个值得总和
  last函数使用不同的参数将会得到不同的值,#2表示倒数第二新的数据。例入从老到最新值为1,2,3,4,5,6,7,8,9,10,last(#2)得到的值为9,  last(#9)得到的值为2。
  avg,count,last,min和max函数还支持额外的第二个参数,以秒为单位的参数time_shift(时间偏移量),这个参数允许从过去一段时间内引用数据。例如avg(1h,1d),将会获取到昨天的1小时内的平均数据。

注意:

  触发器需要使用 history 历史数据来计算。如果历史数据不可用(特别是关于 time_shift时间偏移量),则无法使用趋势信息,因此必须至少保持触发器函数所预期这段时间的历史信息。

  你可以在触发器表达式中使用支持的单位符号。例如 "5m" (分钟)可以被 "300" 秒 代替,“1d”(天)可以被"86400" 秒代替。"1k" 代表 "1024" bytes。

2.3 运算符

  触发器支持的运算符(在执行中优先级递减)

优先级   运算符      定义 

 1      not     逻辑非

 2      *        乘
        /      相除
 3      +       相加
       -       相减
 4      <      小于。该运算符定义:
             A<B <=> (A<=B-0.000001)
         <=       小于等于
         >       大于。该运算符定义:
             A>B <=> (A>=B+0.000001)
          >=      大于等于
 5       =      相等。该算符定义:
             A=B <=> (A>B-0.000001) and (A<B+0.000001)

         <>       不等于

 6      and     逻辑与

 7      or      逻辑或

not,and 和 or 运算符区分大小写,而且必须为小写。

not举例:

  如果3306端口侦听值小于等于0,则触发报警:数据库服务挂了

and 举例:

  如果3306端口和8080端口侦听值都等于0,则触发报警:数据库和jenkins服务都挂了

or 举例:

  如果3306端口侦听值和8080端口侦听值至少有一个等于0,就触发报警:数据库和jenkins有服务挂了

 

实例

3.1 count 函数

参数:秒或#num
  支持类型:float,int,str,text,log
  作用:返回指定时间间隔内数值的统计,

举例:
  count(600) 最近10分钟得到的值的个数
  count(600,12,eq) 最近10分钟得到的值等于12的个数
  count(10m,12,ne) 最近10分钟得到的值不等于12的个数
  count(600,12,gt) 最近10分钟得到的值大于12的个数
  count(#10,12,gt) 最近10个值中,值大于12的个数
  count(600,12,gt,86400) 24小时之前的10分钟内值大于12的个数
  count(10m,,,86400) 24小时之前的10分钟数据值的个数

  第一个参数:指定时间段
  第二个参数:样本数据
  第三个参数:操作参数
  第四个参数:漂移参数

  count函数中支持的操作类型:
  eg: 相等
  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

 

 

 


参考:https://blog.csdn.net/wudinaniya/java/article/details/97238995

posted @ 2020-05-31 15:42  zk01  阅读(381)  评论(0编辑  收藏  举报