一、告警规则设计导论
大家好,我是你们的老朋友。今天咱们聊聊告警规则设计这件事。
说实话,我在这个行业摸爬滚打了十几年,见过太多因为告警规则设计不合理导致的线上事故。有的团队告警太多,运维人员直接躺平;有的团队告警太少,出了事才发现。嗯,这两种我都经历过。
1.1 什么是告警?
告警,说白了就是系统在告诉你:「嘿,出问题了,快来看看!」
但这里有个关键点——告警不是目的,而是手段。我们真正想要的是:在用户发现问题之前,先发现问题。
我个人习惯把告警分成三类:
- 故障告警:系统已经挂了,需要立即处理。比如服务502、数据库连接失败。
- 风险告警:系统还能跑,但指标在恶化。比如CPU使用率持续上升、内存泄漏。
- 通知告警:只是告诉你一声,不需要立即处理。比如版本发布成功、备份完成。
核心观点:好的告警规则,应该让故障告警少而精,风险告警及时准确,通知告警不打扰人。
我在项目中遇到过最典型的反面教材:某团队给每个服务都配了「CPU > 80%」的告警,结果每天收到上千条告警。最后运维同学直接把告警群屏蔽了——这跟没有告警有什么区别?
1.2 告警的黄金三要素
聊到告警规则,就绕不开这三个东西:指标、阈值、持续时间。我管它们叫「黄金三要素」。缺一个,告警就不完整。
1.2.1 指标(Metric)
指标就是你要监控什么。常见的包括:
- 资源指标:CPU、内存、磁盘、网络
- 应用指标:QPS、响应时间、错误率
- 业务指标:订单量、用户活跃数、支付成功率
选指标有个原则:选能反映用户体验的,而不是选容易采集的。
举个例子,你监控了服务器的CPU使用率,但用户访问很慢。这时候CPU指标其实没太大意义。真正该看的是接口的P99响应时间。
我的经验:刚开始做监控时,我恨不得把所有指标都加上告警。后来发现,指标越多,噪音越大。现在我的做法是:先选3-5个核心指标,跑通后再逐步扩展。
1.2.2 阈值(Threshold)
阈值就是「到什么程度算有问题」。这里有个坑——很多人喜欢拍脑袋定阈值。
比如:「CPU超过80%就告警」。为什么是80%?不是90%?不是70%?
我曾经在一个项目中,运维同学把阈值设成「磁盘使用率 > 90%」。结果某天凌晨3点,磁盘涨到89.9%,没触发告警。半小时后,磁盘满了,服务全挂。嗯,这就是阈值设得太死板的后果。
阈值设计有几种常见方式:
| 方式 | 说明 | 适用场景 |
|---|---|---|
| 固定阈值 | 写死的数值,比如CPU > 80% | 资源指标,变化规律明显 |
| 动态阈值 | 基于历史数据自动计算 | 业务指标,有周期性波动 |
| 同比/环比 | 和昨天/上周同一时间对比 | 流量类指标,有日/周规律 |
避坑指南:我曾经见过一个团队,把所有告警阈值都设成固定值。结果业务高峰期天天误报,低峰期又漏报。后来改用动态阈值,误报率降了70%。
1.2.3 持续时间(Duration)
持续时间是很多人容易忽略的要素。它的作用是:避免因为瞬时抖动而误报。
你想想看,CPU偶尔飙到90%然后马上降下来,这算问题吗?不算。但如果持续5分钟都在90%以上,那就要注意了。
持续时间的设计原则:
- 短时间(几秒到1分钟):用于快速响应的场景,比如服务挂了
- 中等时间(1-5分钟):用于资源类指标,比如CPU、内存
- 长时间(5-15分钟):用于趋势类指标,比如磁盘使用率缓慢增长
我个人习惯:宁可多等30秒,也不要误报一次。因为误报会消耗信任,信任一旦没了,告警系统就废了。
1.3 告警规则在AIOps中的定位
说到AIOps,很多人觉得就是「用AI代替人工」。其实不是。AIOps的核心是辅助决策,而不是替代决策。
告警规则在AIOps中扮演什么角色?我总结了三层:
- 基础层:规则驱动的告警。这是最传统的方式,基于固定阈值、持续时间等规则。
- 增强层:规则+算法的告警。比如用动态阈值、异常检测算法来辅助规则。
- 智能层:算法驱动的告警。比如用机器学习模型自动发现异常,甚至预测故障。
但说实话,我见过很多团队一上来就想搞智能层,结果连基础层的规则都没做好。这就像还没学会走路就想跑。
我的建议:先把基础层的告警规则做到极致,再逐步引入算法。AIOps不是银弹,它只是帮你把规则做得更聪明。
下面这张图展示了告警规则在AIOps体系中的位置:
你看这张图,从下往上,复杂度越来越高,但稳定性要求也越来越高。我的建议是:先打好基础层,再逐步向上演进。
一个小技巧:在引入AIOps能力之前,先把基础告警规则的准确率做到90%以上。否则,算法再牛也救不了烂数据。
小结
这一章我们聊了三个核心问题:
- 告警是什么——它是手段,不是目的
- 黄金三要素——指标、阈值、持续时间,缺一不可
- 告警规则在AIOps中的定位——从基础到智能,一步步来
我记得刚入行时,带我的老工程师说过一句话:「告警规则设计得好不好,直接决定了你晚上能不能睡个好觉。」现在想想,这话一点不假。
下一章,我们会深入聊聊如何设计高质量的告警规则。到时候见。