# Runbook: <名称> ## Purpose <说明本 Runbook 要解决的问题及成功结果,1–2 行。> ## Scope - 适用环境: - 适用对象:<服务、主机、组件或告警类型> - 不适用情形:<需要改用其他 runbook 或转人工的场景> ## Ownership - Owner:<团队或角色> - Last reviewed: - Related systems:<主机名 / 服务名> ## Preconditions - <执行前必须满足的权限、备份、窗口、健康状态或已知信息> ## Inputs | 输入 | 来源 | 是否必需 | 校验方法 | |---|---|---:|---| | <参数> | <来源> | 是/否 | <如何确认有效> | ## Safety ### Non-negotiable rules - 先只读诊断,后执行变更。 - 不得把删除现有配置作为首次恢复动作。 - 不得猜测或编造缺失参数。 - 不得绕过失败的测试、检查或审批。 - 每次变更后必须完成对应验证。 - 破坏性操作必须获得明确批准。 ### Stop conditions - 实际状态与本文档的前提或预期结果冲突。 - 缺少必要输入、权限、审批或回滚能力。 - 验证失败且本文档没有明确的下一步。 - 影响范围超出 Scope。 ### Approval gates | 动作 | 风险级别 | 是否需要明确批准 | 批准记录位置 | |---|---|---:|---| | <动作> | 低/中/高 | 是/否 | | ## Procedure ### Step 1 — Diagnose **Action** <执行只读诊断动作。> **Expected** <列出预期输出、状态或证据。> **Decision** - 若 <条件 A>,进入 Step 2。 - 若 <条件 B>,进入 Troubleshooting A。 - 若无法判断或状态冲突,`STOP` 并记录证据。 ### Step 2 — Change **Action** <描述单一、可审计的变更动作。> **Expected** <变更后应出现的状态。> **Verification** <给出可重复执行的验证命令、测试、监控指标或检查清单。> **Rollback** - 触发条件:<什么情况需要回滚> - 回滚动作:<如何撤销> - 回滚验证:<如何确认恢复成功> ## Troubleshooting ### Troubleshooting A — <异常名称> - 证据收集:<日志、指标、命令输出、链接> - 允许动作:<仅限已验证且低风险的动作> - 下一步:<回到某步 / 转入另一 runbook / STOP 并升级> ## Final Verification 只有同时满足以下标准,流程才算成功: - <功能或服务状态> - <自动化测试或健康检查> - <监控指标或告警状态> - <变更记录、PR 或 Issue 已更新> ## Failure Handling 若未能完成: 1. 停止进一步变更。 2. 收集 <命令输出、时间范围、请求 ID、日志链接、截图或复现步骤>。 3. 记录已完成步骤、实际结果、未满足的预期和是否执行过回滚。 4. 按 <升级渠道> 交接,不继续猜测。 ## References - <关联 Issue、PR、架构文档、仪表盘、配置仓库或外部文档>