[comment]: # translation:outdated

[comment]: # ({e0e52cee-e0e52cee})
# 1 触发器事件生成

[comment]: # ({/e0e52cee-e0e52cee})

[comment]: # ({5a424184-5a424184})
#### 概述

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

触发器会创建两种类型的事件：Problem(问题)和OK(恢复)。

[comment]: # ({/5a424184-5a424184})

[comment]: # ({c55e2b71-b13ee7a9})
#### 问题事件

以下情况，会创建一个问题事件：

-   当触发器状态正常，触发器表达式评估结果为TRUE时；
-   当触发器启用了多重问题事件生成，每次触发器表达式评估结果为TRUE时。

[comment]: # ({/c55e2b71-b13ee7a9})

[comment]: # ({6f89a5a0-6f89a5a0})
#### 正常事件

一个正常事件会关闭关联的问题事件，可由以下3个部分生成：

-   触发器——基于“正常事件生成”和“正常事件关闭”
-   事件关联
-   任务管理——当一个事件[手动关闭](/manual/config/events/manual_close)时

[comment]: # ({/6f89a5a0-6f89a5a0})

[comment]: # ({8e1a9fc3-8e1a9fc3})
##### 触发器

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

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

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

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

[comment]: # ({/8e1a9fc3-8e1a9fc3})

[comment]: # ({ad7b6e93-ad7b6e93})
##### 事件关联

事件关联（也称为全局事件关联）是一种设置自定义事件关闭（导致事件成功迭代）规则的方法。

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

但是，事件关联必须非常小心地配置，因为它会对事件处理性能产生负面影响，或者如果配置错误，会关闭比预期更多的事件（在最坏的情况下甚至所有问题事件都可能被关闭）。一些配置技巧：

1. 始终通过为控制事件（与旧事件配对的事件）设置唯一标签来减少关联范围，并使用“新事件标签”关联条件

2. 当使用“关闭旧事件”操作时，不要忘记添加基于旧事件的条件，否则所有现有问题都可能被关闭

3. 避免使用不同关联配置使用的通用标签名称

[comment]: # ({/ad7b6e93-ad7b6e93})

[comment]: # ({9d983dac-00be2f5b})
##### 任务管理器

如果触发器启用了“允许手动关闭”的设置，就可以手动关闭触发器生成的问题事件。该操作在前端页面[更新问题](/manual/acknowledgment#更新问题)时进行，事件不是直接关闭的—而是会生成一个“关闭事件”的任务，很快会由任务管理器处理。问题事件会被关闭，任务管理器会生成对应的正常事件。

[comment]: # ({/9d983dac-00be2f5b})
