本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用通知策略
本文档主题专为支持 Grafana 9.x 版本的 Grafana 工作空间而设计。
有关支持 Grafana 版本 10.x 的 Grafana 工作空间,请参阅。在 Grafana 版本 10 中工作
有关支持 Grafana 8.x 版本的 Grafana 工作空间,请参阅。在 Grafana 版本 8 中工作
通知策略决定如何将警报发送到联系人。策略采用树形结构,其中每个策略可以有一个或多个子策略。除根策略外,每个策略也可以匹配特定的警报标签。每个警报先由根策略进行评估,然后由每个子策略进行评估。如果您为特定策略启用该Continue matching subsequent sibling nodes
选项,则即使经过一次或多次匹配,评估仍会继续。父策略的配置设置和联系人信息控制着与任何子策略都不匹配的警报的行为。根策略控制任何与特定策略不匹配的警报。
注意
您可以为 Grafana 托管警报创建和编辑通知策略。Alertmanager 警报的通知策略是只读的。
对通知进行分组
分组将性质相似的警报通知归类为一个漏斗。这样,当系统的许多部分同时出现故障,导致大量警报同时启动时,您可以控制较大规模的中断期间的警报通知。
分组示例
假设您在不同的环境中有 100 个服务连接到数据库。这些服务通过标签来区分env=environmentname
。已设置警报规则,用于监控您的服务是否可以访问数据库。警报规则创建名为的警报alertname=DatabaseUnreachable
。
如果出现网络分区,一半的服务无法再访问数据库,则会启动 50 个不同的警报。对于这种情况,您希望收到单页通知(而不是 50 页),其中包含受影响的环境列表。
您可以将分组配置为group_by: [alertname]
(不使用env
标签,每个服务的标签都不同)。完成此配置后,Grafana 会发送一个简洁的通知,其中包含此警报规则的所有受影响环境。
特殊群体
Grafana 有两个特殊的小组。默认组将所有警报分组到一个组中。group_by: null
您还可以使用名为的特殊标签按所有标签...
对警报进行分组,从而有效地禁用分组,并将每个警报发送到自己的组中。
使用通知
以下过程向您展示如何创建和管理通知策略。
编辑根通知策略
-
在 Grafana 控制台的 Grafana 菜单中,选择警报(铃铛)图标以打开警报页面。
-
选择通知策略。
-
从警报管理器下拉列表中,选择要编辑的警报管理器。
-
在 “根策略” 部分,选择 “编辑” 图标(钢笔)。
-
在默认联系人中,更新当警报规则与任何特定策略不匹配时,应向其发送规则通知的联系点。
-
在分组依据中,选择用于对警报进行分组的标签(或特殊组)。
-
在 “计时选项” 中,从以下选项中进行选择。
-
群组等待-发送初始通知之前等待缓冲同一组警报的时间。默认值为 30 秒。
-
群组间隔-群组两次通知之间的最小时间间隔。默认值为 5 分钟。
-
重复间隔-如果组中未添加任何新警报,则在重新发送通知之前的最短时间间隔。默认值为 4 小时。
-
-
选择 保存 以保存您的更改。
添加新的特定于顶层的策略
-
在 Grafana 控制台的 Grafana 菜单中,选择警报(铃铛)图标以打开警报页面。
-
选择通知策略。
-
从警报管理器下拉列表中,选择要编辑的警报管理器。
-
在 “特定路由” 部分中,选择 “新建特定策略”。
-
在匹配标签部分中,添加一个或多个匹配的警报标签。有关标签匹配的更多信息将在本主题的后面部分中介绍。
-
在 C ont act point 中,添加联系人,以便在警报符合此特定政策时向其发送通知。嵌套策略会覆盖此联系点。
-
(可选)启用 “继续匹配后续兄弟节点”,即使警报与当前策略相匹配,也能继续匹配兄弟姐妹策略。启用此策略后,您可以收到同一警报的多个通知。
-
(可选)选择覆盖分组以指定不同于根策略的分组。
-
(可选)选择覆盖常规计时以覆盖群组通知策略中的计时选项。
-
选择保存策略以保存您的更改。
添加嵌套策略
-
展开要在其下创建嵌套策略的特定策略。
-
选择添加嵌套策略,然后添加详细信息(就像添加顶级特定策略时一样)。
-
选择保存策略以保存您的更改。
编辑特定策略
-
在警报页面中,选择通知策略以打开列出现有策略的页面。
-
选择要编辑的策略,然后选择编辑图标(钢笔)。
-
进行任何更改(如添加顶级特定策略时)。
-
选择保存策略。
正在搜索政策
您可以按标签匹配者或联系方式在政策树中进行搜索。
-
要按联系人进行搜索,请在按联系点搜索字段中输入联系人的部分或全名。
-
要按标签搜索,请在 “按标签搜索” 字段中输入有效的标签匹配器。可以输入多个匹配器,用逗号分隔。例如,有效的匹配器输入可能是。
severity=high, region=~EMEA|NA
注意
按标签搜索时,所有匹配的策略都将完全匹配。不支持部分匹配和正则表达式匹配。
标签匹配的工作原理
如果警报的标签与策略上指定的所有匹配标签相匹配,则策略与警报匹配。
-
标签-要匹配的标签的名称。它必须与警报的标签名称完全匹配。
-
运算符-用于将标签值与匹配标签值进行比较的运算符。可用的运算符有:
-
=
选择其值与提供的字符串完全匹配的标签。 -
!=
选择其值与提供的字符串不匹配的标签。 -
=~
选择其值与所提供字符串的正则表达式解释值相匹配的标签(提供的字符串被解释为正则表达式)。 -
!=
选择与提供的正则表达式不匹配的标签。
-
-
值-要与标签值匹配的值。它可以作为字符串或正则表达式进行匹配,具体取决于所选的运算符。