1. 课程导论:什么是 Runbook、为什么需要 Runbook 自动化、Prometheus 与 CI/CD 的联动价值

1.1 什么是 Runbook?

Runbook(运维手册)是一套标准化的操作流程文档,用于指导运维或开发人员处理特定系统事件、故障或例行任务。传统 Runbook 以静态 Wiki 或 PDF 形式存在,依赖人工阅读、判断和执行。

维度 传统 Runbook 自动化 Runbook
载体 Wiki、PDF、Confluence 页面 代码、Pipeline、可执行剧本
触发方式 人工收到告警后手动查阅 告警事件自动触发执行
执行效率 分钟级~小时级(依赖人员技能) 秒级~分钟级(机器执行)
可审计性 低(操作记录靠人工填写) 高(全流程日志、版本控制)
维护成本 高(文档易过时、无人更新) 低(代码即文档,随代码库迭代)
核心认知: Runbook 的本质是将“专家经验”转化为“可重复执行的步骤”。自动化 Runbook 进一步将这些步骤编码为可被机器调用的指令集,消除人为操作的不确定性。

1.2 为什么需要 Runbook 自动化?

现代微服务架构和 Kubernetes 环境带来两大挑战:告警风暴与操作复杂度。一个中等规模的集群每天可能产生数千条告警,完全依赖人工处理既不现实也不安全。

  • 缩短 MTTR(平均修复时间): 自动化 Runbook 可在告警触发后立即执行诊断、隔离、恢复操作,将 MTTR 从小时级压缩到分钟级。
  • 消除人为失误: 疲劳、压力下的误操作是故障扩大的首要原因。自动化执行确保每次操作一致、可回滚。
  • 释放人力: 将重复性操作(如重启服务、清理磁盘、扩容副本)交给机器,SRE 专注于架构优化和复杂故障根因分析。
  • 合规与审计: 自动化 Runbook 的执行记录天然形成审计日志,满足 SOC2、ISO27001 等合规要求。
常见误区: 不要试图将所有操作都自动化。对于需要人工判断、跨团队协调或涉及数据变更的操作,保留半自动化模式(人工审批 + 自动执行)更安全。

1.3 Prometheus 与 CI/CD 的联动价值

Prometheus 是云原生监控的事实标准,CI/CD 是持续交付的核心引擎。两者联动后,监控数据不再只是“看板上的数字”,而是成为驱动自动化运维决策的信号源。

Prometheus 与 CI/CD 联动架构 Prometheus 指标采集 告警规则评估 Alertmanager 路由 联动层 Webhook 网关 事件转换器 Runbook 调度器 CI/CD 流水线 自动扩缩容 回滚部署 配置修复 告警事件 自动化指令 操作结果反馈(指标恢复/状态更新) 💡 联动价值总结 监控发现异常 → 自动触发 Runbook → CI/CD 执行修复操作 → 监控验证恢复 → 形成闭环 价值 1:自愈闭环 告警 → 诊断 → 修复 → 验证 价值 2:变更安全 灰度发布期间自动回滚 价值 3:知识沉淀 Runbook 即代码,持续演进

1.4 典型联动场景速览

场景 Prometheus 告警 Runbook 动作 CI/CD 操作
磁盘空间不足 node_filesystem_avail_bytes < 10% 触发磁盘清理脚本 执行清理 Job,完成后更新指标
服务高延迟 http_request_duration_seconds > 2s 调用扩容 Pipeline K8s HPA 调整副本数,或滚动更新
证书即将过期 certificate_expiry_days < 7 触发证书续签流程 执行 cert-manager 或 Let's Encrypt 自动续签
错误率飙升 error_ratio > 5% 触发回滚决策 GitOps 回退到上一个稳定版本
课程目标: 在本课程中,你将学会如何设计、编码、测试和部署一套完整的 Prometheus + Runbook + CI/CD 联动体系。从 Alertmanager Webhook 接收告警,到编写可执行的 Runbook 脚本,再到集成到 GitLab CI / GitHub Actions / Argo Workflows 等流水线中,最终实现“告警即触发,触发即修复”的自动化运维闭环。