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

1 配置一个触发器

概述

配置一个触发器,进行下面步骤:

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

配置

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

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

参数 描
名称 器名称.
名称中可以包含支持的 : {HOST.HOST}, {HOST.NAME}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {ITEM.VALUE}, {ITEM.LASTVALUE}{$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"
严重性 通过 击对应的按钮来设置所需的触发器严重性
异常表达式 用于定义 常条件的逻辑表达式
事件成功迭代 事件成功迭 选项:
表达式 - OK事件基于与问题事件相同的表达式生成;
恢复表达式 - 如果问题表达式计算为false,恢复表达式计算为true,则生成OK事件;
None - 在这种情况下,触发器将永远不会返回到OK状态。
从Zabbix 3.2.0开始支持
恢复表达式 逻辑[表 式](expression)用于定义问题解决的条件。
只有在表达式表达式计算为FALSE之后才对恢复表达式进行评估。如果问题条件仍然存在,则不可能通过恢复表达式来解决问题。
此字段是可选的,仅在OK 事件生成选择恢复表达式。
从Zabbix 3.2.0开始支持
异常事件生成模式 生成异常事件的 式:
单个 - 当触发器第一次进入‘异常‘状态时,生成一条单个事件。;
多重 - 每一个触发器“异常”评估都将生产一条事件。
事件成功关闭 如果选择事 成功关闭:
所有问题 - 此触发器的所有问题
所有问题如果标签值匹配 - 只有那些匹配事件标签值引发的问题。
从Zabbix 3.2.0开始支持。
匹配标记 输入事 标记名称以用于事件关联。
如果在事件成功关闭中选择了‘所有问题如果标签值匹配’,在这种情况下是强制性的。
从Zabbix 3.2.0开始支持。
标记 自定义标签来标记触发器事件。
事件标记 可用于事件关联, 在动作条件下,也将在监视问题中被看到。
标记是一对标记名和值。您可以仅使用名称或值对。\\在事件标记中支持用户宏, 用户宏上下文, 低级别发现宏和函数宏: “{{ITEM.VALUE}.regsub(pattern, output)}, {{ITEM.VALUE}.iregsub(pattern, output)}”。可以在宏上下文中使用低级别发现宏。
如果扩展值的总长度超过255,则它将被切割成255个字符。
查看事件标记支持的所有
从Zabbix 3.2.0开始支持。
允许手动关闭 检查是否允 手动关闭由该触发器生成的问题事件。在确认问题事件时,手动关闭是可能的。
从Zabbix 3.2.0开始支持。
URL 如果不为空, 在监测 → 问题问题仪表板中点击触发器名称,这里输入的URL可以作为链接。(URL选项在触发器上下文菜单)
可以在触发器URL字段中使用宏 - {TRIGGER.ID}, 多个{HOST.*}宏(Zabbix3.0.0以后的版本)和用户宏(Zabbix3.0.0以后的版本).
描述 字段用于提供有关此触发器的更多信息。可能包含解决具体问题的指令、负责人员的联系细节等。
从Zabbix 2.2开始, 描述可以包含与触发器名称相同的宏集。
已启用 如果 要,不选中该框将禁用触发器。

依赖关系标签里包含所有触发器依赖关系

点击 添加 添加新的依赖关系。

你也可以打开一个已存在的触发器,点击 克隆 按钮,然后用一个不同的名字保存。

测试表达式

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

以官方模板的表达为例:

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

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

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

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

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

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

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

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