使用通知策略 - Amazon Managed Grafana

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

使用通知策略

本文档主题专为支持 Grafana 8.x 版本的 Grafana 工作空间而设计。

有关支持 Grafana 版本 10.x 的 Grafana 工作空间,请参阅。在 Grafana 版本 10 中工作

有关支持 Grafana 9.x 版本的 Grafana 工作空间,请参阅。在 Grafana 版本 9 中工作

通知策略决定如何将警报发送到联系人。策略采用树形结构,其中每个策略可以有一个或多个子策略。除根策略外,每个策略也可以匹配特定的警报标签。每个警报先由根策略进行评估,然后由每个子策略进行评估。如果您为特定策略启用该Continue matching subsequent sibling nodes选项,则即使经过一次或多次匹配,评估仍会继续。父策略的配置设置和联系人信息控制着与任何子策略都不匹配的警报的行为。根策略控制任何与特定策略不匹配的警报。

注意

您可以为 Grafana 托管警报创建和编辑通知策略。Alertmanager 警报的通知策略是只读的。

对通知进行分组

分组将性质相似的警报通知归类为一个漏斗。这样,当系统的许多部分同时出现故障,导致大量警报同时启动时,您可以控制较大规模的中断期间的警报通知。

分组示例

假设您在不同的环境中有 100 个服务连接到数据库。这些服务按标签区分env=environmentname。已设置警报规则,用于监控您的服务是否可以访问数据库。警报规则创建名为的警报alertname=DatabaseUnreachable

如果出现网络分区,一半的服务无法再访问数据库,则会启动 50 个不同的警报。对于这种情况,您希望收到单页通知(而不是 50 页),其中包含受影响的环境列表。

您可以将分组配置为group_by: [alertname](不使用env标签,每个服务的标签都不同)。完成此配置后,Grafana 会发送一个简洁的通知,其中包含此警报规则的所有受影响环境。

特殊群体

Grafana 有两个特殊的小组。默认组将所有警报分组到一个组中。group_by: null您还可以使用名为的特殊标签按所有标签...对警报进行分组,从而有效地禁用分组,并将每个警报发送到自己的组中。

使用通知

以下过程向您展示如何创建和管理通知策略。

编辑根通知策略
  1. 在 Grafana 控制台的 Grafana 菜单中,选择警报(铃铛)图标打开警报页面。

  2. 选择通知策略

  3. 警报管理器下拉列表中,选择要编辑的警报管理器。

  4. 根策略部分,选择编辑图标(钢笔)。

  5. “默认联系点” 中,更新当警报规则与任何特定策略不匹配时,应向其发送规则通知的联系点。

  6. 分组依据中,选择用于对警报进行分组的标签(或特殊组)。

  7. 在 “计时选项” 中,从以下选项中进行选择。

    • 群组等待-发送初始通知之前等待缓冲同一组警报的时间。默认值为 30 秒。

    • 群组间隔-群组两次通知之间的最小时间间隔。默认值为 5 分钟。

    • 重复间隔-如果组中未添加任何新警报,则在重新发送通知之前的最短时间间隔。默认值为 4 小时。

  8. 选择 保存 以保存您的更改。

添加新的特定于顶层的策略
  1. 在 Grafana 控制台的 Grafana 菜单中,选择警报(铃铛)图标打开警报页面。

  2. 选择通知策略

  3. 警报管理器下拉列表中,选择要编辑的警报管理器。

  4. 在 “特定路由” 部分中,选择 “新建特定策略”。

  5. 匹配标签部分中,添加一个或多个匹配的警报标签。有关标签匹配的更多信息将在本主题的后面介绍。

  6. 在 C ont act point 中,添加联系人,以便在警报符合此特定政策时向其发送通知。嵌套策略会覆盖此联系点。

  7. (可选)选择覆盖分组以指定不同于根策略的分组。

  8. (可选)选择覆盖常规计时以覆盖群组通知策略中的计时选项。

  9. 选择保存策略以保存您的更改。

