jaegertracing/jaeger

GitHub: jaegertracing/jaeger

由Uber开源的CNCF毕业项目,用于微服务架构下的分布式链路追踪、故障排查和性能分析。

Stars: 22529 | Forks: 2805

[![Stand With Ukraine](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/6c5bca0285142231.svg)](https://stand-with-ukraine.pp.ua) [![Slack chat](https://img.shields.io/badge/slack-join%20chat%20%E2%86%92-brightgreen?logo=slack)](#get-in-touch) [![Unit Tests](https://static.pigsec.cn/wp-content/uploads/repos/2026/03/8163988643142233.svg)][ci] [![Coverage Status](https://codecov.io/gh/jaegertracing/jaeger/branch/main/graph/badge.svg)][cov] [![Project+Community stats](https://img.shields.io/badge/Project+Community-stats-blue.svg)][community-stats] [![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fjaegertracing%2Fjaeger.svg?type=shield)][fossa] [![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/jaegertracing/jaeger/badge)][openssf] [![OpenSSF Best Practices](https://www.bestpractices.dev/projects/1273/badge)][openssf-bp] [![CLOMonitor](https://img.shields.io/endpoint?url=https://clomonitor.io/api/projects/cncf/jaeger/badge)][clomonitor] [![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/jaegertracing)][artifacthub] # Jaeger - 分布式追踪系统 💥💥💥 Jaeger v2 发布了!阅读 [博客文章](https://medium.com/jaegertracing/jaeger-v2-released-09a6033d1b10) 并 [试用它](https://www.jaegertracing.io/docs/latest/getting-started/)。 ## 快速开始 使用 Docker 在几秒钟内启动 Jaeger: ``` # 运行 Jaeger all-in-one (包含 UI、collector、query 和 in-memory storage) docker run --rm --name jaeger \ -p 16686:16686 \ -p 4317:4317 \ -p 4318:4318 \ jaegertracing/jaeger:latest # 通过 http://localhost:16686 访问 UI # 通过 OTLP 发送 traces:gRPC 端口 4317,HTTP 端口 4318 ``` 有关生产部署和更多选项,请参阅 [入门指南](https://www.jaegertracing.io/docs/latest/getting-started/)。 ## 架构 ``` graph TD SDK["OpenTelemetry SDK"] --> |HTTP or gRPC| COLLECTOR COLLECTOR["Jaeger Collector"] --> STORE[Storage] COLLECTOR --> |gRPC| PLUGIN[Storage Plugin] COLLECTOR --> |gRPC/sampling| SDK PLUGIN --> STORE QUERY[Jaeger Query Service] --> STORE QUERY --> |gRPC| PLUGIN UI[Jaeger UI] --> |HTTP| QUERY subgraph Application Host subgraph User Application SDK end end ``` Jaeger 是由 [Uber Technologies](https://eng.uber.com/distributed-tracing/) 创建并捐赠给 [Cloud Native Computing Foundation](https://cncf.io) 的分布式追踪平台。 有关入门、操作详细信息和其他信息,请参阅 Jaeger [文档][doc]。 Jaeger 由 [Cloud Native Computing Foundation](https://cncf.io) (CNCF) 托管,作为第 7 个顶级项目,于 2019 年 10 月毕业。请参阅 CNCF [Jaeger 孵化公告](https://www.cncf.io/blog/2017/09/13/cncf-hosts-jaeger/)和[ Jaeger 毕业公告](https://www.cncf.io/announcement/2019/10/31/cloud-native-computing-foundation-announces-jaeger-graduation/)。 ## 参与其中 Jaeger 是一个具有开放治理的开源项目。我们欢迎社区的贡献,也非常希望得到您的帮助来改进和扩展该项目。这里有一些关于[如何参与的想法](https://www.jaegertracing.io/get-involved/)。其中许多甚至不需要任何编码。 ## 版本兼容性保证 由于 Jaeger 使用了 [OpenTelemetry Collector](https://github.com/open-telemetry/opentelemetry-collector/) 中的许多组件,我们尝试在 Jaeger 版本之间保持配置兼容性。有时,由于可用性改进、新功能或依赖项的更改,Jaeger 中的配置选项(或 Jaeger v1 CLI 标志)可能会被弃用。 在这种情况下,引入弃用的开发人员需要遵循[这些指南](./CONTRIBUTING.md#deprecating-cli-flags)。 简而言之,对于已弃用的配置选项,您应该会在文档或发行说明中看到以下消息: ``` (deprecated, will be removed after yyyy-mm-dd or in release vX.Y.Z, whichever is later) ``` 从包含弃用通知的第一个版本开始,将提供至少 **3 个月** 或 **两个次要版本更新**(以较晚者为准)的宽限期,之后已弃用的配置选项_才可_被删除。 例如,考虑这样一个场景:2024 年 9 月 1 日发布的 v2.0.0 包含针对某个配置选项的弃用通知。 该配置选项将保持弃用状态,直到 2024 年 12 月 1 日或 v2.2.0(以较晚者为准),在此之后_可以_移除它。 它保持弃用状态的时间可能会超过上述宽限期。 ## Go 版本兼容性保证 Jaeger 项目尝试跟踪当前受支持的 Go 版本,正如 [Go 团队所定义](https://go.dev/doc/devel/release#policy)的那样。 移除对不受支持的 Go 版本的支持不被视为破坏性更改。 从 Go 1.21 版本开始,Go 版本支持将按如下方式更新: 1. 在新的 Go 次要版本 `N` 发布后不久,将更新构建和测试步骤以适应最新的 Go 次要版本。 2. 在新的 Go 次要版本 `N` 发布后不久,将移除对 Go 版本 `N-1` 的支持,版本 `N` 将成为最低要求版本。 注意:所有可导入的代码都已移至内部包,因此无需维护与旧编译器的向后兼容性(以前使用版本 `N-1`)。 ## 相关仓库 ### 组件 * [UI](https://github.com/jaegertracing/jaeger-ui) * [数据模型](https://github.com/jaegertracing/jaeger-idl) ### 文档 * 发布版:https://www.jaegertracing.io/docs/ * 源码:https://github.com/jaegertracing/documentation ## 从源码构建 请参阅 [CONTRIBUTING](./CONTRIBUTING.md)。 ## 贡献 请参阅 [CONTRIBUTING](./CONTRIBUTING.md)。 ### 维护者 成为维护者的规则在 [GOVERNANCE](./GOVERNANCE.md) 文档中定义。 Jaeger 项目的官方维护者列在 [MAINTAINERS](./MAINTAINERS.md) 文件中。 请使用 `@jaegertracing/jaeger-maintainers` 在 issue 或 PR 中标记他们。 [jaegertracing](https://github.com/jaegertracing) 组织下的某些仓库有额外的维护者。 ## 项目状态会议 Jaeger 维护者和贡献者定期通过视频会议进行交流。欢迎大家加入,包括最终用户。有关会议详情,请参阅 https://www.jaegertracing.io/get-in-touch/。 ## 路线图 请参阅 https://www.jaegertracing.io/docs/roadmap/ ## 联系我们 有疑问、建议或 Bug 报告?通过以下渠道联系项目社区: * [Slack 聊天室 `#jaeger`][slack](首次加入需加入 [CNCF Slack][slack-join]) * [`jaeger-tracing` 邮件组](https://groups.google.com/forum/#!forum/jaeger-tracing) * GitHub [议题](https://github.com/jaegertracing/jaeger/issues) 和 [讨论](https://github.com/jaegertracing/jaeger/discussions) ## 安全 Jaeger 的第三方安全审计可在 https://github.com/jaegertracing/security-audits 获取。请参阅 [Issue #1718](https://github.com/jaegertracing/jaeger/issues/1718) 了解 Jaeger 中可用安全机制的摘要。 ## 采用者 Jaeger 作为一个产品由多个组件组成。我们希望支持不同类型的用户, 无论他们是仅使用我们的检测库还是完整的端到端 Jaeger 安装, 无论是在生产环境中运行还是用于排查开发中的问题。 请参阅 [ADOPTERS.md](./ADOPTERS.md) 了解目前正在使用 Jaeger 的一些组织。 如果您想将您的组织添加到列表中,请评论我们的 [调查议题](https://github.com/jaegertracing/jaeger/issues/207)。 ## 许可证 版权所有 (c) The Jaeger Authors。 [Apache 2.0 许可证](./LICENSE)。
标签:API集成, APM, CNCF, Docker, EVTX分析, GET参数, Go, gRPC, Jaeger, OpenTelemetry, Python工具, Ruby工具, web渗透, 分布式追踪, 可观测性, 子域名突变, 安全防御评估, 开源, 性能分析, 指标, 故障排查, 日志, 日志审计, 用户代理, 监控, 请求拦截, 遥测, 链路追踪