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 跨服务传递,实现端到端调用链追踪。
1.3 为什么需要自动回滚
生产环境中,变更失败是常态。根据行业统计,约 40% 的 P0 级故障由变更引入。手动回滚存在三大痛点:
- 响应延迟:人工发现指标异常 → 定位问题 → 决策回滚 → 执行操作,平均耗时 8~15 分钟。
- 决策偏差:疲劳、压力下容易误判回滚范围或遗漏依赖服务。
- 审计缺失:手动操作难以完整记录回滚原因、时间线、影响范围。
自动回滚的核心价值:将 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 官方入门教程或本平台的基础可观测性课程。