添加嵌套策略
  1. 展开要在其下创建嵌套策略的特定策略。

  2. 选择添加嵌套策略,然后添加详细信息(就像添加顶级特定策略时一样)。

  3. 选择保存策略以保存您的更改。

编辑特定策略
  1. 警报页面中,选择通知策略以打开列出现有策略的页面。

  2. 选择要编辑的策略,然后选择编辑图标(钢笔)。

  3. 进行任何更改(如添加顶级特定策略时)。

  4. 选择保存策略

标签匹配的工作原理

如果警报的标签与策略上指定的所有匹配标签相匹配,则策略与警报匹配。

  • 标签-要匹配的标签的名称。它必须与警报的标签名称完全匹配。

  • 运算符-用于将标签值与匹配标签值进行比较的运算符。可用的运算符有:

    • =选择其值与提供的字符串完全匹配的标签。

    • !=选择其值与提供的字符串不匹配的标签。

    • =~选择其值与所提供字符串的正则表达式解释值相匹配的标签(提供的字符串被解释为正则表达式)。

    • !=选择与提供的正则表达式不匹配的标签。

  • -要与标签值匹配的值。它可以作为字符串或正则表达式进行匹配,具体取决于所选的运算符。

静音计时

静音计时是指不生成或发送任何新策略通知的重复时间间隔。使用它们可以防止警报触发特定的重复周期,例如定期维护期。

与静音类似,静音计时不会阻止对警报规则进行评估,也不会阻止警报实例显示在用户界面中。它们只会阻止创建通知。

您可以为外部 Alertmanager 数据源配置 Grafana 管理的静音计时以及静音计时。

静音计时与静音时间对比

下表突出显示了静音计时和静音之间的区别。

静音计时 沉默

使用可以重复出现的时间间隔定义

有固定的开始和结束时间

已创建,然后添加到通知策略中

使用标签与警报进行匹配以确定是否静音

创建静音计时
  1. 在 Grafana 控制台的 Grafana 菜单中,选择警报(铃铛)图标打开警报页面。

  2. 选择通知策略

  3. 警报管理器下拉列表中,选择要编辑的警报管理器。

  4. 在 “静音计时” 部分中,选择 “添加静音计时” 按钮。

  5. 选择要应用静音计时的时间间隔。

  6. 选择 “提交” 以创建静音计时。

在通知策略中添加静音计时
  1. 选择您要添加静音计时的通知策略,然后选择 “编辑” 按钮。

  2. 从 “静音计时” 下拉列表中,选择要添加到策略中的静音计时。

    选择 “保存策略” 按钮。

时间间隔

时间间隔是对时间范围的定义。如果在此时间间隔内启动警报,则该警报将被抑制。使用:(例如monday:thursday)支持范围。静音计时可以包含多个时间间隔。时间间隔由多个字段组成(详细信息见下表),所有字段都必须匹配才能抑制警报。例如,如果您指定一周中的某几天monday:friday和时间范围为 8:00-9:00,则在周一至周五的 8-9 之间会抑制警报,但不会抑制例如星期六 8-9 的警报。

  • 时间范围-一天中禁止显示通知的时间。由两个子字段组成,“开始时间” 和 “结束时间”。例如,时间是14:30。时间以 24 小时表示法,以 UTC 表示。

  • 一周中的几天 — 一周中的几天。可以是单一天(例如)monday,一个范围(例如)monday:friday,也可以是逗号分隔的日期列表,例如。monday, tuesday, wednesday

  • -要选择的月份。例如,您可以使用数字指定月份,也可以使用完整的月份名称来指定月份,1或者january两者都指定一月。您可以指定单个月份、月份范围或以逗号分隔的月份列表。

  • 一个月中的天数-一个月内的日期。值的范围可以介于 1-31。负值以相反的顺序指定当月的日期,因此-1表示该月的最后一天。可以将月份中的天数指定为一天、一组天或以逗号分隔的天数列表。