2022 Zabbix中国峰会
2022 Zabbix中国峰会

1 配置一个触发器

概述

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

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

触发器的计算时间,请参阅触发器 一般信息

配置

触发器 页签包含了所有的必要触发器属性

所有必填字段都用红色星号标记。

参数 描述
名称 触发器名称。
支持 : {HOST.HOST}, {HOST.NAME}, {HOST.PORT}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {ITEM.VALUE}, {ITEM.LASTVALUE}, {ITEM.LOG.*} 及用户宏{$MACRO}。
$1, $2...$9 宏变量可以用来指表达式中第一,第二...第九个常量。
备注: 如果在相对简单、直接的表达式中含有常量,$1-$9宏也可以正确解析。例如,如果表达式是 last(/New host/system.cpu.load[percpu,avg1])>5,触发器的名称"Processor load above $1 on {HOST.NAME}"自动修改为"Processor load above 5 on New host"
事件名称 如果被定义, 该名称将用于创建问题事件名称,而不是触发器名称。
事件名称可用于生成包含问题数据的有意义的警报 (查看 示例).
与触发器名称中支持的宏相同,也支持{TIME}和{?EXPRESSION}表达式宏。
操作数据 操作数据允许定义任意字符串以及宏。宏将在监测问题中动态解析为实时数据。而触发器名称中的宏(见上文)在问题发生时解析其值并生成静态的问题名称,操作数据里面的宏则维持动态显示最新信息的能力
与触发器名称中支持的宏相同。
严重性 通过点击按钮设置所需的触发器严重性
表达式 逻辑表达式 用于定义问题的条件。
当条件中所有表达式都满足时,会产生一个问题, 即表达式计算结果为真。当表达式计算结果为假时,该问题将被恢复,除非在恢复表达式中指定了额外的恢复条件。
事件成功迭代 事件成功迭代选项:
表达式 - 恢复事件基于问题事件的相同表达式产生;
恢复表达式 - 恢复事件基于问题表达式计算结果为假,并且恢复表达式计算结果为真时产生;
-这种情况下,触发器不会自行返回到OK状态.
恢复表达式 逻辑表达式 (可选)定义在原始问题表达式计算结果为假之后,在解决问题之前所必须满足的附加条件。
恢复表达式对于触发器滞后非常有用,如果问题表达式一直为真,则不能通过恢复表达式来恢复问题。
此字段仅在事件成功迭代中选择'恢复表达式'中可用。
问题事件生成模式 生成问题事件模式:
单个 - 当触发器第一次进入‘问题’状态时生成一条单个事件;
多重 - 每个触发器'问题'评估都将产生一条事件。
事件成功关闭 事件成功关闭选项:
所有问题 - 触发器上的所有问题
所有问题如果标签值匹配 - 仅匹配事件标签值的触发器问题
匹配标记 输入事件标签名称用于事件关联
如果事件成功关闭中'所有问题如果标签值匹配'属性被选择,该字段才会显示, 这种情况下,该字段为必填。
允许手动关闭 是否允许手动关闭 通过触发器产生的问题事件。当确认问题事件时,手动关闭是可能的。
菜单实体名称 如果不为空,则在此输入的名称(最多64个字符)将在多个前端位置用作菜单实体URL参数中指定的触发器URL的标签。如果为空,则使用默认名称触发器URL
与触发器URL中支持的宏相同。
菜单实体URL 如果不为空, 输入的URL (最多2048字符)可在多个前端位置的事件菜单中作为链接使用,例如当点击监测 → 问题问题 仪表盘中问题的名称时。
与触发器名称中支持的宏相同,另外也支持 {EVENT.ID}, {HOST.ID} 和 {TRIGGER.ID}。 注意:带有密钥值的用户宏不会在URL中被解析。
描述 文本字段,用于提供有关此触发器的更多信息。可能包含解决具体问题的指令、负责人员的联系细节等。
与触发器名称中支持的宏相同。
已启用 如果要求不勾选,该选项将禁用触发器。
禁用的触发器问题不再前端显示,但是不会删除。

标签 页签允许你定义触发器级别 标签。 此触发器的所有问题都将使用此处输入的值进行标记。

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

参数 描述
名称/值 设置自定义的标签标记触发器事件。
标签是由名称和值组成。只能用名称和值进行匹配出现,一个触发器可以有多个相同的标签名,但值不同。
事件标签支持用户宏,用户宏上下文,低级别发现宏,带有{{ITEM.VALUE}}, {{ITEM.LASTVALUE}}函数 和低级别自动发现宏。低级别自动发现宏可在宏上下文中使用。
触发器标签值中支持{TRIGGER.ID}宏。他有助于标记从触发器原型中创建触发器,例如在维护期间抑制这些触发器的问题。
如果展开长度值超过255,它将被剪切为255个字符。
查看所有支持事件标签的宏支持
事件标签中可以使用事件标签,在动作条件中,可在监测问题问题 部件中查看。

依赖关系 页签包含所有的触发器依赖

点击 Add新增新的依赖

您也可以通过打开现有的触发器来配置触发器,按“克隆”按钮,然后保存为不同的名称

测试表达式

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

以官方模板中的表达式为例:

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}

为测试表达式,在表达式区域下方点击表达式构造器

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

在测试窗口中,您可以输入简单的值(这个示例中为'80', '70', '0', '1') ,通过点击测试按钮查看表达式结果。

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

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

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

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