Trigger函数  

http://www.ttlsa.com/monitor/zabbix/  

1、abschange

      参数:直接忽略后边的参数

      支持值类型:float、int、str、text、log

      描述:返回最近获取到的值与之前值的差值的绝对值。对于字符串类型,0表示值相等,1表示值不同

      例如:{www.zabbix.com:vfs.fs.zise[/,free].abschange(10m)}<10,表示在www.zabbix.com设备中,Key值vfs.fs.size[/,free]最近一次获取到的值和在前10分钟的差值为10,其结果可能是最近一次的值比之前大,也有可能比之前的值小,即从-10到0,再从0到10之间的一个范围,可以叫做抖动值或者误差范围。


 

2、avg

      参数:秒或#num

      支持值类型:float和int

      描述:返回指定时间间隔的平均值。时间间隔可以通过第一个参数秒数设置或收集值的数目(需要在前边加上#,比如#5代表最近5次的值)。如果有第二个,则表示时间漂移(time shift),例如,查询一天之前的前一个小时的平均值,对应的函数是avg(1h,1d)

      例如:{www.zabbix.com:vfs.fs.size[/,free].avg(#5,10m)}<50G,表示在Server设备中,Key值vfs.fs.size[/,free]最近10分钟内,最近的5次取值的平均值小于50G。请注意,10分钟内如果取值更新间隔时间为1分钟,则#5代表6、7、8、9、10分钟的数值,如果取值时间更新间隔为2分钟,则#5代表2、4、6、8、10分钟的数值


 

3、change

      参数:直接忽略掉后边的参数

      支持值类型:float、int、str、text、log

      描述:返回最近获取到的值与之前值的差值(注意、与abschange函数不同,不是绝对值)。对于字符串类型,0表示值相等,1表示值不同

      例如:{www.zabbix.com:vfs.fs.size[/,free].change(5m)}<0,代表最近一次的值比前5分钟获取的值要小


 

4、count

       参数:秒或#num

       支持值类型:float、int、str、text、log

       描述:返回指定时间间隔内的数值统计。时间间隔可以通过第一个参数设置为时间或收集值的数目(需要在值前边加上#)。本函数可以支持第二个参数作为样本(pattern)数据,第三个参数作为操作(operator)参数,第四个参数作为时间漂移(time shift)参数。对于样本,监控项的值为整数(iteger)时使用精确匹配,监控项的值为浮点型   (float)时允许偏差0.0000001。

       支持的操作(operator)类型如下

       eq:相等       ne:不相等     gt:大于     lt:小于     ge:大于或等于      le:小于或等于      like:内容匹配

       对于整数和浮点型的监控项目,支持eq(default),ne、gt、ge、lt、le

       对于string、text、log监控项,支持like(default)、eq、ne

       示例:

               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分钟值的个数


 

5、date

      参数:直接忽略后边的参数

      支持值类型:所有any

      描述:返回当前日期,(格式为YYYYMMDD),例如,20150101


 

6、dayofmonth

      参数:直接忽略后边的参数

      支持值类型:所有any

      描述:返回当前是本月第几天(数值范围为1-31)


 

7、dayofweek

      参数:直接忽略后边的参数

      支持值类型:所有any

      描述:返回当前的本周的第几天(数值范围为1-7)

      

8、dalta

       参数:秒或#num

       支持值类型:float或int

       描述:返回指定时间间隔内的最大值与最小值的差值(max()-min())。时间间隔作为第一个参数,可以是秒或者收集值的数目

       例如:{www.zabbix.com:net.if.in[eth0].delta(10m)}>10M,表示设备www.zabbix.com的接口eth0在最近10分钟内,最大值和最小值之间的差大于10MB,即认为故障发生


 

9、diff

      参数:忽略

      支持值类型:float、int、text、log、string

      描述:返回值为1,表示最近的值与之前的值不同,0为其他情况

      例如:{www.zabbix.com:agent.version.diff(0)}>0,表示设备www.zabbix.com的agent.version在最近一次的值和之前的值不同


 

10、fuzzytime

      参数:秒

      支持值类型:float、int

      描述:返回值为1,表示监控项值的时间戳比www.zabbix.com的时间多N秒,0为其他情况。常使用system.localtime来检查本地时间是否与www.zabbix.com的时间相同


 

11、iregexp

      参数:第一个为字符串、第二个为秒或#num

      支持值类型:str、log、text

      描述:与regexp类似,区别是不区分大小写

     

12、last

      参数:秒或#num

      支持值类型:float、int、str、text、log

      描述:最近的值,如果为秒,则忽略,#num表示最近第N个值。注意,当前的#num和其他一些函数的#num的意思是不同的

                  last(0) 等价与 last(#1)

                  last(#3)表示最近获取的监控项值的第三个值(并不是最近的三个值),如果获取到的值分别是A、B、C三个值,从时间顺序来看,A为第一个值,B为第二个值,#3就代                   表第三个值C

                  本函数也支持第二个参数time_shift,例如:last(0,86400)返回一天前的最紧值。如果在history中,同一秒有多个值存在,zabbix不保证值的精确顺序

     例如: {www.zabbix.com:mysql.ping.last(#3,5m)}=0,表示设备www.zabbix.com的MySQL最近5分钟内第3次取值结果为0,即认为故障发生,注意#3的用法和其他函数不同        

13、logeventid

      参数:string

      支持值类型:log

      描述:检查最近的日志条目的EventId是否匹配正则表达式。参数为正则表达式、POSIX扩展样式。当返回值为0时,表示不匹配,1表示匹配。


 

14、logseverity

      参数:忽略

      支持值类型:log

      描述:返回最近日志条目的日志等级(log severity)。当返回值为0时,表示默认等级,N为具体对应的等级(整数,常用于Windows event logs)


 

15、logsource

      参数:string

      支持值类型:log

      描述:检查最近的日志条目是否匹配参数的日志来源。当返回值为0时,表示不匹配,1表示匹配。通常用于Windows event logs监控


 

16、max

      参数:秒或#num

      支持值类型:float或int

      描述:返回指定时间间隔的最大值。时间间隔作为第一个参数,可以是秒或收集值的数目(前缀为#),从Zabbix 1.8.2开始,函数支持第二个可选参数time_shift。

      例如:{www.zabbix.com:net.tcp.service[ftp].max(#3)}=0,表示设备www.zabbix.com中的key为net.tcp.service[ftp] 在最近三次获取到的值最大数值都为0,则视为故障


 

17、min

      参数:秒或#num

      支持值类型:float和int

      描述:返回指定时间间隔的最小值。时间间隔作为第一个参数,可以是秒或收集值的数目(前缀为#)。函数支持第二个可选参数time_shift

      例如:{www.zabbix.com:icmppingloss.min(5m)}>20,表示www.zabbix.com设备在5分钟内用icmppingloss获取到的最小值大于20,即故障发生

    

18、nodata

      参数:秒

      支持值类型:any

      描述:当返回值为1时,表示指定的间隔(间隔不应小于30s)没有接收到数据,0表示其他情况

      例如:{www.zabbix.com:agent.ping.nodata(5m)}=1,表示设备www.zabbix.com的agent.ping在最近5分钟内没有接收到数据,及故障发生


 

19、now

      参数:忽略

      支持值类型:any

      描述:返回距离Epoch(1970年1月1日 00:00:00 UTC)时间的秒数


 

20、prev

      参数:忽略

      支持值类型:float、int、str、log、text

      描述:返回之前的值,类似于last(#2)


 

21、regexp

      参数:第一个参数为string、第二个参数为秒或#num

      支持值类型:str、log、text

      描述:检查最近的值是否匹配正则表达式,参数的正则表达式为POSIX扩展样式,第二个参数为秒数或收集值的数目,将会处理多个值。本函数区分大小写,当返回值为1时,表示找到,0为其他情况


 

22、str

      参数:第一个参数为string、第二个参数为秒或#num

      支持值类型:str、log、text

      描述:查找最近值中的字符串。第一个参数指定查找的字符串,大小写敏感。第二个可选的参数指定秒数或收集值的数目,将会处理多个值。当返回值为1时,表示找到,0为其他情况

      例如:{www.zabbix.com:jmx["Catalina:type=ProtocolHandler,port=8080",comprssin].str(off)}=1,表示设备www.zabbix.com从key中获取到了字符串off


 

23、strlen

      参数:秒或#num

      支持值类型:str、log、text

      描述:指定最近值的字符串长度(并非字节),参数值类似于last函数。例如,strlen(0)等价于strlen(#1),strlen(#3)表示最近的第三个值,strlen(0,86400)表示一天前最近的值。


 

24、sum

      参数:秒或#num

      支持值类型:float或int

      描述:返回指定时间间隔中收集到的值的总和。时间间隔作为第一个参数,支持秒或收集值的数目(以#开始)。本函数支持time_shift作为第二个参数。


 

25、time

      参数:忽略

      支持值类型:any

      描述:返回当前时间,格式为HHMMSS