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

1 触发器事件生成

概述

触发器状态的变化是事件最常见和最重要的来源。每次触发器的状态改变时,都会生成一个事件。该事件包含了触发器状态变更的详细信息、发生时间以及触发器的新状态。

触发器会创建两种类型的事件:问题(Problem)和正常(OK)。

问题事件

在以下情况下,一个问题事件(Problem event)将被创建:

  • 当触发器状态为正常(OK)时,触发器表达式的计算结果为TRUE。
  • 如果为触发器启用了多重问题事件生成,那么每次触发器表达式计算结果为TRUE。

正常事件

一个正常事件(OK event)关闭关联的问题事件(Problem event),可由以下三个部分创建:

  • 触发器 - 基于“正常事件迭代(OK event generation)”和“正常事件关闭(OK event closes)”的设置;
  • 关联项事件;
  • 任务管理器 - 当事件被manual/config/events/手动关闭
触发器

触发器有“事件成功迭代(OK event generation)”的设置,用来控制如何生成正常事件(OK event):

  • 表达式 - 当触表达式的计算结果为FALSE的时候,触发器在问题(Problem)状态中生成一个正常事件(OK event)。这是一个最简单的设置,为默认启动。
  • 恢复表达式 - 当表达式的计算结果为FALSE,并且恢复表达式的计算结果为TURE的时候,会为问题(Problem)状态的触发器生成一个正常事件(OK event)。如果触发器的恢复条件和问题标准不同,则可以使用此设置。
  • - 正常事件从来不生成。这个可以和多重问题事件生成一起结合使用,以便在某事件发生时可以更简单的发送通知。

此外,触发器有“事件成功关闭(OK event closes)”的设置,用来控制哪些问题事件(Problem events)被关闭:

  • 所有问题 - 正常事件(OK event)将关闭触发器创建的所有打开的问题;
  • 所有问题如果标记的值匹配- 正常事件(OK event)将关闭触发器创建的打开的问题,并且至少有一个匹配的标记值。标记由“匹配”触发器设置标记定义。如果没有问题事件(Problem event)关闭,那么正常事件(OK event)将不会生成。这通常被称为触发级事件关联。
事件关联

事件关联(也被称为全局事件关联)是一种设置自定义事件关闭(导致正常事件生成)的规则。

这个规则定义了新的问题事件如何于现有的问题事件配对,并通过生成相应的正常事件来关闭新的事件或匹配事件。

但是,必须仔细地配置事件关联,因为它可能会对事件处理性能造成负面影响,或者如果配置不当,则会关闭比预期更多的事件(在最坏的情况下可能会关闭所有的问题事件)。以下是几个关于配置的小提示:

  1. 通过为控制事件(与旧事件配对的事件)设置唯一的标签来减小事件关联的范围,并使用“新的事件标记(new event tag)”来关联条件;
  2. 不要忘记在使用“过去的事件标记”操作时添加基于过去事件的条件,否则可能会关闭所有现有的问题;
  3. 避免在使用不同关联配置时使用通用的标记名称。
任务管理器

如果允许在触发器中启用“允许手动关闭”,那么可以手动关闭触发器生成的问题事件。这在manual/acknowledges#更新问题的界面中完成。这个事件并不是直接关闭,而是创建一个“关闭事件”的任务,任务管理器很快会处理它。任务管理器将会生成一个相应的正常事件,并且问题事件将会关闭。