日志服务告警管理系统在处理拥有相同指纹信息的告警时,会自动识别将这些告警为相同的告警且只保留其中一条告警,删除其余重复的告警。本文介绍基于告警指纹去重的基本原理。
原理说明
告警管理系统在处理告警时,会为每个告警计算一个指纹信息(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%"
}
}