

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 创建警报
<a name="old-create-alerts"></a>

****  
本文档主题讨论了 Grafana 中的传统警报。亚马逊托管 Grafana 版本 12 中删除了旧版警报。在升级到 v12 之前，您必须迁移到 Grafana 警报。有关更多信息，请参阅下列主题之一。  
对于支持 Grafana 10.x 版本的 Grafana 工作区，请参阅[Grafana 10 版本中的警报](v10-alerts.md)。  
对于支持 Grafana 9.x 版本的 Grafana 工作区，请参阅[Grafana 9 版本中的警报](v9-alerts.md)。  
对于支持 Grafana 8.x 版本的 Grafana 工作区，请参阅[Grafana Alerting](alerts-overview.md)。

 当您使用 Amazon Managed Grafana Alerting 时，您可以将规则附加到控制面板的面板中。当您保存控制面板时，Amazon Managed Grafana 会将警报规则提取到单独的警报规则存储中，并安排对它们进行评估。

 在图形面板的**警报**选项卡上，您可以配置评估警报规则的频率以及警报更改状态和启动其通知所必须满足的条件。

 当前，只有图形面板支持警报规则。

## 添加或编辑警报规则
<a name="old-add-or-edit-an-alert-rule"></a>

1.  导航到添加或编辑警报规则的面板，选择标题，然后选择**编辑**。

1.  在**警报**选项卡上，选择**创建警报**。如果此面板已存在警报，则可以编辑**警报**选项卡上的字段。

