线上故障排查流程
线上故障排查的第一目标是恢复服务,第二目标才是定位根因。操作系统层面的证据非常关键,但必须与业务影响和变更时间线结合。
# 1. 学习目标
- 掌握故障响应的优先级和角色分工。
- 能建立从告警到恢复到复盘的闭环。
- 能在压力下保留系统证据并避免二次事故。
# 2. 知识框架
线上故障排查流程
├─ 入门:建立术语、对象和日常操作的直觉
├─ 进阶:理解机制、边界和跨平台差异
└─ 专家:能排障、能设计、能阅读实现和研究材料
故障流程:确认告警 -> 判断影响 -> 建立指挥 -> 止血恢复 -> 取证定位 -> 根因修复 -> 复盘改进。
# 3. 核心概念
| 主题 | 说明 | 工程关注 |
|---|---|---|
| 影响面 | 受影响用户、接口、机器、区域和时间范围 | 优先级、沟通 |
| 止血 | 快速降低影响的动作 | 回滚、扩容、限流、降级 |
| 证据链 | 指标、日志、Trace、系统状态和变更记录 | 根因分析 |
| 复盘 | 总结原因、改进监控和流程 | 防止重复发生 |
# 4. 机制与实践
- 不要多人同时在生产上无记录操作,建立单一指挥和操作记录。
- 先做低风险恢复动作,如切流、回滚、限流,再深入定位。
- 保留现场:关键日志、指标截图、进程状态、配置和版本信息。
# 5. 常用命令与工具
| 命令或工具 | 作用 | 使用建议 |
|---|---|---|
date | 记录当前时间 | 对齐时间线 |
uptime | 查看系统负载和运行时间 | 判断是否重启或过载 |
journalctl --since "10 min ago" | 查看最近系统日志 | 快速抓取故障窗口 |
# 6. 常见误区
- 一上来就重启:可能恢复了现象,但破坏现场并掩盖根因。
- 多人抢操作:缺少统一指挥会造成重复、冲突和二次故障。
- 复盘只找人不改系统:复盘重点应是改进监控、流程、工具和防护。
# 7. 进阶研究方向
- 学习 SRE 事故管理、错误预算和无责复盘。
- 建立生产故障 runbook 和常见系统命令清单。
- 演练一次 CPU、内存、磁盘、网络、证书过期等故障场景。
# 8. Tips 快问快答
Q:线上故障先恢复还是先定位?
A:通常先恢复影响,再保留证据并定位根因,除非定位动作本身就是恢复前提。
Q:什么时候可以重启?
A:当重启是明确止血策略,且已尽量保留必要证据、评估影响和回滚风险时。
Q:复盘应该产出什么?
A:产出根因、时间线、改进项、负责人、截止时间和验证方式。
# 9. 总结
线上故障排查是技术和协作的结合。系统知识帮助定位,流程纪律帮助止血,复盘改进帮助组织变强。
上次更新: 2026/06/25, 10:02:19