1. 告警基础认知
做运维这些年,我处理过太多告警了。说实话,刚入行那会儿,看到告警就慌。后来慢慢摸清了门道——告警不是敌人,它是你的哨兵。这一章,咱们就把告警的基础认知聊透。
什么是告警
告警,说白了就是系统在喊「救命」。它告诉你某个指标不对劲了,需要你关注。
举个例子:你部署了一个Web服务,正常QPS是1000。突然某天QPS掉到100,系统就会发出告警。这不是系统在捣乱,而是它在提醒你——出问题了。
我在项目中遇到过一件事:有个同事把告警阈值设得太低,结果每天收到几千条告警。最后他直接把告警通知关了。嗯,后果可想而知——服务挂了两个小时才发现。
告警的生命周期
告警不是凭空产生,也不是凭空消失的。它有自己的生命周期。你想想看,一个告警从出生到死亡,大概经历这几个阶段:
- 触发阶段——系统检测到异常,生成告警
- 确认阶段——运维人员收到告警,开始排查
- 处理阶段——定位问题,制定修复方案
- 恢复阶段——问题解决,告警消除
- 复盘阶段——分析根因,优化告警规则
我记得有一次,一个P0告警半夜两点触发。我爬起来处理,花了半小时定位到是数据库连接池满了。修复后告警自动恢复。但第二天复盘时发现——这个告警其实可以提前预防的。从那以后,我养成了每周复盘告警的习惯。
告警的等级划分(P0-P4)
告警等级这事儿,不同公司定义不太一样。但大体上,P0到P4是通用的。我整理了一个表格,方便你对照:
| 等级 | 含义 | 响应时间 | 典型场景 |
|---|---|---|---|
| P0 | 核心服务不可用 | 立即响应(5分钟内) | 支付服务挂了、数据库宕机 |
| P1 | 重要功能受损 | 15分钟内 | 用户登录失败、订单超时 |
| P2 | 非核心功能异常 | 1小时内 | 某个报表生成失败 |
| P3 | 轻微异常 | 24小时内 | 磁盘使用率超过80% |
| P4 | 信息性告警 | 不强制响应 | 版本更新通知 |
这里有个坑,我曾经踩过:P0告警的响应时间定得太宽松。结果有一次支付服务挂了,团队花了20分钟才响应。用户投诉电话都打爆了。所以我的建议是——P0告警必须做到「秒级响应」。
告警与日志的区别
这个问题,我经常被新人问到。告警和日志,听起来像是一回事,其实差别很大。
告警是「主动通知」——系统发现问题,主动找你。它关注的是「异常」和「阈值」。
日志是「被动记录」——系统把发生的事情写下来,等你去看。它关注的是「全量」和「细节」。
打个比方:告警就像家里的烟雾报警器,着火了它会响。日志就像监控摄像头,24小时录像,但没人会一直盯着看。
我在项目中遇到过一种情况:有个服务频繁报错,但告警规则没覆盖到。结果全靠翻日志才发现问题。后来我学乖了——告警和日志要配合使用。告警告诉你「出事了」,日志告诉你「为什么出事」。
本章知识体系
下面这张图,帮你梳理了告警基础认知的核心逻辑:
这张图把告警基础认知的四个核心模块串起来了。你看,告警是什么、怎么划分等级、生命周期怎么走、跟日志有什么区别——这些知识点是环环相扣的。搞懂了这些,后面的告警处理技巧才能用得上。