1. 课程导论:什么是 Runbook、什么是 OpenTelemetry、为什么需要自动回滚

1.1 什么是 Runbook

Runbook(运维手册)是将标准运维操作流程文档化、可执行化的载体。在 SRE 实践中,Runbook 不仅是静态的 Wiki 文档,更是可被自动化引擎触发的“操作剧本”。

维度 传统 Runbook 现代自动化 Runbook
形式 Markdown / Confluence 文档 YAML / Python / Ansible Playbook
执行方式 人工阅读 → 手动操作 事件驱动 → 自动执行
可观测性 无内置观测 嵌入 OpenTelemetry 埋点
回滚能力 依赖人工判断 基于指标自动触发
核心认知:Runbook 是“可观测性决策”与“基础设施操作”之间的桥梁。本课程将 Runbook 定义为可编程的故障恢复流程,而非静态文档。

1.2 什么是 OpenTelemetry

OpenTelemetry(简称 OTel)是 CNCF 孵化的可观测性标准框架,统一了指标(Metrics)、链路(Traces)、日志(Logs)三大信号的采集与导出规范。

  • 统一数据模型:一套 SDK 同时输出 Metrics、Traces、Logs,消除厂商锁定。
  • 自动插桩:通过 Instrumentation 库自动捕获 HTTP、gRPC、数据库等常见协议的调用数据。
  • 灵活导出:支持 OTLP 协议,可对接 Prometheus、Jaeger、Grafana、Datadog 等后端。
  • 上下文传播:Trace Context 跨服务传递,实现端到端调用链追踪。
OpenTelemetry 三大信号与 Runbook 联动架构 微服务应用 OTel SDK / Collector Metrics Traces Logs Prometheus Jaeger / Tempo Loki / Elastic Runbook 自动化引擎 自动回滚部署 💡 关键联动点 Runbook 订阅 Metrics/Traces 告警 → 触发预定义回滚流程 回滚执行结果通过 OTel 写入 Logs 形成审计闭环

1.3 为什么需要自动回滚

生产环境中,变更失败是常态。根据行业统计,约 40% 的 P0 级故障由变更引入。手动回滚存在三大痛点:

  1. 响应延迟:人工发现指标异常 → 定位问题 → 决策回滚 → 执行操作,平均耗时 8~15 分钟。
  2. 决策偏差:疲劳、压力下容易误判回滚范围或遗漏依赖服务。
  3. 审计缺失:手动操作难以完整记录回滚原因、时间线、影响范围。
自动回滚的核心价值:将 MTTR(平均修复时间)从分钟级压缩到秒级,同时保证每次回滚都有完整的可观测性审计轨迹。

1.4 课程目标

完成本课程后,你将具备以下能力:

能力维度 具体目标
Runbook 工程化 使用 Python/Ansible 编写可编程 Runbook,支持条件分支与幂等执行
OTel 集成 在 Runbook 执行链路中嵌入 OpenTelemetry 埋点,输出 Metrics 和 Traces
告警联动 配置 Prometheus Alertmanager 或 Grafana Alerting 触发 Runbook 自动执行
自动回滚 基于错误率、延迟、饱和度等 SLO 指标,实现灰度发布自动回滚
审计闭环 每次回滚生成完整的 Trace 链路与事件日志,满足合规审计要求

1.5 前置知识

建议学员具备以下基础:

  • Linux 基础:熟悉 Shell 命令、systemd、进程管理
  • 容器与编排:了解 Docker 基本操作,Kubernetes Pod/Deployment/Service 概念
  • 可观测性基础:了解 Prometheus 指标采集、Grafana 仪表盘基本使用
  • 编程能力:能阅读 Python 或 Go 代码,理解 HTTP API 调用
⚠️ 注意:本课程不从头讲解 OpenTelemetry SDK 安装或 Kubernetes 搭建。如果你对这些基础尚不熟悉,建议先学习 CNCF 官方入门教程或本平台的基础可观测性课程。
课程知识体系依赖关系 Linux / Shell 基础 Docker / K8s 基础 Prometheus / Grafana Runbook + OpenTelemetry 自动回滚实战 本课程