Appearance
监控与告警收敛
监控的目标不是把所有信号都收上来,而是让真正重要的问题能被及时看到。告警如果太多,最后结果往往不是“更安全”,而是“大家都开始忽略它”。
背景
很多系统初期都会经历一个阶段:先把能想到的指标都接进来,先把告警规则都开起来。短期看信息很多,长期看则会变成噪声来源。
这次收敛的目标是:
- 降低无效告警
- 保留关键链路
- 明确告警责任边界
- 让排障路径更清楚
先看指标
监控系统一般不缺数据,缺的是解释这些数据的上下文。因此首先要确认:
- 哪些指标是业务关键指标
- 哪些指标只是辅助观察
- 哪些指标能直接反映故障
- 哪些指标只适合作为趋势参考
例如:
- CPU 和内存更适合做资源态势判断
- 错误率、延迟和请求量更适合做服务健康判断
- 容器重启、Pod 不可用更适合做基础设施判断
如果所有指标都被放进同一级告警,最后很容易变成无人处理的告警列表。
告警分层
一个更稳妥的方式是把告警分层:
1. 紧急告警
需要立刻响应的问题,例如:
- 核心入口不可用
- 服务大面积报错
- 节点或存储不可用
2. 提醒告警
不一定立即处理,但需要在工作时间关注的问题,例如:
- 磁盘空间逐步下降
- 资源使用率接近阈值
- 某个实例长期处于不健康状态
3. 观察项
暂时不触发消息通知,只保留在面板上观察趋势。
这样做的好处是把“必须立即知道的事”和“以后再看也行的事”区分开来。
告警规则调整
告警规则收敛时,通常会做这些动作:
- 提高明显过敏的阈值
- 增加持续时间判断,避免抖动触发
- 给短暂波动加缓冲窗口
- 合并重复告警
- 补充可读性更好的告警文案
一个好的告警文本,至少要让人知道:
- 哪里出问题了
- 大概严重到什么程度
- 先看什么
如果告警只是一串技术字段,处理成本会高很多。
仪表盘整理
告警收敛通常要配合仪表盘整理。一个好的面板应该尽量做到:
- 一眼看出系统是否健康
- 一眼看出主要瓶颈在哪里
- 一眼找到进一步排障的入口
通常可以按三层布局:
- 总览层
- 服务层
- 资源层
这样在收到告警时,可以更快从总览跳到具体服务,再往下看节点和容器。
复盘
监控不是越多越好,告警也不是越密越安全。真正有效的监控,是把注意力集中到少量高质量信号上。
这次收敛之后,系统最大的变化不是指标数量变少,而是“看到问题时知道下一步该看哪里”了。