基于告警指纹去重

日志服务告警管理系统在处理拥有相同指纹信息的告警时,会自动识别将这些告警为相同的告警且只保留其中一条告警,删除其余重复的告警。本文介绍基于告警指纹去重的基本原理。

原理说明

告警管理系统在处理告警时,会为每个告警计算一个指纹信息(Fingerprint),拥有相同指纹的告警被认为是相同的告警。告警的指纹信息计算依赖如下告警属性:

  • aliuid(告警监控规则所属用户ID)

  • project(告警监控规则所在项目)

  • alert_id(告警监控规则ID)

  • labels(告警标签)

示例

您配置了告警监控规则后,系统产生如下三条告警,告警管理系统会只保留Alert1和Alert3。原因如下:

  • Alert1和Alert2拥有相同的指纹信息,被系统认为是相同的告警,只保留其中一条告警数据。

  • Alert1和Alert3的标签信息(labels)不同,属于不同的告警。

// Alert1
{
  "aliuid": "12345",
  "project": "Project1",
  "alert_id": "alert-123",
  "labels": {
    "host": "host-1"
  },
  "annotations": {
    "title": "CPU使用率过高",
    "desc": "CPU当前使用率为90%"
  }
}

// Alert2
{
  "aliuid": "12345",
  "project": "Project1",
  "alert_id": "alert-123",
  "labels": {
    "host": "host-1"
  },
  "annotations": {
    "title": "CPU使用率过高",
    "desc": "CPU当前使用率为95%"
  }
}

// Alert3
{
  "aliuid": "12345",
  "project": "Project1",
  "alert_id": "alert-123",
  "labels": {
    "host": "host-2"
  },
  "annotations": {
    "title": "CPU使用率过高",
    "desc": "CPU当前使用率为90%"
  }
}