这是原厂英文文档的翻译页面. 欢迎帮助我们 完善文档.
2022 Zabbix中国峰会
2022 Zabbix中国峰会

1 配置一个触发器

概述

配置一个触发器,按以下步骤操作:

  • 进入: 配置主机
  • 点击主机一行的 触发器
  • 点击右上角的 创建触发器(或者点击触发器名称去修改一个已存在的触发器)
  • 在窗口中输入触发器的参数

另请参阅有关触发器及其计算时间的 一般信息

配置

Trigger(触发器)标签页包含了所有必要的触发器属性。

所有强制输入字段都用红色星号标记。

参数 描述
名称 触发器名称.
支持的 macros(宏): {HOST.HOST}, {HOST.NAME}, {HOST.PORT}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {ITEM.VALUE}, {ITEM.LASTVALUE}, {ITEM.LOG.*} and {$MACRO}。
$1, $2...$9 宏可以用来指第一,第二...第九表达式的常量。
备注: 如果引用了相对简单的常量或明确的表达式,$1-$9宏将会正确解析。例如, 如果表达式是{New host:system.cpu.load[percpu,avg1].last()}>5,则"Processor load above $1 on {HOST.NAME}"将会自动更改成 "Processor load above 5 on New host"
事件名称 如果定义了这个名称,将使用这个名称来创建问题事件名称,而不是触发器名称。
事件名称可用于构建包含问题数据的有意义的警报 (查看示例)。
支持与触发器名称相同的一组宏,加上{TIME}和{?EXPRESSION}表达式宏。
从Zabbix 5.2.0开始支持。
操作数据 操作数据允许定义任意字符串和宏。这些宏会在Monitoring(监控)Problems(问题).中动态地解析实时数据。触发器名称中的宏将在问题发生时解析为它们的值,并成为静态问题名称的基础,而操作数据中的宏则保持动态显示最新信息的能力。
支持与触发器名称相同的一组宏。
严重性 通过点击对应的按钮来设置所需的触发器severity
表达式 定义问题条件的逻辑表达式。当表达式中包含的所有条件都满足时,就会产生问题,即表达式的计算结果为TRUE。除非在恢复表达式中指定了额外的恢复条件,否则该问题将在表达式计算结果为FALSE时得到解决。
生成OK事件 OK 事件生成选项:
Expression(表达式) - OK事件基于与问题事件相同的表达式生成;
Recovery expression(恢复表达式) - 如果问题表达式计算为false,恢复表达式计算为true,则生成OK事件;
None - 在这种情况下,触发器将永远不会返回到OK状态。
从Zabbix 3.2.0开始支持
恢复表达式 逻辑expression]用于定义问题解决的条件。
只有在表达式表达式计算为FALSE之后才对恢复表达式进行评估。
恢复表达式有利于配置触发器滞后。如果问题条件仍然存在,则不可能通过恢复表达式来解决问题。
此字段是可选的,仅在OK 事件生成选择恢复表达式。
从Zabbix 3.2.0开始支持
问题事件生成模式 生成问题事件的模式:
Single(单个) - 当触发器第一次进入‘Problem‘状态时,生成一条单个事件。
Multiple(多重) - 每一个触发器“Problem”评估都将生产一条事件。
事件成功关闭 选择 OK 事件是否关闭:
All problems(所有问题) - 此触发器的所有问题
All problems if tag values match(所有问题如果标签值匹配) - 只有那些匹配事件标签值引发的问题。
从Zabbix 3.2.0开始支持。
匹配标记 输入事件标签名称以用于事件关联。
如果在事件成功关闭中选择了‘所有问题如果标签值匹配’,在这种情况下是强制性的。
从Zabbix 3.2.0开始支持。
允许手动关闭 检查是否允许手动关闭由该触发器生成的问题事件。在确认问题事件时,手动关闭是可能的。
从Zabbix 3.2.0开始支持。
URL 如果不为空, 在监测 → 问题问题仪表板中点击触发器名称,这里输入的URL可以作为链接。(URL选项在触发器上下文菜单)
可以在触发器URL字段中使用宏,例如 {EVENT.ID}, {HOST.ID} 和 {TRIGGER.ID}。注意密文类型的宏值不能正常解析。
描述 文本字段用于提供有关此触发器的更多信息。可能包含解决具体问题的指令、负责人员的联系细节等。
从Zabbix 2.2开始, 描述可以包含与触发器名称相同的宏集。
已启用 不选中该框将禁用触发器。问题事件对应的触发器被禁用,则前端不显示该事件但不会删除。

Tags(标签) 选项卡允许您定义触发级 tags。此触发器的所有问题都将使用此处输入的值进行标记。

此外,Inherited and trigger tags(继承和触发器标记) 选项允许查看在模板级定义的标记,如果触发器来自该模板。如果有多个模板使用相同的标记,这些标记只显示一次,并且用逗号分隔模板名。触发器不“继承”和显示主机级标记。

Parameter Description
Name(名称)/Value(值) 设置自定义标记来标记触发事件。
标签是一对标签名和值。只能使用名称或将其与值配对。一个触发器可能有几个名称相同但值不同的标记。
用户宏,用户宏上下文,低级别发现宏和宏functions(函数)带有' {{ITEM.VALUE}},{{ITEM.LASTVALUE}}和低级别发现宏。低级别发现宏可以在宏上下文中使用。
{TRIGGER.ID}宏。它可能有助于识别从触发器原型创建的触发器,例如,在维护期间抑制这些触发器产生的问题。当扩展值的总长度超过255时,将被截断为255个字符。
查看所有支持事件标签的macros(宏)
Event tags(事件标签)可以用于事件关联,在动作条件中,也可以在MonitoringProblemsProblems widget中看到

Dependencies(依赖项) 选项卡包含触发器的所有 dependencies

单击 Add 添加新的依赖项。

您还可以通过打开现有触发器来配置触发器, 按下 Clone 按钮,然后保存在不同的位置名称。

测试表达式

可以根据接收的值测试配置的触发器表达式,以确定表达式结果。

以官方模板的表达为例:

avg(/Cisco IOS SNMPv2/sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}],5m)>{$TEMP_WARN}
       or
       last(/Cisco IOS SNMPv2/sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}])={$TEMP_WARN_STATUS}

若要测试表达式,请点击表达式字段下的 Expression constructor(表达式构造器)

在表达式构造器列出了所有单个表达式。打开测试窗口,点击在表达式列表下方Test(测试)

在测试窗口中,您可以输入示例值(在这个示例中为“80, 70, 0,1”),然后点击 测试 按钮查看表达式结果。

可以看到每个表达式的结果以及整个表达式的结果。

“TRUE”结果意味着指定的表达式是正确的。在这个特定的情况A下,“80”大于{$TEMP_WARN}指定值“70”,出现“TRUE”结果。

“FALSE”结果表示指定的表达式不正确。在这个特定的情况B下,在这个例子中{$TEMP_WARN_STATUS}是“1”,需要与指定的“0”值相等,这是错误的。出现“FALSE”结果。

选择的表达式类型是“OR”。如果指定条件中的至少一个(在这种情况下为A或B)是真的,那么最终结果也是TRUE。意味着,当前值超过了警告值,出现了异常。