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

2 全局事件关联

概览

全局事件关联允许覆盖zabbix所有被监控的指标并创建关联性。

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

全局事件关联是一个强大的机制,它允许您摆脱基于单一触发器的问题和解决逻辑。到目前为止,单个问题事件是由一个触发器创建的,我们依赖于同一个触发器来解决问题。我们无法用一个触发器解决由另一个触发器创建的问题。但是,基于事件标记的事件关联可以做到这一点。

例如,一个日志触发器可能会报告应用程序问题,而一个轮询触发器可能会报告应用程序正在运行。利用事件标签,您可以将日志触发器标记为状态:宕机(Status: Down),而将轮询触发器标记为状态:运行(Status: Up)。然后,在全局关联规则中,您可以将这些触发器关联起来,并为这个关联分配一个适当的操作,比如关闭旧事件。

在另一种用途中,全局关联可以识别相似的触发器并对它们应用相同的操作。如果我们能够只针对每个网络端口问题得到一个问题报告呢?不需要报告所有的问题。这也是全局事件关联可以实现的。

全局事件关联在 关联规则.中进行配置。关联规则定义了如何将新的问题事件与现有问题事件进行配对,以及在匹配时执行什么操作(关闭新事件,通过生成相应的正常事件来关闭匹配的旧事件)。如果一个问题通过全局关联被关闭,它将在“监测”→“问题”的“信息”列中报告。

配置全局关联规则仅适用于超级管理员级别的用户。

事件关联配置时需非常仔细,因为对事件处理性能产生负面影响,或者如果配置错误,会关闭比预期更多的事件(最糟糕的情况升职会关闭所有的问题事件)。

为了安全的配置全局事件管理,遵循以下重要提示:

  • 减少关联范围。始终为与老事件匹配的新事件设置唯一的标记,并使用新事件标签作为关联条件;
  • 当使用 关闭旧事件操作(否则其他所有问题将被关闭)时,新增基于旧事件的条件;
  • 避免使用常见的标签名,可能会被不同的关联配置使用;
  • 保持关联规则数量限制为你真正需要的数量。

参考: 已知问题

配置

要配置全局事件关联规则:To configure event correlation rules globally:

  • 打开数据采集事件关联
  • 点击右侧创建事件关联 (或者在关联名称上编辑已经存在的规则)
  • 在表单中输入关联规则的参数

correlation_rule.png

所有必填项用红色的星号标记。

参数 描述
名称 唯一的关联规则名称。
关联类型 以下计算条件选项是可用的:
And - 所有条件必须满足
Or - 只要一个条件满足就足够
And/Or - AND 具有不同的条件类型, OR具有相同的条件类型
Custom expression - 用户定义的评估动作条件的计算公式。它必须包括所有条件(以大写字母A,B,C,...表示),也可能包括空格,制表符括号(), and (区分大小写), or (区分大小写), not (区分大小写)。
条件 条件列表。有关配置的详细信息,参阅下文。
描述 关联规则描述。
操作 当事件被关联时,标记要执行的操作的复选框。以下是可用的操作:
Close old events - 当新事件发生时关闭老事件。当使用Close old events操作时始终基于老事件新增一个条件,否则所有现有问题将被关闭。
Close new event - 当该操作发生时,关闭新事件
开启状态 如果选择该复选框,关联规则开启。

要配置新条件的详细信息,在条件模块里点击 。在打开的弹窗中编辑详细条件 。

参数 描述
新条件 选择关联事件的条件。
注意 如果没有指定旧事件的条件,所有旧事件被匹配并关闭。同样,如果没有指定新事件条件,所有的新事件将被匹配并关闭。
以下条件选项是可用的:
Old event tag - 指定用于匹配旧事件的标签。
New event tag - 指定用于匹配新事件的标签。
New event host group - 指定用于匹配新事件的主机组。
Event tag pair - 指定用于匹配新事件的标签和旧事件的标签。这种情况,如果新旧事件中标签的 匹配,事件才会匹配。标签名称不需要匹配。
该选项适用于匹配运行时值,该值在配置时可能不知道(参阅示例 1)。
Old event tag value - 指定用于匹配的老事件标签名称和值,使用以下运算符:
equals - 有旧事件的标签值
does not equal - 没有旧事件标签值
contains - 有旧事件标签值中的字符串
does not contain - 没有在旧事件标签值中的字符串
New event tag value -指定匹配的新事件标签名称和值,使用以下运算符:
equals - 有新事件的标签值
does not equal - 没有新事件标签值
contains - 有新事件标签值中的字符串
does not contain - 没有新事件标签值中的字符串

因配置错误是可能的,当为不相关问题创建类似的事件标签时,请参考下列案例!

  • 实际标记和标记值仅在触发器触发时可见。如果使用的正则表达式无效,则会被默认替换为 *UNKNOWN* 字符串。如果缺少带有 *UNKNOWN* 标记值的初始问题事件,则可能会出现具有相同 *UNKNOWN* 标记值的后续恢复事件,这些事件可能会关闭它们不应该关闭的问题事件。
  • 如果用户使用不带宏函数的 {ITEM.VALUE} 宏作为标记值,则适用 255 个字符的限制。且前255个字符是非特定的,这可能还会导致无关问题有类似的事件标签。
示例 1

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

如果触发器上存在主机端口的标签值与最初的事件的相同,这个全局关联规则会关联问题。

这个操作将会关闭同一网络端口的新的问题事件,只保留最初的问题事件。