
1. 触发器概念
触发器(triggers)是什么?触发器使用逻辑表达式来评估通过item获取到得数据是处于哪种状态,item一收回数据,讲解任务交给触发器去评估状态,明白触发器是怎么一回事了把?
在触发器表达式中我们可以定义哪些值范围是合理,哪些是不合理的,如果出现不合理的值,触发器会把状态改为PROBLEM。接下来就到了报警以及发邮件
2. 触发器状态
值 | 描述 |
---|---|
OK | 触发器的正常状态. 老版本的zabbix中叫做FALSE |
PROBLEM | 非正常状态,例如数据库挂了,系统负载高了,都会是这个状态. 老版本的zabbix中叫TRUE |
zabbix server item每次获取到一个新值都会使用触发器表达式计算它的状态如果使用基于时间的表达式 (例如:nodata(), date(), dayofmonth(), dayofweek(), time(), now()), zabbix timer每30秒会重新计算一次。
3. 触发器的创建
创建触发器步骤:
- 点击Configuration(配置) → Hosts(主机)
- 点击hosts(主机)相关行的trigger
- 点击右上角的创建触发器(create trigger),你也可以修改列表中的触发器在表单中输入相应的信息
参数介绍
参数 | 描述 |
---|---|
Name | 触发器名称. 名称可以包含宏变量: {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {ITEM.VALUE}, {ITEM.LASTVALUE} and {$MACRO} .$1, $2…$9 可以被用来关联表达式的常量 示例: name:Processor load above $1 on {HOST.NAME}” 表达式:system.cpu.load[percpu,avg1].last(0)}>5 会显示为:Processor load above 5 on ttlsa云服务器 |
Expression | 计算触发器状态的逻辑表达式,这边设置为上一次值等于0 |
Multiple PROBLEM events generation | 通过设置该选项,你可以在触发器产生problem的时候触发一个事件 |
Description | 触发器的描述,一般name写的不清楚,这边可以具体描述这个触发器的作用,例如nginx当前离线,请处理等等。Zabbix 2.2版本开始,支持触发器名称。 |
URL | 在Monitoring → Triggers中,可以看到URL并且可以点击,一般情况下他需要配合触发器ID来使用,在url中包含触发器ID(宏变量 {TRIGGER.ID}),这样可以直接点击到具体触发器中。 |
Severity | 设置严重性级别,上图我设置为“灾难”,你可以相应的设置警告、严重等状态的触发器 |
Enabled | 当前触发器是否启用 |