1 触发器事件生成

概述

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

触发器会创建两种类型的事件:Problem 和 OK。

问题事件

在以下情况下会创建问题事件:

  • 当触发器处于 OK 状态时,如果触发器表达式计算结果为 TRUE;
  • 如果为该触发器启用了多个问题事件生成功能,则每次触发器表达式计算结果为 TRUE 时,都会创建问题事件。

OK 事件

OK 事件会关闭相关的问题事件,并且可由 3 个组件创建:

  • 触发器 - 基于“OK 事件生成”和“OK 事件关闭”设置;
  • 事件关联
  • 任务管理器 - 当事件被手动关闭时
触发器

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

  • 表达式——当触发器在问题状态其表达式评估为FALSE时,会生成一个正常事件。这是最简单的设置,默认启用。
  • 恢复表达式——当触发器表达式评估为FALSE且恢复表达式评估为TRUE时。将处于问题状态的触发器变为正常状态。如果触发器恢复条件与问题条件不同可以使用此设置。
  • 无——不生成正常事件,可结合多重问题事件生成使用,当某事件发生时可以简单地发送通知。

此外,触发器有“事件成功关闭”的设置来控制关闭哪些问题事件:

  • 所有问题 ——正常事件会关闭该触发器打开的所有问题事件。
  • 标签值匹配的所有问题 ——正常事件会关闭该触发器打开的所有问题事件并且至少有一个匹配的标签值。此标签由“匹配标签“的触发器设置。如果没有要关闭的问题事件就不会生成正常事件。这通常称为触发器级别事件关联。
事件关联

事件关联(也称为全局事件关联)是一种设置自定义事件关闭规则(从而生成 OK 事件)的方法。

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

但是,必须非常谨慎地配置事件关联,因为它可能会对事件处理性能产生负面影响;如果配置不当,还可能关闭超出预期数量的事件(在最坏情况下,甚至可能关闭所有问题事件)。以下是一些配置建议:

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

如果为触发器启用了“允许手动关闭”设置,则可以手动关闭由该触发器生成的问题事件。这是在前端中更新问题时完成的。事件不会被直接关闭——而是会创建一个“关闭事件”任务,随后很快由任务管理器处理。任务管理器将生成相应的 OK 事件,并且该问题事件将被关闭。