Repolode
jaegertracing

jaegertracing/jaeger

Jaeger 是 CNCF 毕业项目,用于监控和排查微服务之间的分布式请求链路。

可替代:Datadog APM

Star
23,382
Fork
3,226
未关闭 Issue
564
最近提交
17小时前

这是什么?

Jaeger 是一个分布式链路追踪系统,用于记录一次请求在多个服务之间的流转过程,帮助开发者定位耗时瓶颈和故障位置。应用通过 OpenTelemetry SDK 接入,可经 OTLP 协议以 gRPC(4317 端口)或 HTTP(4318 端口)上报数据,并通过 Web UI 搜索和查看链路。

系统由采集器(collector)、查询服务、UI 和可插拔的存储层组成。官方提供的 all-in-one Docker 镜像内置内存存储,适合本地快速试用;生产环境可接入 Elasticsearch、OpenSearch、Cassandra、ClickHouse 等存储后端。

项目最初由 Uber 创建并捐赠给云原生计算基金会(CNCF),于 2019 年成为毕业项目。v2 版本基于 OpenTelemetry Collector 的部分组件构建。

核心功能

  • 01通过 gRPC 或 HTTP 接收 OpenTelemetry SDK 上报的 OTLP 链路数据。
  • 02提供 Web UI,用于搜索和查看分布式链路。
  • 03存储层可插拔,支持 Elasticsearch、OpenSearch、Cassandra、ClickHouse。
  • 04提供 all-in-one Docker 镜像,可快速在本地运行。
  • 05基于 OpenTelemetry Collector 组件构建,并尽量保持配置兼容。

适用场景

  • 定位微服务调用链中导致请求变慢的具体服务。
  • 排查跨多个服务的错误,无论是在开发还是生产环境。
  • 为已接入 OpenTelemetry 的系统搭建自托管的链路追踪后端。

快速上手

  1. 1

    使用 Docker 运行 Jaeger all-in-one

    docker run --rm --name jaeger -p 16686:16686 -p 4317:4317 -p 4318:4318 jaegertracing/jaeger:latest
  2. 2

    在浏览器中打开 http://localhost:16686 访问界面

使用前须知

  • 快速启动中的 all-in-one 使用内存存储,不适合生产环境;生产部署请参阅入门指南。
  • 生产部署需要外部存储后端并需要更多配置工作。

收录于专题

标签

常见问题

jaeger 是什么?
Jaeger 是 CNCF 毕业项目,用于监控和排查微服务之间的分布式请求链路。 Jaeger 是一个分布式链路追踪系统,用于记录一次请求在多个服务之间的流转过程,帮助开发者定位耗时瓶颈和故障位置。应用通过 OpenTelemetry SDK 接入,可经 OTLP 协议以 gRPC(4317 端口)或 HTTP(4318 端口)上报数据,并通过 Web UI 搜索和查看链路。
jaeger 可以免费使用吗?用的什么许可证?
jaeger 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
jaeger 还在维护吗?
活跃维护中。jaeger 最近一次提交是在 2026年11月6日。
jaeger 适合用来做什么?
定位微服务调用链中导致请求变慢的具体服务。 排查跨多个服务的错误,无论是在开发还是生产环境。 为已接入 OpenTelemetry 的系统搭建自托管的链路追踪后端。
jaeger 怎么安装和运行?
使用 Docker 运行 Jaeger all-in-one: docker run --rm --name jaeger -p 16686:16686 -p 4317:4317 -p 4318:4318 jaegertracing/jaeger:latest 在浏览器中打开 http://localhost:16686 访问界面
在哪里获取 jaeger?
源代码和安装说明在 GitHub 上:https://github.com/jaegertracing/jaeger

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目