Zabbix触发器Trigger的作用是对收集的Item(监控项)数据做进一步判断,然后产生一个状态值,该状态值只有两个不同的取值OK
或Problem
(该状态值可以作为Action的输入,Action根据不同的状态组合条件作出不同的动作如发送报警邮件、重启服务等)。一个Trigger可以对应一个Item,当然了一个Trigger也可能对应了多个Item,配置Trigger的关键就是写好Trigger expression
。
1、Trigger基本的表示式是这样的
1 | {<server>:<key>.<function>(<parameter>)}<operator><constant> |
举个例子可能更清晰,监控系统文件/etc/passwd是否发生变化的Trigger
1 | {Zabbix-Server:vfs.file.cksum[/etc/passwd].diff(0)}>0 |
我想这样看就可以很容易理解Trigger的基本表达式了。
2、Function详解
对于大多数的function来说,它接受的数字单位是秒
,如果数字前面有#
,则表示的是次数。
比如sum(600)表示的是过去600秒的数据总和,而sum(#5)表示的是最近5次数据的和。
凡是都有例外#
在last函数
的特许含义,它后面的数字表示的是第几个
数据的意思。对于不需要parameter的function,也要加上parameter,一般置0不能省略如diff(0)。
Expression中的Function总共有这些
1 | [float|int|str|text|log].abschange() 表示前两次的值的绝对值是否相同。0表示相同,1表示不同。 |
3、operator zabbix支持的operator,优先级依次递减如下:
1 | / * - + < > # = & | |