1. 课程导论与目标

1.1 为什么需要 OpenTelemetry + 值班机器人告警

现代分布式系统规模持续增长,微服务、容器化与云原生架构的普及使得系统可观测性面临严峻挑战。传统监控方案往往存在以下痛点:

  • 数据孤岛:指标、日志、链路追踪各自独立,无法关联分析。
  • 告警疲劳:阈值触发式告警产生大量无效通知,值班人员逐渐麻木。
  • 响应滞后:从故障发生到人工介入,中间缺少自动化事件处理环节。
  • 上下文缺失:告警消息仅包含数值,缺乏故障根因的关联信息。

OpenTelemetry 作为 CNCF 孵化的可观测性标准,统一了指标、日志、链路追踪的数据采集与导出规范。结合值班机器人(如 PagerDuty、Opsgenie、飞书机器人、钉钉机器人等)的事件驱动能力,可以实现从数据采集 → 异常检测 → 事件触发 → 自动通知 → 协同响应的完整闭环。

课程核心理念:将 OpenTelemetry 的丰富可观测数据转化为结构化事件,通过值班机器人精准触达责任人,让告警不再是噪声,而是可行动的故障上下文。

1.2 整体架构概览

本课程所构建的告警体系采用分层架构,从数据采集到最终通知共包含五个核心层级:

层级 组件 职责
数据采集层 OpenTelemetry SDK / Collector 从应用、基础设施采集指标、日志、链路数据
数据处理层 OpenTelemetry Collector + 处理器 数据过滤、采样、聚合、属性增强
事件生成层 告警规则引擎 / 事件转换器 基于可观测数据生成结构化告警事件
事件路由层 事件总线 / Webhook 网关 将事件分发至对应值班机器人渠道
通知与协同层 值班机器人(飞书/钉钉/PagerDuty) 触达值班人员,提供故障上下文与操作入口
OpenTelemetry 接入值班机器人告警整体架构 数据采集层:OpenTelemetry SDK / Collector 数据处理层:Collector 处理器(过滤/采样/聚合/增强) 事件生成层:告警规则引擎 / 事件转换器 事件路由层:事件总线 / Webhook 网关 通知与协同层:值班机器人(飞书/钉钉/PagerDuty) 数据流方向:自下而上采集 → 处理 → 生成事件 → 路由 → 通知值班人员

1.3 课程学习目标

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

  1. 掌握 OpenTelemetry 核心概念:理解指标、日志、链路追踪三大信号的数据模型与采集方式。
  2. 搭建生产级数据管道:使用 OpenTelemetry Collector 完成数据采集、处理与导出。
  3. 设计告警规则与事件模型:将可观测数据转化为结构化告警事件,包含严重级别、故障域、关联链路等上下文。
  4. 对接主流值班机器人:实现与飞书机器人、钉钉机器人、PagerDuty 等平台的事件推送与自动通知。
  5. 构建事件触发闭环:实现告警自动创建、升级、关闭与值班排班联动。
  6. 实战演练:通过一个完整的微服务 Demo,从零搭建 OpenTelemetry + 值班机器人告警系统。

1.4 前置知识要求

本课程面向 SRE、运维工程师、后端开发人员,建议具备以下基础:

知识领域 具体要求 重要程度
Linux 基础 熟悉命令行操作、进程管理、网络配置 ⭐⭐⭐
容器与 Docker 了解容器化部署,能编写 Dockerfile 和 docker-compose.yml ⭐⭐⭐
Python 基础 能阅读和编写简单 Python 脚本,理解 HTTP 请求 ⭐⭐
监控告警基础 了解 Prometheus、Grafana 等常见监控工具的基本概念 ⭐⭐
Webhook 概念 了解 HTTP 回调机制,知道如何发送和接收 Webhook ⭐
注意:如果你对 OpenTelemetry 完全陌生,不必担心。本课程第 2-4 章会系统讲解 OpenTelemetry 的核心概念与配置方法,确保零基础也能跟上。

1.5 课程内容路线图

本课程共 30 章,分为五个阶段:

  • 第一阶段(第 1-4 章):OpenTelemetry 基础与数据采集
  • 第二阶段(第 5-10 章):告警规则设计与事件模型
  • 第三阶段(第 11-18 章):值班机器人接入与事件路由
  • 第四阶段(第 19-25 章):高级特性与生产化实践
  • 第五阶段(第 26-30 章):综合实战与故障演练
课程内容路线图(五阶段递进) 第一阶段 OpenTelemetry 基础 与数据采集 第二阶段 告警规则设计 与事件模型 第三阶段 值班机器人接入 与事件路由 第四阶段 高级特性与 生产化实践 第五阶段 综合实战与 故障演练 每阶段包含 5-8 章,从理论到实践逐步深入,最终完成一个完整的告警系统 Demo 第 1-4 章 第 5-10 章 第 11-18 章 第 19-25 章 第 26-30 章

1.6 课程环境与工具准备

为了顺利完成课程实验,请提前准备以下环境:

  • 操作系统:macOS / Linux / Windows(WSL2 推荐)
  • Docker & Docker Compose:用于快速部署 OpenTelemetry Collector、Prometheus、Grafana 等组件
  • Python 3.8+:用于编写自定义事件处理器和模拟应用
  • 代码编辑器:VS Code 或 PyCharm
  • 值班机器人账号:至少准备一个机器人平台(飞书、钉钉、PagerDuty 任选其一)
快速开始提示:本课程所有实验代码均提供 Docker Compose 一键部署脚本,你只需安装 Docker 即可跟随操作,无需手动配置复杂依赖。