通知策略
通知策略提供了一种灵活的方式,用于设计如何处理通知并最大程度地减少告警噪音。
使用标签匹配器,告警实例会被路由到通知策略。然后,通知策略可以将多个告警实例分组为一个通知,并将其发送到联系点。

通知策略*不是*列表,而是按照树状结构构建的
- 通知策略树的根节点是**默认通知策略**。
- 每个策略可以有子策略。
- 每个策略可以有同级策略,共享相同的父策略和层级。
每个策略包含一组标签匹配器(0 个或更多),用于指定它们是否关注处理哪些告警。匹配策略是指具有与告警实例标签匹配的标签匹配器的通知策略。
使用标签和标签匹配器将告警规则关联到通知策略和静默。这提供了一种灵活的方式来管理你的告警实例,指定哪个策略应该处理它们,以及哪些告警应该静默。
标签匹配器由 3 个不同的部分组成:**标签**、**值**和**操作符**。
**标签**字段是要匹配的标签名称。它必须与标签名称完全一致。
**值**字段与指定的**标签**名称的对应值进行匹配。如何匹配取决于**操作符**的值。
**操作符**字段是用于匹配标签值的操作符。可用的操作符有
操作符 描述 =
选择与该值完全相等的标签。 !=
选择与该值不相等的标签。 =~
选择与该值正则表达式匹配的标签。 !~
选择与该值不正则表达式匹配的标签。
注意
如果你使用多个标签匹配器,它们会使用 AND 逻辑运算符组合。这意味着所有匹配器都必须匹配才能将规则关联到策略。
标签匹配示例
如果为告警定义以下标签集
{ foo=bar, baz=qux, id=12 }
则
- 定义为
foo=bar
的标签匹配器会匹配此告警规则。 - 定义为
foo!=bar
的标签匹配器*不会*匹配此告警规则。 - 定义为
id=~[0-9]+
的标签匹配器会匹配此告警规则。 - 定义为
baz!~[0-9]+
的标签匹配器会匹配此告警规则。 - 定义为
foo=bar
和id=~[0-9]+
的两个标签匹配器会匹配此告警规则。
排除标签
你也可以编写标签匹配器来排除标签。
这是一个示例,展示了如何排除标签 Team
。你可以选择以下任一值来排除标签。
标签 | 操作符 | 值 |
---|---|---|
team | = | "" |
team | !~ | .+ |
team | =~ | ^$ |

提示
有关使用通知策略进行路由的实际示例,请参阅我们的开始使用告警实例和通知路由 教程。
路由
为了确定哪些通知策略处理告警实例,系统会从树的顶部开始查找匹配的策略——从默认通知策略开始。
如果找到匹配的策略,系统将按照显示的顺序继续评估其子策略。如果子策略与告警匹配,系统将递归地评估其子策略,直到没有更多匹配的子策略为止。在这种情况下,只有最深层匹配的子策略处理告警实例。
默认情况下,一旦找到匹配的策略,系统不会继续查找同级策略。如果你希望某个匹配策略的同级策略也处理该告警实例,则在该特定匹配策略上启用**继续匹配同级策略**。
注意
默认通知策略匹配所有告警实例。如果不存在子策略,或者没有子策略与告警实例的标签匹配,它总是会处理告警实例——这可以防止任何告警被遗漏。
如果告警使用多个标签,这些标签也必须存在于通知策略中,才能匹配并将通知路由到特定的联系点。
以下是先前示例的详细说明
Pod stuck in CrashLoop 没有 severity
标签,因此没有子策略匹配。它有 team=operations
标签,所以第一个策略匹配。
team=security
策略不匹配,并且该策略未配置**继续匹配同级策略**。
Disk Usage – 80% 同时具有 team
和 severity
标签,并匹配 operations 团队的子策略。
注意
当一个告警同时匹配父策略和子策略(如本例所示)时,由于子策略 (
severity
) 提供了更具体的匹配,路由将遵循子策略。
Unauthorized log entry 有一个 team
标签,但不匹配第一个策略 (team=operations
),因为值不同,所以它将继续搜索并匹配 team=security
策略。它没有任何子策略,因此额外的 severity=high
标签会被忽略。
这种路由和树状结构使得按专门团队组织和处理告警变得便捷,同时通过应用附加标签在团队内部细化特定情况。
继承
除了子策略是路由告警实例的有用概念外,它们还从其父策略继承属性。这也适用于默认通知策略的子策略。
默认情况下,子策略会从其父策略继承以下通知属性
然后,每个策略可以在需要时覆盖这些属性。
通知属性的继承以及路由过程是一种有效的方法,用于分组相关的通知并通过子策略处理特定情况。
继承示例

此示例展示了先前示例中的通知策略树如何允许 team=operations
的子策略继承其联系点。通过这种方式,你可以避免为每个子策略多次指定相同的联系点。