FXMAR 发表于 2019-1-19 14:20:32

Zabbix 2.4 —— Trigger Founction

  Zabbix Trigger Fountcion
  Zabbix的Trigger Founction作为判断标准还是挺重要的,以下是照着Zabbix 2.4官方文档,对着翻译半翻译半猜的。反正只是作为个人的一个查询而已。
  注:其中还缺少一个band函数,看原文应该是“按位与”运算,个人感觉用的不多就没管。
  

  abschange:
  描述:
  返回最近获取的值与之前的值的差值的绝对值。对于字符串类型,0表示值相等,1表示值不同
  支持的数值类型:
  float,init,str,text,log
  例如:1/5=4       后值减前值
  

  avg(sec|#num,)
  描述:
  一段范围内取平均值
  参数:
  sec或#num:返回指定时间间隔的平均值。时间间隔可以通过第一个参数通过秒数或收集的值的数目(需要前面加上#,比如#5表示最近5次的值)
  time_shift:类似偏移量,查询之前的时间,单位为秒。
  支持值类型:float,int
  例:avg(#5) 最近5次取值的平均值
  avg(3600) 一个小时的平均值
  avg(3600,86400)一天前的一个小时内的平均值
  

  
  change:
        描述:
                 后值减前值得出的差,有+|-号
         支持值类型:
                 float,int,str,text,log,对于字符串类型,0表示值相等,1表示值不同
        例: 1/5=+4
                 3/1=-2
  

  count(set|#num,,,)
            描述:
                  返回指定时间间隔内的数值统计
           参数:
                 set | #num:同avg
                 pattern:匹配,对整型item使用精确匹配,对float item支持最大精度为0.0000001
                 operators:
                       eq,ne,gt,ge,lt,le,like(内容匹配),band(按位做与计算)
                       整型item支持所有操作,默认eq
                       fload item不支持band操作,默认eq
                       text 和 log item仅支持like,eq,ne,默认like
              time_shift:同avg
           支持值类型:
              fload,int,str,text,log
           例子:count(600)最近10分钟的值的个数
                    count(600,12)   最近10分钟,值等于12的个数
                    count(#10,12,“gt”)最近10个值中,值大于12的个数
                    count(600,12,"gt",86400)24小时之前的前10分钟数据中,值大于12的个数
                    count(600,,,86400)   24小时之前的前10分钟数据的值的个数
  

  date:
            描述:
                 返回以YYYYMMDD格式的挡墙日期
            支持所有值类型
            例:20150731
  

  dayofmonth:
            描述:
                 返回当前是本月第几天,取值为1-31
            支持所有值类型
  
  dayofweek:
            描述:
                  返回当前是本周第几天,取值为1-7
            支持所有值类型
  

  delta(sec|#num,)
            描述:
                 返回指定时间间隔内的最大值与最小值的差值(max()-min())
           
  diff:
            描述:
                    检查最近一次的值和之前的值是否有不同
            支持值类型:
                    float,int,str,text,log
           返回值:
                 1:最近的值和之前的值不同,返回1
                 0:其他情况,则返回0
                    
  fuzzytime(sec)
           描述:
                  判断item值与Zabbix server 的时间戳差值是否超过限定
           支持值类型:
                    float,int
           返回参数:
                 0:item与zabbix server的时间相差T秒,则返回0
                 1:其他则返回1
            注:通常与system.localtime来检查本地事件与服务器时间是否同步。也可以用vfs.file.time查看文件是否长时间未更新。
  

  regexp(pattern,)
            描述:
                 检查最近的值是否匹配正则表达式
           参数:
                 pattern:正则表达式为POSIX扩展样式
                 sec|#num:可见avg
           支持值类型:
                  str,log,text
              返回值:匹配时区分大小写
                  1 表示找到匹配项
                  0 表示其他
  

  iregexp(pattern,)
        描述:
               检查最近的值是否匹配正则表达式
        参数:不区分字符大小写
               可查看regexp
           支持值类型:
              str,log,text
  
  last(sec|#num,):
        描述:
                 最近的值
           支持值类型:
                  float,int,str,text,log
           例子:
                 last()等价于 last(#1)
                 last(#3) 表示最近的第三个值
                 last(0,86400)   返回一天前的最近的值
            注:last的num与其他的不同,#3表示的是最近第三个值而不是最近的三个值。且如果同一时间有多个值,zabbix将无法保证其准确性。
  

  logeventid(pattern):

            描述:
                  检查最近的日志条目的Event ID是否匹配正则表达式。
            参数:
                 pattern:正则表达式,POSIX扩展样式。
            支持值类型:
                 log
           返回值:
                 0:表示不匹配
                 1:表示匹配
  

  logseverity:
            描述:
                 最近日志的日志告警级别。
            支持值类型:
                 log
           返回值:
                 0:默认警告级别
                 N:告警级别(为整型,常用于Windows event logs,1 信息,2 警告,4 错误, 7 审核失败,8 审核成功,9 议论,10 冗长)。Zabbix日志等级来源于Windows event log的 Information列
  

  logsource(pattern)
            描述:
                 判断最近的日志条目与参数的日志来源是否一致
            支持值类型:
                 log
           返回值:通常用于Windows event logs
                 0:不匹配返回0
                 1:匹配返回1
              例如: logsource("VMWare Server")
  

  max(sec|#num,)
           描述:
  返回指定时间间隔内的最大值
  支持值类型:
  float,int
  
  min(sec|#num,)
           描述:
  返回指定时间间隔内的最小值
  支持值类型:
  float,int
  

  nodata(sec)
  描述:
  检查是否无数据返回
  参数:
  sec:以秒为单位的时间间隔
   注:但最小不能少于30s
  支持值类型:
  any
  返回值:
  1:如果一定范围内无数据,则返回1
  0:其他则为0
  注:第一个周期内,该函数可能会显示一个错误
  now:
  描述:
  返回从1970年1月1日至今过去的秒数
  prev:
  描述:
  返回之前的值
  支持值类型:
  float,int,str,text,log
  类似于last(#2)
  str(pattern,)
  描述:
  从最近的值进行字符串匹配
  支持值类型:
  str,text,log
  返回值:该函数区分字符大小写
  1:匹配到,返回1
  0:其他返回0
  strlen(sec|#num,)
  描述:
  计算最近的值的字符串长度(非字节)
  支持值类型:
  str,text,log
  参数:
  sec | #num:此处的 #num 和last类似,取最近的第num个值进行计算长度。
  例:strlen(0)等价与strlen(#1) 表示最后一个值
  strlen(#3)表示最近的第三个值
  sum(sec|#num,)   
  描述:
  计算指定时间间隔的值的和
  支持值类型:
  fload,int
  time:
  描述:
  以HHMMSS为格式返回当前时间,例如123055
  注:(1) 所有的返回值只能是数值型,不支持字符串返回值
  (2) 一些函数不能用于非数字参数
  (3) 字符串参数应该用双引号。否则,他们可能会报错
  




页: [1]
查看完整版本: Zabbix 2.4 —— Trigger Founction