故障排查指南(Incident Response)
文档编号:DOC-OPS-AM-04
版本:V1.0
创建日期:2026-08-11
维护人:听云(WCL) / TL
保密级别:🟢 可公开发布
关联文档:管理员操作手册 README、监控告警、日常运维 SOP、备份恢复、客服服务工作手册 - 升级路径
一、文档定位
本文件定义听云(WCL)执行的故障排查与响应 SOP,覆盖故障分级、定位、修复、复盘全流程。目标是缩短故障恢复时间(MTTR),降低业务影响,并通过复盘持续改进。
1.1 故障处理目标
| 指标 |
目标 |
说明 |
| MTTA(平均确认时间) |
P0 < 5 分钟 |
从告警触发到听云确认 |
| MTTR(平均恢复时间) |
P0 < 1 小时 / P1 < 4 小时 |
从故障发生到服务恢复 |
| MTBF(平均故障间隔) |
持续提升 |
通过复盘改进 |
| 复盘闭环率 |
P0/P1 100% |
72h 内完成复盘 |
1.2 故障处理原则
- 先恢复后定位:优先恢复服务,再深入定位根因
- 保留现场:故障期间保留日志 / 监控快照 / 容器状态
- 及时通报:按 SLA 通报相关方,不隐瞒不延迟
- 复盘必做:P0/P1 故障 72h 内完成复盘
- 改进落地:复盘结论转化为具体改进项,跟踪闭环
二、故障分级标准
2.1 故障级别定义
| 级别 |
颜色 |
标准 |
影响 |
响应 SLA |
通知范围 |
| P0 |
🔴 Blocker |
服务完全不可用 / 数据丢失 / 安全事件 |
全部用户受影响 |
5 分钟 |
TL + BO + SPO |
| P1 |
🟠 Critical |
核心功能不可用 / 严重降级 |
大量用户受影响 |
30 分钟 |
TL + BO |
| P2 |
🟡 Major |
部分功能异常 / 性能严重下降 |
部分用户受影响 |
2 小时 |
TL |
| P3 |
🟢 Minor |
单点问题 / 性能波动 |
极少用户受影响 |
24 小时 |
OWLG 记录 |
2.2 故障级别判定矩阵
| 影响范围 严重程度 |
完全不可用 |
严重降级 |
部分异常 |
单点问题 |
| 全部用户 |
P0 |
P0 |
P1 |
P2 |
| 大量用户(>30%) |
P0 |
P1 |
P1 |
P2 |
| 部分用户(5-30%) |
P1 |
P1 |
P2 |
P3 |
| 极少用户(<5%) |
P2 |
P2 |
P3 |
P3 |
2.3 特殊故障类型
| 故障类型 |
默认级别 |
升级条件 |
| 数据丢失 / 数据损坏 |
P0 |
— |
| 安全事件(入侵 / 泄露) |
P0 |
— |
| 凭据泄露 |
P0 |
— |
| 数据库不可用 |
P0 |
— |
| 支付功能异常 |
P0 |
— |
| 认证功能异常 |
P0 |
— |
| 文件上传不可用 |
P1 |
影响大量用户 → P0 |
| 推送服务不可用 |
P2 |
影响关键业务 → P1 |
三、故障响应流程
3.1 故障响应全流程
T0:故障发生 / 告警触发
↓
T+5min:听云确认告警 + 初步分级
↓
T+5min:按级别通知相关方
├─ P0:飞书 + 电话通知 TL + BO
├─ P1:飞书通知 TL
├─ P2:飞书通知 TL
└─ P3:OWLG 记录
↓
T+15min:听云启动应急响应
├─ 保留现场(日志快照 / 监控截图)
├─ 评估影响范围
├─ 启动临时缓解措施
└─ 记录 OWLG(含故障简述)
↓
T+30min:根因定位 + 修复方案
├─ 优先恢复服务(重启 / 回滚 / 切换)
├─ 涉及代码 Bug → 通过 TL 转发听码
└─ 涉及配置 → 听云自主修复
↓
服务恢复
↓
T+恢复:验证 + 关闭告警
├─ 健康检查通过
├─ 业务流程验证
└─ 监控指标正常
↓
T+24h:编写故障报告
↓
T+72h:复盘会议(P0/P1)
├─ 根因分析
├─ 改进项制定
└─ 责任认定(如有)
↓
改进项落地 + 跟踪闭环
3.2 故障定位方法论
3.2.1 5W2H 分析法
| 维度 |
问题 |
| What |
发生了什么?现象是什么? |
| When |
什么时候发生?持续多久? |
| Where |
在哪里发生?哪个服务/组件? |
| Why |
为什么发生?根因是什么? |
| Who |
谁受影响?谁负责? |
| How |
如何发生的?触发条件? |
| How much |
影响多大?损失多少? |
3.2.2 故障定位检查清单
| # |
检查项 |
工具 / 方法 |
| 1 |
服务健康状态 |
GET /health / docker ps |
| 2 |
容器日志 |
docker logs --tail=200 <service> |
| 3 |
资源使用率 |
监控仪表板 |
| 4 |
数据库状态 |
连接数 / 慢查询 / 死锁 |
| 5 |
外部服务连通性 |
探针脚本 |
| 6 |
最近变更 |
Git log / OWLG / 部署记录 |
| 7 |
网络连通性 |
ping / curl / traceroute |
| 8 |
DNS 解析 |
nslookup / dig |
| 9 |
证书有效期 |
openssl s_client |
| 10 |
防火墙规则 |
iptables -L / 安全组 |
四、常见故障处置
4.1 服务不可用
| 现象 |
可能原因 |
处置步骤 |
| 健康检查失败 |
服务崩溃 / 资源耗尽 |
1. 查看容器日志 2. 检查资源 3. 重启容器 4. 如失败→回滚 |
| 全部 5xx 错误 |
应用异常 / 依赖故障 |
1. 查看应用日志 2. 检查数据库/缓存 3. 重启服务 4. 回滚 |
| 响应超时 |
数据库慢 / 资源不足 |
1. 查看慢查询 2. 检查资源 3. 扩容 4. 优化查询 |
4.2 数据库故障
| 现象 |
可能原因 |
处置步骤 |
| 连接数耗尽 |
长连接 / 连接泄露 |
1. 查看连接数 2. 杀掉长连接 3. 重启应用 4. 修复连接泄露 |
| 慢查询堆积 |
索引缺失 / 数据量大 |
1. 查看慢查询 2. 添加索引 3. 优化 SQL 4. 读写分离 |
| 死锁 |
并发冲突 |
1. 查看死锁日志 2. 杀掉死锁进程 3. 修复业务逻辑 |
| 数据丢失 |
误操作 / 程序 Bug |
1. 立即停止写入 2. 评估备份 3. 恢复备份 4. 修复 Bug |
4.3 外部服务故障
| 服务 |
故障现象 |
处置步骤 |
| Cloudflare R2 |
上传失败 |
1. 检查凭据 2. 检查网络 3. 联系 Cloudflare 4. 降级到本地存储 |
| WhatsApp |
推送失败 |
1. 检查 Token 2. 检查 API 状态 3. 降级到 SMS(如适用) |
| Expo Push |
推送失败 |
1. 检查 Token 2. 检查 API 状态 3. 降级到 in-app 通知 |
| Sentry |
错误上报失败 |
1. 检查 DSN 2. 检查网络 3. 本地日志兜底 |
4.4 安全事件
| 现象 |
处置步骤 |
| 疑似入侵 |
1. 立即隔离 2. 保留现场 3. 上报 TL 4. 调查影响 5. 加固 |
| 凭据泄露 |
1. 立即轮换(参考 security-audit.md)2. 评估泄露范围 3. 上报 TL 4. 审计日志 |
| DDoS 攻击 |
1. 启用 Cloudflare 防护 2. 限制访问 3. 上报 TL 4. 等待缓解 |
五、故障复盘
5.1 复盘要求
| 项 |
要求 |
| 复盘范围 |
P0/P1 故障必须复盘,P2 按需,P3 不强制 |
| 复盘时间 |
故障恢复后 72h 内 |
| 参与人 |
听云(WCL) + TL + 相关方(如听码 WDE) |
| 复盘形式 |
会议 + 文档输出 |
| 文档位置 |
OWLG 故障日志 + 复盘报告 |
5.2 复盘报告模板
# 故障复盘报告 - <故障简述>
## 一、故障概述
- **故障级别**:P0/P1
- **发生时间**:YYYY-MM-DD HH:MM
- **恢复时间**:YYYY-MM-DD HH:MM
- **持续时长**:N 小时 N 分钟
- **影响范围**:<用户/功能/数据>
- **OWLG 编号**:OWLG-YYYYMMDD-NN
## 二、故障经过
<时间线:发现 → 响应 → 定位 → 修复 → 恢复>
## 三、根因分析
<5W2H 分析 + 根因>
## 四、影响评估
- **业务影响**:<功能不可用 / 数据丢失 / 用户损失>
- **数据影响**:<是否有数据丢失 / 损坏>
- **SLA 影响**:<可用性下降百分比>
## 五、处置评估
- **响应时效**:是否符合 SLA
- **处置措施**:是否得当
- **沟通通报**:是否及时
## 六、改进项
| # | 改进项 | 负责人 | 截止 | 状态 |
|---|--------|--------|------|:----:|
| 1 | <改进项> | <角色> | <日期> | 🟡 |
## 七、责任认定(如有)
<如涉及责任问题,客观记录>
5.3 改进项跟踪
- 改进项纳入 OWLG 跟踪
- 听云每周一评审改进项进展
- 改进项完成后验证 + 关闭
- 重复发生的故障升级改进项优先级
六、故障通报模板
6.1 故障通报(进行中)
【故障通报】P<级别> - <故障简述>
【发生时间】YYYY-MM-DD HH:MM
【影响范围】<受影响的服务/功能/用户>
【当前状态】<正在排查 / 已定位 / 正在修复>
【预计恢复】<预计时间,如不确定写"待定">
【听云处置】<已采取的措施>
【下次通报】<时间>
【OWLG 编号】OWLG-YYYYMMDD-NN
6.2 故障通报(已恢复)
【故障恢复】P<级别> - <故障简述>
【发生时间】YYYY-MM-DD HH:MM
【恢复时间】YYYY-MM-DD HH:MM
【持续时长】N 小时 N 分钟
【根因简述】<一句话根因>
【处置措施】<恢复措施>
【后续动作】复盘会议时间 + 改进项
【OWLG 编号】OWLG-YYYYMMDD-NN
七、修订记录
| 版本 |
日期 |
修订人 |
修订内容 |
| V1.0 |
2026-08-11 |
DT |
初始化故障排查指南;定义 P0-P3 四级故障分级与判定矩阵;定义故障响应全流程 + 5W2H 定位方法论;提供常见故障处置预案与复盘报告模板 |
本文件为听云(WCL)故障排查与响应的标准流程。P0/P1 故障须 72h 内完成复盘,改进项跟踪闭环。