全局事件关联
概述
此功能已弃用,未来版本中可能会被移除。有关更新的事件关联功能,请参阅复杂事件处理。
全局事件关联可以覆盖 Zabbix 监控的所有指标并创建关联。
可以关联由完全不同的触发器创建的事件,并对所有这些事件应用相同的操作。 通过创建智能关联规则,您可以避免成千上万条重复通知,将精力集中在问题的根本原因上!
全局事件关联是一种强大的机制,可以让您摆脱基于单个触发器的问题和恢复逻辑。 到目前为止,单个问题事件由一个触发器创建,我们依赖同一个触发器来解决该问题。 我们无法使用另一个触发器解决由某个触发器创建的问题。 但是,通过基于事件标签的事件关联,我们可以做到这一点。
例如,日志触发器可能会报告应用程序问题,而轮询触发器可能会报告应用程序正在运行。 利用事件标签,您可以将日志触发器标记为 status:down,将轮询触发器标记为 status:up。 然后,在全局关联规则中,您可以关联这些触发器,并为此关联分配适当的操作,例如关闭旧事件。
在另一种用法中,全局关联可以识别相似的触发器,并对它们应用相同的操作。 如果每个网络端口问题只生成一条问题报告,会怎么样?无需报告所有问题。 全局事件关联同样可以实现这一点。
全局事件关联在关联规则中进行配置。 关联规则定义如何将新问题事件与现有问题事件配对,以及在匹配时执行什么操作(关闭新事件,或通过生成相应的 OK 事件来关闭匹配的旧事件)。 如果问题由全局关联关闭,则会在监控 > 问题的信息列中报告。
只有超级管理员级别的用户可以配置全局关联规则。
必须非常谨慎地配置事件关联,因为它可能会对事件处理性能产生负面影响;如果配置不当,还可能关闭超出预期数量的事件(在最坏情况下,甚至可能关闭所有问题事件)。
要安全地配置全局关联,请遵循以下重要提示:
- 缩小关联范围。 始终为要与旧事件配对的新事件设置唯一标签,并使用新事件标签名称关联条件。
- 使用关闭旧事件时,添加明确的旧事件条件。 选择关闭旧事件时,始终至少添加一个旧事件条件(例如,旧事件标签名称、旧事件标签值或事件标签对);否则,该规则可能会匹配并关闭不相关的现有问题事件(在最坏情况下,可能关闭所有问题)。 对于匹配运行时值(主机:端口、会话 ID 等),优先使用事件标签对,并在可能的情况下进一步按主机或主机组缩小匹配范围。
- 避免使用常见的标签名称,以免它们最终被不同的关联配置使用。
- 将关联规则数量限制在实际需要的范围内。
另请参阅:已知问题。
配置
要全局配置事件关联规则:
- 转到 数据采集 > 事件处理。
- 点击右侧的 创建事件关联(或点击关联名称以编辑现有规则)。
- 在表单中输入关联规则的参数。

所有必填字段均以红色星号标记。
| 参数 | 描述 |
|---|---|
| 名称 | 唯一的关联规则名称。 |
| 计算类型 | 可使用以下条件计算选项: And - 必须满足所有条件 Or - 满足一个条件即可 And/Or - 不同条件类型之间使用 AND,相同条件类型之间使用 OR 自定义表达式 - 用户定义的计算公式,用于评估操作条件。必须包含所有条件(以大写字母 A、B、C 等表示),并且可以包含空格、制表符、括号 ( )、and(区分大小写)、or(区分大小写)和 not(区分大小写)。 |
| 条件 | 条件列表。有关配置条件的详细信息,请参见下文。 |
| 描述 | 关联规则描述。 |
| 操作 | 选中事件关联时要执行的操作对应的复选框。可用的操作如下: 关闭旧事件 - 新事件发生时关闭旧事件。使用 关闭旧事件 操作时,始终添加基于旧事件的条件,否则可能会关闭所有现有问题。 关闭新事件 - 新事件发生时关闭该事件。 警告! 使用 关闭旧事件/关闭新事件 时,不要将旧事件/新事件条件留空。如果选择 关闭旧事件 操作,但未添加与旧事件匹配的条件,Zabbix 可能会匹配所有现有旧事件并将其关闭。使用 关闭旧事件 时,始终添加明确的旧事件条件(例如 旧事件标签名称 或 事件标签对)。例如,仅使用 新事件条件 和 关闭旧事件操作 的规则,将匹配所有满足(缺失的)旧事件条件的旧事件,从而关闭旧问题。 |
| 启用 | 选中此复选框后,将启用关联规则。 |
要配置新条件的详细信息,请在“条件”块中点击
。
此时将打开一个弹出窗口,您可以在其中编辑条件详细信息。

| 参数 | 描述 |
|---|---|
| 新条件 | 选择用于关联事件的条件。 注意,如果未指定旧事件条件,可能会匹配并关闭所有旧事件。同样,如果未指定新事件条件,可能会匹配并关闭所有新事件。 可用的条件如下: 旧事件标签名称 - 指定用于匹配的旧事件标签名称。 新事件标签名称 - 指定用于匹配的新事件标签名称。 新事件主机组 - 指定用于匹配的新事件主机组。 事件标签对 - 指定用于匹配的新事件标签名称和旧事件标签名称。在这种情况下,如果两个事件中标签的值匹配,则视为匹配。标签的名称不必匹配。 此选项适用于匹配运行时值,这些值在配置时可能尚未知晓(另请参见示例)。 旧事件标签值 - 指定用于匹配的旧事件标签名称和值,并使用以下运算符: 等于 - 具有指定的旧事件标签值 不等于 - 不具有指定的旧事件标签值 包含 - 旧事件标签值中包含该字符串 不包含 - 旧事件标签值中不包含该字符串 新事件标签值 - 指定用于匹配的新事件标签名称和值,并使用以下运算符: 等于 - 具有指定的新事件标签值 不等于 - 不具有指定的新事件标签值 包含 - 新事件标签值中包含该字符串 不包含 - 新事件标签值中不包含该字符串 |
由于可能存在配置错误,当相似的事件标签可能由不相关的问题创建时,请查看下面列出的情况!
- 实际标签和标签值只有在触发器触发时才会显示。 如果使用的正则表达式无效,则会被静默替换为 *UNKNOWN* 字符串。 如果遗漏了初始问题事件中的 *UNKNOWN* 标签值,后续可能会出现具有相同 *UNKNOWN* 标签值的 OK 事件,而这些事件可能会关闭本不应关闭的问题事件。
- 如果用户在不使用宏函数的情况下将 {ITEM.VALUE} 宏用作标签值,则适用 255 个字符的限制。 当日志消息较长且前 255 个字符不具有特异性时,也可能导致不相关问题产生相似的事件标签。
示例
阻止来自同一网络端口的重复问题事件。

如果 host 和 port 标签值存在于触发器中,并且它们在原始事件和新事件中相同,则此全局关联规则将对问题进行关联。
该操作将关闭同一网络端口上的新问题事件,仅保留原始问题处于打开状态。