一、背景
目前告警是针对实时数值计算的结果,判定当前的值是否需要告警,存在以下问题:
- 不能知道什么时候该告警结束
- 当没有收到告警时,不能确定是因为收敛规则导致的暂时告警屏蔽,或者是 告警已经恢复引起。
二、解决思路
- 将告警的来源,从实时的时间序列值判断,变更为 异常事件的状态
- 针对异常事件进行告警的分级,升级策略
- 低等级的业务,应该经过时间的累积,达到高等级的告警
- 告警恢复了之后必须要通报
- 超时未处理可以自动关联屏蔽该实例该指标告警一段时间
三、事件开始结束判断规则
假设通过阈值、或者自动化算法判断后,某个时间序列的异常结果为 (1为异常,0为正常)
0,1,0,1,0,1,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0
↑ ↑
这里判断为事件开始 这里判断为事件结束
假设判断是否为异常为:5分钟内3个点为异常
判断是否为正常为:6分钟里面6个点为正常
四、告警通道
4 对应电话告警
3对应紧急告警
2对应告警
1对应预警
三、告警升级策略
首次判断异常 | 异常持续 | 异常结束 | |
级别 | |||
---|---|---|---|
2、3级 |
异常开始1 |
IGNORE未认领: 异常开始预警/每10分钟1 60分钟升级为告警告警/每10分钟2 120分钟升级为紧急告警/每10分钟3 180分钟升级为紧急告警/每10分钟4 ------------------- ACCEPT已认领: 异常累计时长通报/每120分钟(已认领) 123 |
恢复时以当时的告警通道发送已恢复。(电话告警以紧急告警通道发送) 123 超时未认领通知 3 |
1级 |
异常开始告警3 |
IGNORE未认领: 异常开始告警/每10分钟(未认领)3 30分钟升级为电话告警/每10分钟(未认领)4 ------------------- ACCEPT已认领:异常累计时长通报/每120分钟(已认领)3 |
异常结束紧急告警 3 超时未认领通知 3 |
S级 |
异常开始电话告警4 |
IGNORE未认领: 异常开始电话告警/每10分钟(未认领) ACCEPT已认领: 异常累计时长通报/每60分钟(已认领) |
异常结束紧急告警3 超时未认领通知3 |
四、告警事件登记配置
事件名 | 事件等级 | 最低告警通道 | 4级未认领升级 | 3级未认领升级 | 2级未认领升级 | 1级未认领升级 | 备注 |
---|---|---|---|---|---|---|---|
12121212 | C |
1 |
60(分钟内未认领)10(分钟通报一次),(已认领)120(分钟通报一次) |
120(分钟内未认领)10(分钟通报一次) (已认领)120(分钟通报一次) |
180(分钟内未认领)10(分钟通报一次) (已认领)120(分钟通报一次) |
240(分钟内未认领)10(分钟通报一次) (已认领)60(分钟通报一次) |
人话:240分钟还没人认领的话,电话也打了6次,没人到平台上认领告警,那就算了吧,属于超时未告警 |
S |
4 |
60(分钟内未认领)10(分钟通报一次) (已认领)60(分钟通报一次) |
|||||
A |
3 |
60(分钟内未认领)10(分钟通报一次) (已认领)120(分钟通报一次) |
120(分钟内未认领)10(分钟通报一次) (已认领)60(分钟通报一次) |