jaegertracing/jaeger
运维与部署面向微服务与云原生系统的分布式追踪平台,用于采集、存储并可视化跨服务调用链。
项目用途
Jaeger 是分布式追踪平台,用来观察请求在多个服务之间的流转。接入 OpenTelemetry SDK 的应用通过 HTTP 或 gRPC 把追踪数据发送给 Jaeger Collector,由它写入存储后端;Query 服务从存储读取数据供 Jaeger UI 展示,Collector 还能向 SDK 返回采样决策 README 架构图。
项目最初由 Uber 开发,是 CNCF 毕业项目,UI 和数据模型分别放在独立仓库中维护。存储后端支持 Elasticsearch、OpenSearch、Cassandra 和 ClickHouse,每种都有对应的 Docker Compose 测试环境 后端支持策略。
它适合运行微服务或 Kubernetes 工作负载、需要查看请求链路、延迟和服务依赖关系的团队,而不仅仅是汇总指标或日志。
快速开始
all-in-one 模式只需安装 Docker,容器内已包含 UI、Collector、Query 服务和内存存储:
docker run --rm --name jaeger \
-p 16686:16686 \
-p 4317:4317 \
-p 4318:4318 \
jaegertracing/jaeger:latest
启动后打开 Jaeger UI(http://localhost:16686),再把已接入 OpenTelemetry 的应用指向 OTLP gRPC 端口 4317 或 OTLP HTTP 端口 4318,追踪数据就会出现在 UI 中供检索和依赖分析。
all-in-one 模式使用内存存储,只适合试用。生产部署需要持久化存储后端,应按 入门指南 配置。
使用约束
- 存储后端需要按实际规模选择:版本支持跟随各后端上游生命周期,超出策略范围的版本仅提供尽力而为的支持。
- Jaeger v2 基于 OpenTelemetry Collector 组件构建,被弃用的配置项至少保留三个月或两个次版本(以较晚者为准),升级时可能需要调整配置 版本兼容保证。
- 从源码构建时跟随 Go 官方支持的版本;新的 Go 次版本发布后,上一个次版本不再作为受支持的构建版本。
- 仓库采用 Apache-2.0 许可证,项目由 CNCF 和维护者文档规定的治理方式管理。
HotRepo 点评
Jaeger 在可观测性领域长期占有一席之地,这与其稳定的 GitHub 数据相符:23,408 个 Star、3,246 个 Fork,最近一条 Go 语言日榜快照显示当日新增 1 个 Star、最好名次为第 13 名(2026-11-15)。2017 年的 Hacker News 讨论获得 311 分和 63 条评论,参与者在其中比较 Jaeger 与 Zipkin,有人称大约两小时就完成了可用的可视化搭建 HN 讨论 使用体验。这些关注来自项目处于 CNCF 孵化阶段时,反映的是当时的热度,而不是当前采用情况。
本文由 AI 根据项目 README 生成,更新于 ,以项目官方文档为准。
Hacker News 讨论
相关推荐
- open-telemetry/opentelemetry-go为 Go 服务接入链路追踪、指标和日志,并通过统一 API 导出到可观测平台。
- openobserve/openobserve一个自托管可观测性后端,把日志、指标、链路和前端监控收进单一二进制。
- open-telemetry/opentelemetry-collector用一条可配置的遥测管道替代每个后端各配一个代理,把接收、处理、导出集中到一处。
- grafana/alloy一个 OpenTelemetry Collector 发行版,用可编程管线统一转运指标、日志、链路和性能剖析数据。
- openchoreo/openchoreo面向 Kubernetes 的开源内部开发者平台,把集群能力封装成开发者与 AI Agent 可自助使用的抽象。