2 全局事件关联

概述

全局事件关联允许跨越 Zabbix 监控的所有指标创建关联。

可以对由完全不同触发器创建的事件进行关联,并对它们全部应用相同的操作。 通过创建智能关联规则,实际上可以让您免于成千上万条重复通知的干扰,并专注于问题的根本原因!

全局事件关联是一种强大的机制,它使您能够摆脱基于单个触发器的问题与恢复逻辑。 到目前为止,单个问题事件由一个触发器创建,而问题恢复也依赖于同一个触发器。 我们无法使用另一个触发器来恢复由某个触发器创建的问题。 但借助基于事件标签的事件关联,这一点可以实现。

例如,日志触发器可能报告应用程序问题,而轮询触发器可能报告应用程序处于正常运行状态。 利用事件标签,您可以将日志触发器标记为 status:down,同时将轮询触发器标记为 status:up。 然后,在全局关联规则中,您可以将这些触发器关联起来,并为该关联指定适当的操作,例如关闭旧事件。

在另一种用法中,全局关联可以识别相似的触发器,并对它们应用相同的操作。 如果每个网络端口问题我们只收到一条问题报告,会怎样?就不需要把所有问题都报告出来了。 这同样可以通过全局事件关联实现。

全局事件关联在 关联规则 中进行配置。 关联规则定义了新的问题事件如何与现有问题事件配对,以及在匹配时执行什么操作(关闭新事件,或通过生成相应的 OK 事件来关闭匹配的旧事件)。 如果某个问题通过全局关联被关闭,则会在 监控 > 问题信息 列中显示相关说明。

只有 Super Admin 级别的用户才能配置全局关联规则。

必须非常谨慎地配置事件关联,因为它可能会对事件处理性能产生负面影响,或者在配置错误时关闭超出预期的事件(最坏情况下,甚至可能关闭所有问题事件)。

为了安全地配置全局关联,请遵循以下重要建议:

  • 缩小关联范围。 始终为与旧事件配对的新事件设置唯一标签,并使用 新事件标签名称 关联条件。
  • 在使用 关闭旧事件 时添加明确的旧事件条件。 选择 关闭旧事件 时,始终至少添加一个 旧事件 条件(例如 旧事件标签名称旧事件标签值事件标签对)——否则,该规则可能会匹配并关闭无关的现有问题事件(最坏情况下会关闭所有问题)。 对于匹配运行时值(host:port、session id 等),优先使用 事件标签对,并在可能的情况下进一步按主机或主机组缩小匹配范围。
  • 避免使用常见的标签名称,因为这些名称最终可能会被不同的关联配置使用。
  • 将关联规则的数量限制在您真正需要的范围内。

另请参见:已知问题

配置

要全局配置事件关联规则:

  • 转到 数据采集 > 事件关联
  • 点击右侧的 创建事件关联(或点击关联名称以编辑现有规则)
  • 在表单中输入关联规则的参数

correlation\_rule.png

所有必填输入字段都以红色星号标记。

参数 描述
名称 唯一的关联规则名称。
计算方式 可用的条件计算选项如下:
And - 必须满足所有条件
Or - 满足任意一个条件即可
And/Or - 不同条件类型之间使用 AND,相同条件类型之间使用 OR
自定义表达式 - 用于评估动作条件的用户定义计算公式。它必须包含所有条件(以大写字母 A、B、C、... 表示),并且可以包含空格、制表符、括号 ( )、and(区分大小写)、or(区分大小写)、not(区分大小写)。
条件 条件列表。有关配置条件的详细信息,请参见下文。
描述 关联规则描述。
操作 勾选在事件被关联时要执行的操作复选框。可用操作如下:
关闭旧事件 - 当新事件发生时关闭旧事件。使用 关闭旧事件 操作时,务必始终添加基于旧事件的条件,否则可能会关闭所有现有问题。
关闭新事件 - 当新事件发生时关闭该新事件。

警告!
使用 关闭旧事件/关闭新事件 时,不要将旧/新事件条件留空。如果选择了 关闭旧事件 操作,却没有添加与旧事件匹配的条件,Zabbix 可能会匹配所有现有旧事件并将其关闭。使用 关闭旧事件 时,务必始终添加明确的旧事件条件(例如 旧事件标签名称事件标签对)。例如,仅使用 新事件条件关闭旧事件操作 的规则,将匹配所有满足(缺失的)旧事件条件的旧事件——实际上会关闭旧问题。
已启用 如果勾选此复选框,则该关联规则将被启用。

要配置新条件的详细信息,请点击“条件”区块中的 。 此时将打开一个弹出窗口,您可以在其中编辑条件详细信息。

参数 描述
新条件 选择一个用于关联事件的条件。
请注意,如果未指定旧事件条件,则可能会匹配并关闭所有旧事件。同样,如果未指定新事件条件,则可能会匹配并关闭所有新事件。
可用条件如下:
旧事件标签名称 - 指定用于匹配的旧事件标签名称。
新事件标签名称 - 指定用于匹配的新事件标签名称。
新事件主机组 - 指定用于匹配的新事件主机组。
事件标签对 - 指定用于匹配的新事件标签名称和旧事件标签名称。在这种情况下,如果两个事件中的标签匹配,则视为匹配。标签名称不必匹配。
此选项适用于匹配运行时值,这些值在配置时可能尚未知晓(另请参见 示例)。
旧事件标签值 - 指定用于匹配的旧事件标签名称和值,可使用以下运算符:
等于 - 具有该旧事件标签值
不等于 - 不具有该旧事件标签值
包含 - 旧事件标签值中包含该字符串
不包含 - 旧事件标签值中不包含该字符串
新事件标签值 - 指定用于匹配的新事件标签名称和值,可使用以下运算符:
等于 - 具有该新事件标签值
不等于 - 不具有该新事件标签值
包含 - 新事件标签值中包含该字符串
不包含 - 新事件标签值中不包含该字符串

由于可能发生错误配置,当可能为无关问题创建相似的事件标签时,请查看下面列出的情况!

  • 实际标签和标签值只有在触发器触发时才会变得可见。 如果使用的正则表达式无效,它会被静默替换为 *UNKNOWN* 字符串。 如果带有 *UNKNOWN* 标签值的初始问题事件被遗漏,之后可能会出现带有相同 *UNKNOWN* 标签值的 OK 事件,而这些事件可能会关闭本不应被关闭的问题事件。
  • 如果用户使用 {ITEM.VALUE} 宏且未对其使用宏函数作为标签值,则会受到 255 个字符限制的影响。 当日志消息较长且前 255 个字符缺乏特异性时,这也可能导致无关问题出现相似的事件标签。

示例

阻止来自同一网络端口的重复问题事件。

如果触发器上存在 主机port 标签值,并且这些值在原始事件和新事件中相同,则此全局事件关联规则将对问题进行关联。

该操作将关闭同一网络端口上的新问题事件,仅保留原始问题处于打开状态。