Runbook ·
AI 生成 · 待 owner review
本文档由 DocAgent 自动生成,status: draft。owner / SRE review 通过后请把 status 改为 published,并删除 frontmatter 中的 generated_by 字段。
适用范围
- 场景:{故障处置 / 例行部署 / 灰度发布 / 回滚 / 数据迁移}
- 触发条件:{监控告警名 / 时间窗口 / 人工触发}
- 预计耗时:{N} 分钟
- 影响面:{用户感知 / 服务降级 / 0 影响}
1. 前置检查(Pre-Check)
执行 Runbook 之前必须确认以下条件,任意一项失败 → 停止操作并升级:
- 当前操作者有对应权限({角色})
- 已通知值班 / 同步到值班群
- 备份已完成(若涉及数据变更)
- 回滚方案已确认(见 §6)
- 监控大盘已打开:{Grafana / Prometheus 链接}
2. 操作步骤(Step-by-Step)
Step 1 ·
预期输出:
异常处置:若输出包含 {ERROR_PATTERN} → 跳到 §5 故障处置 · Case 1
Step 2 ·
(同上结构)
Step 3 ·
(同上结构)
3. 验证(Verification)
操作完成后,必须逐项验证:
| 验证项 | 检查方式 | 预期结果 |
|---|---|---|
| 服务存活 | curl -f http://{host}/health |
HTTP 200 + {"status":"ok"} |
| 关键 API | curl http://{host}/api/{key-endpoint} |
返回业务数据 |
| 监控指标 | Grafana 看 {metric_name} |
无异常告警 / QPS 正常 |
| 日志 | tail -f {log_path} 30 秒 |
无 ERROR 级日志 |
4. 操作流程图
flowchart TD
A[告警触发 / 计划任务]:::xyL2 --> B[§1 前置检查]:::xyL3
B -->|通过| C[§2 Step 1]:::xyL3
B -->|失败| Z[升级值班长]:::xyL5
C --> D[§2 Step 2]:::xyL3
D --> E[§2 Step 3]:::xyL3
E --> F[§3 验证]:::xyL3
F -->|通过| G[关闭工单]:::xyL0
F -->|失败| H[§5 故障处置]:::xyL5
H --> F
classDef xyL0 fill:#2E8D7E,stroke:#2E8D7E,color:#fff
classDef xyL2 fill:#E8C9A0,stroke:#E8C9A0,color:#000
classDef xyL3 fill:#D4A574,stroke:#D4A574,color:#fff
classDef xyL5 fill:#9D4EDD,stroke:#9D4EDD,color:#fff
5. 故障处置(Troubleshooting)
Case 1 ·
现象:{具体的日志 / 报错 / 监控异常}
根因:{1-2 句根因分析}
处置:
预防:{若可避免,说明如何预防}
Case 2 ·
(同上结构)
Case 3 ·
(同上结构)
6. 回滚方案(Rollback)
回滚触发条件
满足任意一条立即回滚: - §3 验证连续 3 次失败 - 业务监控告警等级 ≥ P1 - 用户投诉 ≥ {N} 起 / 5 分钟
回滚步骤:
回滚后必须: - [ ] 写 Postmortem(D6 测试运维 · 7 天内) - [ ] 通知值班长 + 受影响业务方 - [ ] 在 Runbook §10 Changelog 加一条"回滚记录"
7. 升级路径(Escalation)
| 等级 | 触发条件 | 联系人 | 响应 SLA |
|---|---|---|---|
| L1 | Runbook 跑通 | 当前操作者 | 自处置 |
| L2 | §5 故障处置无效 | 值班 SRE | 15 分钟 |
| L3 | §6 回滚后仍异常 | Tech Lead + 业务负责人 | 30 分钟 |
| L4 | 影响 > 1000 用户 | CTO + CEO | 60 分钟 |
8. 相关资源
- 监控:{Grafana Dashboard 链接}
- 日志:
{log path}/ Loki 查询{logql} - 代码:{对应 Service 路径}
- 架构:{D3 架构文档}
- 历史 Postmortem:{相关事故复盘}
9. 演练记录(Drill Log)
| 日期 | 演练人 | 实际耗时 | 发现问题 | 改进项 |
|---|---|---|---|---|
| YYYY-MM-DD | {name} | {N} min | {问题} | {改进} |
演练频率:每季度至少 1 次。未演练 > 6 个月的 Runbook 自动标
🟡 待演练。
10. Changelog
| 版本 | 日期 | 改动 |
|---|---|---|
| 0.1.0 | YYYY-MM-DD | 首版(DocAgent 生成) |
模板使用说明(DocAgent 内部参考,生成正式文档时删除本节): 1. Runbook 必须可机械执行,所有命令带具体参数,禁止"根据情况调整"这类模糊语 2. §5 故障处置 Case 至少 2 个(无 Case 说明覆盖不全) 3. §6 回滚方案必填,即使是"无需回滚"也要显式说明并给出原因 4. §9 演练记录由 SRE 在每次演练后更新,DocAgent 不填具体记录,只保留表头