1. 课程导论:为什么需要链路监控与告警联动,Jaeger与Prometheus生态概述
1.1 从单体到微服务:监控的断裂与重构
在单体应用时代,监控相对简单:一台或几台服务器,一个进程,日志、指标、健康检查基本能覆盖所有问题。但当架构演进为微服务、Serverless、服务网格后,一个用户请求可能穿越数十个服务节点、跨越多个数据中心、依赖不同的中间件和数据库。此时,传统的监控手段出现了三个核心断裂:
- 调用链断裂:无法追踪一个请求在服务间的完整流转路径,故障定位如同大海捞针。
- 指标与日志割裂:Prometheus 告诉你 CPU 飙高,但不知道是哪个请求导致的;ELK 告诉你日志报错,但不知道对整体延迟的影响。
- 告警无上下文:收到一条“P99 延迟 > 500ms”的告警,却无法快速关联到具体的调用链、错误栈和上下游依赖。
1.2 为什么需要链路监控与告警联动?
链路监控(Distributed Tracing)与告警(Alerting)的联动,不是简单的“把两个工具拼在一起”,而是构建一种 事件驱动、上下文丰富、根因可追溯 的运维新范式。其核心价值体现在三个层面:
| 维度 | 传统分离模式 | 联动模式 |
|---|---|---|
| 故障发现 | 指标告警触发,人工登录多系统查日志和链路 | 告警自动携带 Trace ID,一键跳转至故障链路详情 |
| 根因定位 | 依赖经验猜测,平均定位时间(MTTR)以小时计 | 通过链路拓扑和 Span 标签,快速定位故障服务与代码行 |
| 容量规划 | 基于粗略的指标水位,容易过度或不足 | 基于真实请求链路的依赖关系和延迟分布,精准扩容 |
| SLO 管理 | 仅监控服务级别指标,无法区分慢请求类型 | 按链路标签(如 API 版本、用户等级)细分 SLO 达成情况 |
简单来说,联动让告警从“告诉你系统病了”升级为“告诉你哪里病了、病因是什么、影响范围有多大”。
1.3 Jaeger 与 Prometheus 生态概述
本课程选择 Jaeger 和 Prometheus 作为核心技术栈,是因为它们分别是链路追踪和指标监控领域的事实标准,且拥有活跃的开源社区和丰富的集成能力。
1.3.1 Prometheus:指标监控与告警引擎
Prometheus 是一个开源的系统监控和告警工具包,其核心是 拉取(Pull)模型 和 多维数据模型。它通过定期从目标(Target)抓取指标数据,存储在本地时序数据库中,并通过 PromQL 查询语言进行聚合与分析。其告警能力由 Alertmanager 组件负责,支持分组、抑制、静默和路由到不同的接收器(如邮件、钉钉、PagerDuty)。
- 核心优势:简单可靠、多维标签、强大的 PromQL、与 Kubernetes 原生集成。
- 在联动中的角色:作为告警的“大脑”,负责定义告警规则(如延迟、错误率、饱和度),并在触发时发出包含上下文信息的告警通知。
1.3.2 Jaeger:分布式链路追踪系统
Jaeger 是受 Dapper 和 OpenZipkin 启发,由 Uber 开源并捐赠给 CNCF 的分布式追踪系统。它主要用于监控和排查微服务架构中的请求延迟和错误。Jaeger 的核心组件包括:
- Agent(代理):作为 Sidecar 或 DaemonSet 运行,负责接收应用发出的 Span 数据并批量上报。
- Collector(收集器):接收 Agent 或应用直推的 Span,进行校验、索引和存储。
- Query(查询服务):提供 API 和 Web UI,支持按服务、操作、标签、时间范围检索 Trace。
- Storage(存储后端):支持 Cassandra、Elasticsearch、Kafka 等,用于持久化 Span 数据。
1.4 Jaeger 与 Prometheus 联动架构总览
下面的 SVG 图展示了本课程将要构建的联动架构。核心思路是:Prometheus 负责指标采集与告警,Jaeger 负责链路追踪与根因分析,两者通过告警中的 Trace ID 和标签进行关联。
1.5 课程核心能力与学习路径
通过本课程,你将掌握以下核心能力:
- 独立部署与配置:在生产环境或开发环境部署 Jaeger 和 Prometheus 集群,并配置高可用存储。
- 应用接入与埋点:使用 Jaeger Client(如 Go、Java、Python SDK)对微服务进行无侵入或低侵入的链路埋点。
- 告警规则编写:基于 PromQL 编写针对链路延迟、错误率、吞吐量的告警规则,并配置 Alertmanager 路由。
- 联动集成开发:开发或配置中间件,实现告警通知自动携带 Trace ID,并支持一键跳转 Jaeger UI。
- 故障演练与排障:通过混沌工程注入故障,实战演练从告警触发到根因定位的完整流程。
- 生产级最佳实践:涵盖采样策略、存储优化、成本控制、多租户隔离等进阶话题。