本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
配置 Grafana 托管警报规则
本文档主题专为支持 Grafana 版本 10.x 的 Grafana 工作空间而设计。
有关支持 Grafana 9.x 版本的 Grafana 工作空间,请参阅。在 Grafana 版本 9 中工作
有关支持 Grafana 8.x 版本的 Grafana 工作空间,请参阅。在 Grafana 版本 8 中工作
Grafana 管理的规则是最灵活的警报规则类型。它们允许您创建警报,这些警报可以对来自我们支持的任何数据源的数据采取行动。除了支持多个数据源外,您还可以添加表达式来转换数据和设置警报条件。还支持在警报通知中使用图像。这是唯一一种允许在单个规则定义中从多个数据源发出警报的规则类型。
一条警报规则(也称为多维警报)可以创建多个警报实例。
Grafana 托管警报规则只能由对存储规则的文件夹具有编辑权限的用户编辑或删除。
如果您删除了在 UI 中创建的警报资源,则无法再对其进行检索。要备份您的配置并恢复已删除的警报资源,请使用 Terraform 或警报 API 创建您的警报资源。
在以下步骤中,我们将介绍创建 Grafana 管理的警报规则的过程。
要创建 Grafana 管理的警报规则,请使用工作区内警报创建流程并按照以下步骤为您提供帮助。
设置警报规则名称
-
选择警报和 IRM-> 警报规则-> + 新警报规则。
-
输入名称以标识您的警报规则。
此名称显示在警报规则列表中。它也是根据此规则创建的每个警报实例的
alertname
标签。
接下来,定义一个查询以获取要测量的数据,以及触发警报规则之前需要满足的条件。
定义查询和条件
-
选择数据源。
-
从 “选项” 下拉列表中,指定时间范围。
注意
例如,Grafana 警报仅支持固定的相对时间范围。
now-24hr: now
它不支持绝对时间范围:
2021-12-02 00:00:00 to 2021-12-05 23:59:592
或半相对时间范围:now/d to: now
。 -
添加查询。
要添加多个查询,请选择添加查询。
默认情况下,所有警报规则均由 Grafana 管理。如果要切换到数据源管理的警报规则,请单击 “切换到数据源管理的警报规则”。
-
添加一个或多个表达式。
-
对于每个表达式,选择 “经典条件” 以创建单个警报规则,或者从 “数学”、“减少” 和 “重新采样” 选项中进行选择,为每个系列生成单独的警报。
注意
使用 Prometheus 时,您可以使用即时向量和内置函数,因此无需添加其他表达式。
-
选择 “预览” 以验证表达式是否成功。
-
-
[可选] 要添加恢复阈值,请打开自定义恢复阈值开关,并填写警报规则应何时停止触发的值。
您只能在查询中添加一个恢复阈值,且该阈值必须是警报条件。
-
在要设置为警报条件的查询或表达式上选择 “设置为警报条件”。
使用警报规则评估来确定评估警报规则的频率以及应以多快的速度更改其状态。
为此,您需要确保您的警报规则位于正确的评估组中,并设置最适合您的用例的待处理时间。
设置警报评估行为
-
选择一个文件夹或选择 + 新建文件夹。
-
选择评估组或单击 + 新建评估组。
如果要创建新的评估组,请为该组指定间隔。
同一组中的所有规则均在相同的时间间隔内同时进行评估。
-
输入待定时段。
待处理期是指警报规则在触发之前可能违反条件的时期。
满足条件后,警报将进入待处理状态。如果条件在指定的持续时间内保持活动状态,则警报将转换为 “触发” 状态,否则将恢复为 “正常” 状态。
-
如果需要,请开启暂停提醒通知。
注意
暂停警报规则评估以防止在调整警报时发出嘈杂的警报。暂停会停止警报规则评估,并且不会创建任何警报实例。这与静音计时不同,静音计时会阻止通知的传送,但仍允许评估警报规则和创建警报实例。
您可以暂停警报规则评估,以防止在调整警报时发出嘈杂的警报。暂停会停止警报规则评估,并且不会创建任何警报实例。这与静音计时不同,静音计时会阻止通知的传送,但仍允许评估警报规则和创建警报实例。
-
在 “不配置数据和错误处理” 中,配置缺少数据时的警报行为。
请使用本节后面的指南。
在警报规则中添加标签,以设置应使用哪种通知策略来处理您的触发警报实例。
所有警报规则和实例,无论其标签如何,都与默认通知策略相匹配。如果没有嵌套策略,或者没有嵌套策略与警报规则或警报实例中的标签相匹配,则默认的通知策略是匹配的策略。
配置通知
-
如果您想更改通知的发送方式,请添加标签。
通过从下拉列表中选择现有的键值对来添加自定义标签,或者通过输入新的键或值来添加新标签。
-
预览您的警报实例路由设置。
根据添加的标签,警报实例将路由到显示的通知策略。
展开每项通知策略以查看更多详细信息。
-
选择 “查看详细信息” 以查看警报路由详细信息和预览。
添加注释以在警报通知消息中提供有关警报的更多背景信息。
注释会添加元数据,以便在警报通知消息中提供有关警报的更多信息。例如,添加 Sum mar y 注释以告诉您哪个值导致警报触发,或者警报发生在哪个服务器上。
添加注释
-
[可选] 添加摘要。
简短总结了发生的事情和原因。
-
[可选] 添加描述。
警报规则的作用描述。
-
[可选] 添加运行手册网址。
存放警报运行手册的网页
-
[可选] 添加自定义注释
-
[可选] 添加仪表板和面板链接。
将警报链接到仪表板中的面板。
-
选择保存规则。
单维和多维规则
对于 Grafana 托管警报,您可以创建具有经典条件的规则,也可以创建多维规则。
-
典型条件下的规则
使用经典条件表达式创建在满足条件时触发单个警报的规则。对于返回多个系列的查询,Grafana 不会跟踪每个系列的警报状态。因此,即使满足多个系列的警报条件,Grafana 也只发送一个警报。
-
多维规则
要为每个系列生成单独的警报,请创建多维规则。使用
Math
Reduce
、或Resample
表达式创建多维规则。例如:-
为每个查询添加一个
Reduce
表达式,将所选时间范围内的值聚合为单个值(使用数字数据的规则不需要)。 -
添加包含规则条件的
Math
表达式。如果不应该触发规则,则查询或 reduce 表达式已经返回,或者0
如果应该触发则返回正数,则不需要。一些例子:$B > 70
如果它应该在 B 查询/表达式的值大于 70 时触发。$B < $C * 100
以防如果 B 的值小于 C 的值乘以 100,则它应该触发。如果要比较的查询的结果中有多个系列,则如果不同查询的序列具有相同的标签或一个是另一个系列的子集,则会匹配来自不同查询的序列。
-
注意
Grafana 不支持使用模板变量的警报查询。欲了解更多信息,请访问 https://community.grafana.com/t/ template-variables-are-not-supported-in-alert-queries-while-setting-up-alert /2514
不配置任何数据和错误处理
配置警报规则评估未返回任何数据或错误时的警报行为。
注意
配置为在评估未返回任何数据或错误时触发的警报规则仅在整个评估期结束时触发。这意味着,警报规则不会在违反警报规则条件时立即触发,而是等到设置为 For 字段的时间结束后再触发,从而减少警报噪音并允许临时出现数据可用性问题。
如果您的警报规则评估未返回任何数据,则可以将警报规则的状态设置为如下所示:
没有数据 | 描述 |
---|---|
没有数据 | DatasourceNoData 使用警报规则的名称和 UID 以及未返回任何数据作为标签的数据源的 UID 创建新警报。 |
提示 | 将警报规则状态设置为Alerting 。警报规则将等待 For 字段中设置的时间结束后才会触发。 |
好的 | 将警报规则状态设置为Normal 。 |
如果您的评估返回错误,则可以将警报规则的状态设置为如下所示:
错误 | 描述 |
---|---|
错误 | 使用警报规则的DatasourceError 名称和 UID 以及标签中未返回任何数据的数据源的 UID 创建警报实例。 |
提示 | 将警报规则状态设置为Alerting 。警报规则将等待 For 字段中设置的时间结束后才会触发。 |
好的 | 将警报规则状态设置为Normal 。 |
解决过时的警报实例
如果警报实例的维度或系列在两个评估间隔内完全从查询结果中消失,则该警报实例被视为过时。
处于Alerting
/NoData
/Error
状态的陈旧警报实例会自动标记为,Resolved
并将grafana_state_reason
注释与原因MissingSeries
一起添加到警报实例中。
通过面板创建警报
从任何面板类型创建警报。这意味着您可以重复使用面板中的查询,并根据这些查询创建警报。
-
在 “仪表板” 部分导航到仪表板。
-
在面板的右上角,选择三个点(省略号)。
-
从下拉菜单中选择 “更多...”,然后选择 “新建警报规则”。
这将打开警报规则表单,允许您根据当前面板的查询配置和创建警报。