简介
另请参阅
欢迎阅读 Jaeger 文档!下方提供了面向 Jaeger 初学者和资深用户的信息。如果您找不到所需内容,或者遇到了这里未涵盖的问题,欢迎随时与我们联系。
关于
Jaeger 是一个分布式追踪平台,由 Uber Technologies 于 2016 年作为开源项目发布,并捐赠给 Cloud Native Computing Foundation ,现已成为其毕业项目。
通过 Jaeger,您可以
- 监控和诊断分布式工作流
- 识别性能瓶颈
- 追查根本原因
- 分析服务依赖关系
了解更多
如果您是分布式追踪新手,我们推荐以下外部资源
- 精通分布式追踪 (2019) 由 Yuri Shkuro 撰写,他是 Jaeger 的创建者。本书深入探讨了 Jaeger 设计和操作的许多方面,以及分布式追踪的普遍概念。
- Jaeger HotROD 实践 ,这是一个循序渐进的教程,演示了如何使用 Jaeger 解决应用性能问题。
- Jaeger 简介 ,这是一个(较早的)网络研讨会,介绍了 Jaeger 及其功能。
- Uber 的分布式追踪演进 ,一篇博客文章,解释了 Jaeger 架构选择的历史和原因。
Jaeger v2
(2024-11-12) Jaeger 作为领先的开源分布式追踪平台,已成功运营 9 年,并与 OpenTracing 和 OpenTelemetry 等行业标准化工作紧密对齐。Jaeger 是 Cloud Native Computing Foundation (CNCF) 首批毕业项目之一。经过 60 多个版本发布,Jaeger 正通过发布 Jaeger v2 迎来重要的里程碑。这是一个新的架构,它使用 OpenTelemetry Collector 框架作为基础并对其进行扩展,以实现 Jaeger 的独特功能。这带来了显著的改进和变化,使 Jaeger 更加灵活、可扩展,并更好地与 OpenTelemetry 项目对齐。在此阅读全文 。
有关从 Jaeger v1 迁移的详细信息,请参阅迁移指南。
功能特性
- OpenTracing 启发的数据模型
- OpenTelemetry 兼容
- 多种内置存储后端
- Elasticsearch 和 OpenSearch
- Cassandra
- Badger (单节点,本地文件存储)
- Kafka (作为中间缓冲区)
- 内存存储
- 通过 Remote Storage API 扩展自定义后端
- 系统拓扑 / 服务依赖关系图
- 自适应采样
- 服务性能监控 (SPM)
- 采集后数据处理
有关更多详细信息,请参阅功能特性页面。
与 OpenTelemetry 的关系
Jaeger 和 OpenTelemetry 项目有不同的目标。OpenTelemetry 旨在提供多种语言的 API 和 SDK,允许应用将各种遥测数据导出到进程外部,发送到任意数量的指标和追踪后端。Jaeger 项目主要作为追踪后端,接收追踪遥测数据并提供对该数据的处理、聚合、数据挖掘和可视化。有关更多信息,请参阅博客文章 Jaeger and OpenTelemetry 。
Jaeger 最初设计用于支持 OpenTracing 标准 。相关术语仍在使用于 Jaeger UI 中,但这些概念与 OpenTelemetry 的追踪数据模型有直接映射关系。
能力 | OpenTracing 概念 | OpenTelemetry 概念 |
---|---|---|
将追踪表示为有向无环图(而非仅是树) | span references | span links |
强类型的 span 属性 | span 标签 | span 属性 |
强类型的事件/日志 | span 日志 | span 事件 |
快速入门
请参阅入门。