1. 课程导论:事件驱动自愈的核心理念、Prometheus 告警生态全景、本课程学习路径与目标
1.1 事件驱动自愈:从“被动响应”到“主动修复”
传统运维模式下,告警只是通知的终点——值班人员收到告警后,手动登录机器、排查日志、执行恢复命令。这种模式存在三个致命缺陷:MTTR(平均修复时间)过长、人为操作失误风险高、夜间/节假日响应滞后。
事件驱动自愈(Event-Driven Self-Healing)将告警视为触发自动化修复流程的“事件信号”。当 Prometheus 产生一条告警时,不再仅发送通知,而是直接调用预定义的修复剧本(Playbook),在数秒内完成参数调整、服务重启、流量切换等操作,并在修复后自动确认告警。
核心公式: 告警事件 + 自愈剧本 = 零人工介入的闭环修复
1.2 Prometheus 告警生态全景
要构建可靠的自愈体系,必须理解 Prometheus 告警生态中各组件的职责与数据流。下表梳理了核心组件及其在自愈场景中的角色:
| 组件 | 核心职责 | 自愈场景中的关键能力 |
|---|---|---|
| Prometheus Server | 指标采集、存储、PromQL 查询 | 提供告警规则评估所需的实时与历史指标数据 |
| Alertmanager | 告警路由、分组、抑制、静默 | 通过 webhook_configs 将告警事件转发至自愈引擎 |
| Prometheus Rule | 定义告警触发条件(PromQL 表达式) | 参数调优直接影响告警灵敏度与误报率 |
| 自愈引擎 | 接收告警事件、执行修复剧本 | 支持 Ansible Tower、Jenkins、自定义 Webhook 等 |
| 健康检查模块 | 验证修复是否成功 | 通过 PromQL 二次查询确认指标恢复正常 |
生态关键点: 自愈剧本的触发入口是 Alertmanager 的
webhook_configs,而非直接修改 Prometheus 配置。这种解耦设计使得告警规则与修复逻辑可以独立迭代。
1.3 本课程学习路径与目标
本课程共 30 章,从基础概念到高级调优,逐步构建完整的自愈剧本编写能力。学习路径分为四个阶段:
- 基础夯实(第 1-8 章): 掌握 PromQL 核心函数、告警规则语法、Alertmanager 路由配置,理解自愈剧本的基本触发机制。
- 参数调优(第 9-18 章): 深入剖析告警规则中的
for持续时间、severity分级、阈值动态调整、聚合降噪等参数优化策略。 - 剧本实战(第 19-26 章): 基于真实场景编写自愈剧本,涵盖 CPU 飙高、内存泄漏、磁盘满、服务宕机、证书过期等典型故障。
- 进阶与治理(第 27-30 章): 多集群告警统一管理、自愈剧本的灰度发布、告警风暴防御、SLO 驱动的自愈策略。
| 阶段 | 核心目标 | 产出物 |
|---|---|---|
| 基础夯实 | 能独立编写 PromQL 告警规则并配置 Alertmanager 路由 | 可运行的告警规则文件 + 通知配置 |
| 参数调优 | 掌握 10+ 种参数调优方法,降低误报率 50% 以上 | 调优前后的对比分析报告 |
| 剧本实战 | 能针对 6 种常见故障编写自愈剧本并验证 | 6 个可复用的自愈剧本模板 |
| 进阶与治理 | 具备企业级告警自愈体系设计能力 | 自愈剧本治理规范 + 灰度发布方案 |
学习前提: 建议学员已具备 Prometheus 基础部署经验,了解 PromQL 基本查询语法(如 rate、histogram_quantile、avg_over_time 等)。本课程不涉及 Prometheus 安装部署,聚焦于告警规则与自愈剧本的编写调优。
1.4 课程特色与交付物
- 每章一个可运行的 PromQL 示例: 所有告警规则均附带真实指标数据,可直接在测试环境验证。
- 参数调优对照表: 每个调优参数都会给出“调优前”与“调优后”的对比效果。
- 自愈剧本模板库: 课程结束时,你将拥有一个包含 10+ 个剧本的私有库。
- 告警风暴防御策略: 专门章节讲解如何通过参数调优避免告警风暴,保障自愈体系稳定性。