创建告警监控规则时,您可以配置不同的告警策略,将触发的告警进行分组合并或者不合并操作。本文介绍基于合并基准对多种告警进行分组合并和不合并的基本原理。

分组合并

分组合并用来将具有相同特征的告警进行合并,从而形成一个合并集合。在配置告警策略时,可以在路由合并策略中配置合并基准以及其他合并集合的参数,合并基准表示根据告警的哪些属性进行分组合并。

例如,有下面四个告警:
// Alert1
{
  "alert_name": "Alert1",
  "project": "Project1",
  "labels": {
    "env": "test",
    "service": "service1"
  }
}

// Alert2
{
  "alert_name": "Alert2",
  "project": "Project1",
  "labels": {
    "env": "prod",
    "service": "service2"
  }
}

// Alert3
{
  "alert_name": "Alert3",
  "project": "Project1",
  "labels": {
    "env": "test",
    "service": "service1"
  }
}

// Alert4
{
  "alert_name": "Alert4",
  "project": "Project1",
  "labels": {
    "env": "prod",
    "service": "service2"
  }
}
  • 当合并基准为项目时:

    四个告警分组到同一个合并集合,因为它们都属于同一个项目project: Project1

  • 当合并基准为项目和env标签时:
    • Alert1和Alert3分组到同一个合并集合,因为它们都具有相同的项目project: Project1和标签labels
    • Alert2和Alert4分组到同一个合并集合,因为它们都具有相同的项目project: Project1和标签labels
  • 当合并基准为alert_name时:

    四个告警分别分组为一个合并集合,因为它们的alert_name属性各不相同。

配置合并基准

在配置告警合并策略时,可以直接使用内置的合并基准,也可以自定义合并基准。日志服务告警提供如下两种方式。

  • 内置合并基准
    • 按告警源规则+所有标签
    • 按告警源规则
    • 按告警源项目
    • 按告警源项目+严重度
    • 按告警源项目+所有标签
  • 自定义合并基准
    可使用告警属性和告警标签作为自定义合并基准。
    • 可以作为合并基准的告警属性包括用户aliuid、告警规则ID、告警显示名称、告警严重度、规则所在区域和规则所在项目。
    • 可以作为合并基准的告警标签包括不使用标签、使用所有标签和自定义标签。

不合并机制

在告警策略的路由合并配置中,如果设置合并基准告警规则+所有标签,则告警会按照合并基准分到不同合并集合。
  • 当告警监控规则使用此告警策略时,触发的告警不会和其他告警监控规则触发告警进行合并。
  • 如果创建告警监控规则时,开启分组评估功能,那么同一告警触发的不同分组的告警,由于其标签不同,也不会合并。

创建告警监控规则时,告警策略配置为不打开高级选项开关,则默认使用SLS内置动态告警策略(sls.builtin.dynamic)。该告警策略的合并基准告警规则+所有标签,那么触发的告警均不会被合并。

例如,有如下两个告警监控规则:
  • 告警监控规则1开启分组评估,告警策略配置为不打开高级选项开关,合并基准告警规则+所有标签。那么告警管理将分别发送主机1告警、主机2告警和主机3告警通知。
  • 告警监控规则2不开启分组评估,告警策略配置为不打开高级选项开关,合并基准告警规则+所有标签。那么告警管理将发送一条包含所有主机的告警通知。
buhebing