iutyhrg 发表于 2016-5-31 09:20:49

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,<time_shift>)
      描述:
                一段范围内取平均值
      参数:
                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,<pattern>,<operator>,<time_shift>)
          描述:
                返回指定时间间隔内的数值统计
         参数:
               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,<time_shift>)
          描述:
               返回指定时间间隔内的最大值与最小值的差值(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,<sec|#num>)
          描述:
               检查最近的值是否匹配正则表达式
         参数:
               pattern:正则表达式为POSIX扩展样式
               sec|#num:可见avg
         支持值类型:
                str,log,text
            返回值:匹配时区分大小写
                1 表示找到匹配项
                0 表示其他


iregexp(pattern,<sec|#num>)
      描述:
             检查最近的值是否匹配正则表达式
      参数:不区分字符大小写
             可查看regexp
         支持值类型:
            str,log,text

last(sec|#num,<time_shift>):
      描述:
               最近的值
         支持值类型:
                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,<time_shift>)
         描述:
               返回指定时间间隔内的最大值
         支持值类型:
               float,int

min(sec|#num,<time_shift>)
         描述:
               返回指定时间间隔内的最小值
         支持值类型:
               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,<sec|#num>)
         描述:
             从最近的值进行字符串匹配
          支持值类型:
             str,text,log
          返回值:该函数区分字符大小写
             1:匹配到,返回1
             0:其他返回0
strlen(sec|#num,<time_shift>)
         描述:
             计算最近的值的字符串长度(非字节)
          支持值类型:
             str,text,log
          参数:
            sec | #num:此处的 #num 和last类似,取最近的第num个值进行计算长度。
               例:strlen(0)等价与strlen(#1) 表示最后一个值
                      strlen(#3)表示最近的第三个值
sum(sec|#num,<time_shift>)            
         描述:
               计算指定时间间隔的值的和
         支持值类型:
                fload,int
time:
      描述:
             以HHMMSS为格式返回当前时间,例如123055
      注:(1) 所有的返回值只能是数值型,不支持字符串返回值
               (2) 一些函数不能用于非数字参数
               (3) 字符串参数应该用双引号。否则,他们可能会报错


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