11.4.1 问题识别:故障现象与影响范围
一句话破题
复盘的第一步是准确描述发生了什么——不是"系统挂了",而是"用户无法登录,持续30分钟,影响1000用户"。
核心价值
准确识别问题能让你:
- 聚焦真正的问题,而不是表面现象
- 量化影响,确定优先级
- 为后续分析提供清晰的起点
问题描述的 5W1H
| 要素 | 问题 | 示例 |
|---|---|---|
| What | 发生了什么? | 用户无法登录 |
| When | 什么时候发生的? | 2024-01-15 10:00-10:30 |
| Where | 在哪里发生的? | 生产环境、登录页面 |
| Who | 谁受到了影响? | 所有尝试登录的用户 |
| How | 如何表现的? | 登录按钮点击后一直loading |
| How much | 影响多大? | 约1000次登录尝试失败 |
影响范围评估
用户影响
typescript
// 从日志或监控中提取影响数据
const impactMetrics = {
affectedUsers: 1000, // 受影响用户数
failedRequests: 5000, // 失败请求数
errorRate: 0.15, // 错误率 15%
duration: '30 minutes', // 持续时间
revenueImpact: '$10,000', // 收入影响(如适用)
}严重程度分级
| 级别 | 定义 | 响应时间 |
|---|---|---|
| P0 | 核心功能完全不可用 | 立即响应 |
| P1 | 核心功能部分不可用 | 1小时内 |
| P2 | 非核心功能受影响 | 4小时内 |
| P3 | 体验问题,不影响功能 | 1天内 |
时间线记录
markdown
## 事件时间线
| 时间 | 事件 | 发现方式 |
|------|------|----------|
| 10:00 | 错误率开始上升 | 监控告警 |
| 10:05 | 用户反馈无法登录 | 客服工单 |
| 10:08 | 值班人员确认问题 | 手动验证 |
| 10:10 | 开始排查 | - |
| 10:20 | 定位到数据库连接问题 | 日志分析 |
| 10:25 | 执行紧急修复 | - |
| 10:30 | 服务恢复正常 | 监控确认 |问题识别检查清单
markdown
□ 问题描述是否清晰、具体?
□ 是否有准确的时间范围?
□ 是否量化了影响范围?
□ 是否确定了严重程度?
□ 是否记录了完整的时间线?
□ 是否保留了相关日志和截图?常见错误
| 错误描述 | 正确描述 |
|---|---|
| "系统挂了" | "登录服务返回 500 错误" |
| "很多用户受影响" | "约 1000 名用户无法登录" |
| "持续了一段时间" | "持续 30 分钟(10:00-10:30)" |
避坑指南
新手最容易犯的错
- 描述太模糊,无法定位问题
- 只关注技术现象,忽略业务影响
- 没有保留现场日志和截图
- 时间线记录不完整
