创建触发器
点击Configuration(配置) → Hosts(主机)
点击hosts(主机)相关行的trigger
点击右上角的创建触发器(create trigger)
- name : 触发器名字。
- expression : 表达式,评估某监控对象的某特定item内所接收到的数据是否在合理范围内。
- expression constructor : 表达式构造器,用于同时配置多个表达式,点击此项即可定义多个表达式间的逻辑关系。
- Severity : 灾难级别,严重程度从低到高依次为:Notclassified(未分类)、Informantion(信息)、Warning(警告)、Average(一般严重)、 High(严重)、Disaster(灾难)。
- Multiple PROBELM events generation : 如果打钩,即触发器如果为PROBLEM状态,会重复生成对应问题事件。
- Dependencies : 定义触发器间的依赖关系。假设我们有2台机子,zabbix agent 以及 zabbix server,zabbix server用于监控agent端。如果server端挂了,agent如果没有设置依赖关系,同样也会生成报警。但是agent真的出了问题吗?没有。但是当我们设置了依赖关系后,Server端如果挂了,agent端并不会因为server出现问题而产生报警。
Trigger表达式
操作符
优先级 | 操作 | 定义 |
1 | / | 除 |
2 | * | 乘 |
3 | - | 减 |
4 | + | 加 |
5 | < | 小于 |
6 | > | 大于 |
7 | <> | 不等于 |
8 | = | 等于 |
9 | & | 逻辑与 |
10 | | | 逻辑或 |
大多数数值functions可以使用秒来作为参数。你可以使用前缀“#”来表示它有不同的含义。
1.abschange
参数:忽略
支持类型:float,int,str,text,log
作用:返回最近获得的值与之前获得值差的绝对值,对于字符串类型:0表示相等,1表示不同
2.avg
参数:秒或#num
支持类型:float,int
作用:返回一段时间的平均值
avg(5):最后5秒的平均值
avg(#5):表示最近5次得到值的平均值
avg(3600,86400):表示一天前的一个小时的平均值
如果仅有一个参数,表示指定时间的平均值,从现在开始算起,如果有第二个参数,表示漂移,从第二个参数前开始算时间,
#n表示最近n次的值
3.change
参数:忽略
支持类型:float,int,str,text,log
作用:返回最近获得值与之前获得值的差值,对于字符串0表示相等,1表示不同
change(0)>n:忽略参数一般输入0,表示最近得到的值与上一个值的差值大于n
4.count
参数:秒或#num
支持类型:float,int,str,text,log
作用:返回指定时间间隔内数值的统计,
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,6/7,"band")-thenumberofvaluesforlast10minuteshaving'110'(inbinary)inthe3leastsignificantbits.
count(600,,,86400)24小时之前的10分钟数据值的个数
第一个参数:指定时间段
第二个参数:样本数据
第三个参数:操作参数
第四个参数:漂移参数
#支持的操作类型
eq: 相等
ne: 不相等
gt: 大于
ge: 大于等于
lt: 小于
le: 小于等于
like: 内容匹配
5.date
参数:忽略
支持类型:any
作用:返回当前的时间,格式YYYYMMDD
6.dayofmonth
返回当前是本月的第几天
7.dayofweek
返回当前是本周的第几天
8.delta
参数:秒或#num
支持类型:float,int
作用:返回时间间隔内的最大值与最小值的差值
9.diff
参数:忽略
支持值类型:float,int,str,text,log
作用:返回值为1表示最近的值与之前的值不同,0为其他情况
10.fuzzytime
参数:秒
支持值类型:float,int
作用:返回值为1表示监控项值的时间戳与ZabbixServer的时间多N秒,0为其他.常使用system.localtime来检查本地时间是否与Zabbixserver时间相同。
11.last
参数:秒或#num
支持值类型:float,int,str,text,log
作用:最近的值,如果为秒,则忽略,#num表示最近第N个值,请注意当前的#num和其他一些函数的#num的意思是不同的
last(0)等价于last(#1)last(#3)表示最近**第**3个值(并不是最近的三个值)
本函数也支持第二个参数**time_shift**,例如
last(0,86400)返回一天前的最近的值
如果在history中同一秒中有多个值存在,Zabbix不保证值的精确顺序
#num从Zabbix1.6.2起开始支持,timeshift从1.8.2其开始支持,可以查询avg()函数获取它的使用方法
12.logeventid
参数:string
支持值类型:log
描述:检查最近的日志条目的EventID是否匹配正则表达式.参数为正则表达式,POSIX扩展样式.当返回值为0时表示不匹配,1表示匹配。该函数从Zabbix1.8.5起开始支持。
13.logseverity
参数:忽略
支持值类型:log
描述:返回最近日志条目的日志等级(logseverity).当返回值为0时表示默认等级,N为具体对应等级(整数,常用于Windowseventlogs).Zabbix日志等级来源于Windowseventlog的Information列。
14.logsource
参数:string
支持值类型:log
描述:检查最近的日志条目是否匹配参数的日志来源.当返回值为0时表示不匹配,1表示匹配。通场用于Windowseventlogs监控.例如logsource["VMWareServer"]
15.max
参数:秒或#num
支持值类型:float,int
描述:返回指定时间间隔的最大值.时间间隔作为第一个参数可以是秒或收集值的数目(前缀为#).从Zabbix1.8.2开始,函数支持第二个可选参数time_shift,可以查看avg()函数获取它的使用方法。
16.min
参数:秒或#num
支持值类型:float,int
描述:返回指定时间间隔的最小值.时间间隔作为第一个参数可以是秒或收集值的数目(前缀为#).从Zabbix1.8.2开始,函数支持第二个可选参数time_shift,可以查看avg()函数获取它的使用方法。
17.nodata
参数:秒
支持值类型:any
描述:当返回值为1表示指定的间隔(间隔不应小于30秒)没有接收到数据,0表示其他。
18.now
参数:忽略
支持值类型:any
描述:返回距离Epoch(1970年1月1日00:00:00UTC)时间的秒数。
19.prev
参数:忽略
支持值类型:float,int,str,text,log
描述:返回之前的值,类似于last(#2)
20.regexp
参数:第一个参数为string,第二个参数为秒或#num
支持值类型:str,log,text
描述:检查最近的值是否匹配正则表达式,参数的正则表达式为POSIX扩展样式,第二个参数为秒数或收集值的数目,将会处理多个值.本函数区分大小写。当返回值为1时表示找到,0为其他。
21.str
参数:第一个参数为string,第二个参数为秒或#num
支持值类型:str,log,text
描述:查找最近值中的字符串。第一个参数指定查找的字符串,大小写敏感。第二个可选的参数指定秒数或收集值的数目,将会处理多个值。当返回值为1时表示找到,0为其他。
22.strlen
参数:秒或#num
支持值类型:str,log,text
描述:指定最近值的字符串长度(并非字节),参数值类似于last函数.例如strlen(0)等价于strlen(#1),strlen(#3)表示最近的第三个值,strlen(0,86400)表示一天前的最近的值.该函数从Zabbix1.8.4起开始支持。
23.sum
参数:秒或#num
支持值类型:float,int
描述:返回指定时间间隔中收集到的值的总和.时间间隔作为第一个参数支持秒或收集值的数目(以#开始).从Zabbix1.8.2开始,本函数支持time_shift作为第二个参数。可以查看avg函数获取它的用法。
24.time
参数:忽略
支持值类型:any
描述:返回当前时间,格式为HHMMSS,例如123055