zabbix触发器详解
Trigger函数
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