1.  填写以下字段。有关更多信息，请参阅 [警报规则字段](#old-alert-rule-fields)。

1.  编写完规则后，选择右上角的**保存**以保存警报规则和控制面板。

1.  （可选，但建议使用）要确保规则返回预期的结果，请选择**测试规则**。

## 删除警报规则
<a name="old-delete-an-alert"></a>

 要删除警报，请滚动到警报底部，然后选择**删除**。

## 警报规则字段
<a name="old-alert-rule-fields"></a>

 本节介绍创建警报需要填写的字段。

### 规则
<a name="old-rule"></a>
+  **名称**：请输入描述性名称。该名称将显示在**警报规则**列表中。
+  **评估每项**：指定调度程序应评估警报规则的频率。这称为*评估间隔*。
+  **时长**：指定查询在触发警报通知之前必须超过配置阈值的时长。

**警告**  
请勿在 `If no data or all values are null` 设置为 `No Data` 的情况下使用 `For`。`No Data` 的触发将立即发生，而不考虑 `For`。如果警报从 `No Data -> Pending -> OK` 中转换，这也可能导致不发送“确认”通知。

 如果警报规则中配置了 `For`，但查询违反了配置的阈值，则它将首先从 `OK` 变为 `Pending`。从 `OK` 到 `Pending` 的过程中，Amazon Managed Grafana 不发送任何通知。当警报规则的触发时间超过 `For` 持续时间时，它将更改为 `Alerting` 并发送警报通知。

 通常，我们建议使用此设置，因为获得误报通常比等待几分钟才启动警报通知的结果更糟。查看 `Alert list` 或 `Alert list panels` 使您能够看到处于待处理状态的警报。

### Conditions
<a name="old-conditions"></a>

 当前，唯一现有的条件类型是 `Query` 条件，允许您指定查询字母、时间范围和聚合函数。

#### 查询条件示例
<a name="old-query-condition-example"></a>

```
avg() OF query(A, 15m, now) IS BELOW 14
```
+  `avg()` 控制如何将**每个**序列的值减少到可以与阈值进行比较的值。选择该函数将其更改为另一个聚合函数。
+  `query(A, 15m, now)` 字母定义了要从**指标**选项卡运行的查询。后两个参数定义了时间范围：`15m, now` 表示 15 分钟前到现在。您也可以使用 `10m, now-2m` 来定义 10 分钟前到 2 分钟前的时间范围。如果您想忽略前两分钟的数据，则此操作会很有用。
+  `IS BELOW 14` 定义阈值的类型和阈值。您可以选择 `IS BELOW` 来更改阈值的类型。

 警报规则中使用的查询不能包含任何模板变量。目前，我们仅支持在条件之间使用 `AND` 和 `OR` 运算符，并且它们按串行的方式运行。例如，我们有三个按以下顺序排列的条件：*condition:A(evaluates to: TRUE) OR condition:B(evaluates to: FALSE) AND condition:C(evaluates to: TRUE)*，因此计算得到的结果为 ((TRUE OR FALSE) AND TRUE) = TRUE。

#### 多个序列
<a name="old-multiple-series"></a>

 如果查询返回多个序列，则将评估每个序列的聚合函数和阈值检查。目前，Amazon Managed Grafana 不会对**每个序列**的警报规则状态进行跟踪。以下场景详细说明了其影响。
+  带有返回以下两个序列的查询的警报条件：**server1** 和 **server2**。
+  **server1** 序列会导致触发警报规则并切换到状态 `Alerting`。
+  发送通知时会显示以下消息：*负载达到峰值（server1）* 
+  在同一警报规则的后续评估中，**server2** 序列还会导致警报规则触发。
+  由于警报规则已处于状态 `Alerting`，因此不会发送任何新通知。

从前面的场景中可以看出，如果规则已经处于状态 `Alerting`，那么当其他序列导致警报触发时，Grafana 不会发送通知。

**注意**  
 您可以将提醒配置为针对触发的警报发送。当警报继续触发时，此配置将发送额外通知。如果其他序列（例如上一个示例中的 server2）也导致警报规则触发，则它们将包含在提醒通知中。根据您使用的通知渠道，您可以利用此功能来识别导致警报触发的新序列或现有序列。

### 没有数据和错误处理
<a name="old-no-data-error-handling"></a>

 下表包含的条件用于控制规则评估引擎如何处理不返回任何数据或仅返回空值的查询。


|  无数据选项  |  说明  | 
| --- | --- | 
|  无数据  |  将警报规则状态设置为 NoData。 | 
|  警报  |  将警报规则状态设置为 Alerting。 | 
|  保留上一状态  |  不管当前警报规则状态如何，都保持当前的状态。 | 
|  确定  | 支持，但通常没有用。 | 

### 执行错误或超时
<a name="old-execution-errors-or-timeouts"></a>

 以下选项告诉 Amazon Managed Grafana 如何处理执行或超时错误。


|  错误或超时选项  |  说明  | 
| --- | --- | 
|  警报  |  将警报规则状态设置为 Alerting。 | 
|  保留上一状态  |  不管当前警报规则状态如何，都保持当前的状态。 | 

 如果您有一个不可靠的时间序列存储，其中查询有时会超时或随机失败，则可以将此选项设置为 `Keep Last State` 以基本上忽略它们。

## 通知
<a name="old-alert-notifications-1"></a>

 在**警报**选项卡上，您还可以指定警报规则通知和有关警报规则的详细消息。该消息可以包含有关如何解决问题以及运行手册的链接等任何信息。

 实际的通知是在多个警报之间配置和共享的。有关如何配置和设置通知的信息，请参阅 [警报通知](old-alert-notifications.md)。
+  **发送至**：如果您已设置警报通知渠道，请选择该渠道。
+  **消息**：输入要在通知渠道上发送的文本消息。某些警报通知器支持将文本转换为 HTML 或其他丰富格式。
+  **标签**：指定要包含在通知中的标签（键值）列表。只有一些通知程序支持标签。

## 警报状态历史记录和注释
<a name="old-alert-state-history-and-annotations"></a>

 警报状态更改记录在 Amazon Managed Grafana 数据库的内部注释表中。状态变化在警报规则的图形面板中以注释的形式可视化。您也可以进入**警报**选项卡上的 `State history` 子菜单来查看和清除状态历史记录。