1 配置触发器

概述

要配置触发器,请执行以下步骤:

  • 转至:数据采集主机
  • 点击 主机 行中的 触发器
  • 点击右侧的 创建触发器(或者点击触发器名称以编辑现有触发器)
  • 在表单中输入触发器的参数

另请参阅有关触发器及其计算时间的 general information

配置

触发器选项卡包含所有关键触发器属性。

所有必填字段均以红色星号标记。

参数 描述
Name 触发器名称。
支持的macros包括:{HOST.HOST}、{HOST.NAME}、{HOST.PORT}、{HOST.CONN}、{HOST.DNS}、{HOST.IP}、{ITEM.VALUE}、{ITEM.LASTVALUE}、{监控项.LOG.*}以及{$MACRO}用户宏。
$1, $2...$9宏可用于引用表达式中的第一、第二...第九个常量。
注意:若引用相对简单直接的表达式常量,$1-$9宏将正确解析。例如当表达式为last(/New 主机/system.cpu.load[percpu,avg1])>5时,名称"Processor load above $1 on {HOST.NAME}"将自动变为"Processor load above 5 on New 主机"
Event name 若定义此名称,将用于create问题事件名称(替代触发器名称)。
事件名称可用于构建包含问题数据的有意义告警(参见示例-18)。
支持与触发器名称相同的宏集合,另增加{TIME}和{?EXPRESSION}表达式宏。
Operational data 操作数据允许定义含宏的任意字符串。宏将在监控Problems中动态解析为实时数据。触发器名称中的宏(见上文)将在问题发生时解析为静态值作为问题名称基础,而操作数据中的宏保持动态显示最新信息的能力。若未在触发器级别配置操作数据,将显示表达式中所有监控项的最新值。
支持与触发器名称相同的宏集合。
Severity 点击按钮设置所需触发器severity
Expression 用于定义问题条件的逻辑expression
支持时间后缀memory大小后缀
当表达式中所有条件满足(即评估为TRUE)时创建问题。除非在恢复表达式中指定额外条件,否则表达式评估为FALSE时问题将立即解决。
OK event generation OK事件生成选项:
表达式 - 基于与问题事件相同的表达式生成OK事件;
恢复表达式 - 当问题表达式评估为FALSE且恢复表达式评估为TRUE时生成OK事件;
- 此情况下触发器不会自动返回OK状态。
Recovery expression (可选)定义在原始问题表达式已评估为FALSE后,解决问题前需满足额外条件的逻辑expression
恢复表达式对触发器迟滞非常有用。若问题表达式仍为TRUE,无法仅通过恢复表达式解决问题。
仅当OK事件生成选择'恢复表达式'时显示此字段。
PROBLEM event generation mode 问题事件生成模式:
单一 - 触发器首次进入'问题'状态时生成单个事件;
多重 - 触发器每次评估为'问题'时都生成事件。
OK event closes 选择OK事件关闭范围:
所有问题 - 该触发器的所有问题
标签值匹配的问题 - 仅关闭事件标签值匹配的触发器问题
Tag for matching 输入用于事件关联的事件标签名称。
仅当OK事件关闭属性选择'标签值匹配的问题'时显示此字段(此时为必填项)。
Allow manual close 勾选以允许manual closing此触发器生成的问题事件。确认问题事件时可手动关闭。
Menu entry name 若不为空,此处输入的名称(最多64字符)将在多个前端位置作为菜单入口URL参数中指定URL的标签。若为空则使用默认名称触发器URL
支持与触发器URL相同的宏集合。
Menu entry URL 若不为空,此处输入的URL(最多2048字符)将在多个前端位置的event menu中显示为链接,例如点击监控→Problems使用部件仪表板部件中的问题名称时。
支持与触发器名称相同的宏集合,另增加{EVENT.ID}、{HOST.ID}和{TRIGGER.ID}。注意:含机密值的用户宏不会在URL中解析。
Description 用于提供触发器详细信息的文本字段。可包含特定问题修复指南、责任人员联系方式等。
支持与触发器名称相同的宏集合。
Enabled 取消勾选将按需禁用触发器。
禁用触发器的问题不再显示在前端,但不会被删除。

标签选项卡允许定义触发器级别的 tags。该触发器的所有问题都将 被标记为此处输入的值。

此外,继承和触发器标签选项允许查看模板级定义的标签(若触发器来自该模板)。 若多个模板具有相同标签,这些标签仅显示一次且模板名称以逗号分隔。 触发器不会"继承"或显示主机级别标签。

参数 描述
Name/Value 设置自定义标签以标记触发器事件。
标签由标签名和值组成。可仅使用名称或名称-值对。一个触发器可包含多个同名但不同值的标签。
事件标签支持用户宏、带上下文的用户宏、低级发现宏以及含{{ITEM.VALUE}}{{ITEM.LASTVALUE}}和低级发现宏的宏functions。低级发现宏可在宏上下文中使用。
触发器标签值支持{TRIGGER.ID}宏,可用于识别从触发器原型创建的触发器,例如在维护期间抑制来自这些触发器的问题。
若展开值总长度超过255字符,将被截断至255字符。
查看事件标签支持的所有宏支持
Event tags可用于事件关联、操作条件,并显示在监控问题问题部件中。

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

点击添加以新增依赖项。

您也可以通过打开现有触发器, 点击克隆按钮后以不同名称保存 来配置触发器。

测试表达式

可以测试配置的触发器表达式,以查看根据接收到的值,表达式结果会是什么。

以下是一个来自官方模板的表达式示例:

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'),然后点击 测试(Test) 按钮查看表达式结果。

可以看到各个表达式的结果以及整个表达式的最终结果。

"TRUE" 表示指定的表达式成立。在此特定情况 A 中,"80" 大于指定值 {$TEMP_WARN},例如中的 "70"。正如预期,结果显示为 "TRUE"。

"FALSE" 表示指定的表达式不成立。在此特定情况 B 中,{$TEMP_WARN_STATUS} 的 "1" 需要等于指定值,例如中的 "0"。正如预期,结果显示为 "FALSE"。

所选的表达式类型为 "OR"。如果至少有一个指定条件(在此例中为 A 或 B)为 TRUE,则整体结果也将为 TRUE。这意味着当前值超过了警告值,并且已发生问题。