这个项目能做什么

Jaeger是一个开源分布式追踪平台,最初由Uber创建,现由云原生计算基金会托管,于2019年10月成为第七个毕业的顶级项目。该项目采用Apache 2.0许可证。 核心功能 - 从已注入代码的应用程序中收集追踪数据,通过gRPC(默认端口4317)和HTTP(端口4318)接收OTLP格式的spans。 - 通过存储插件接口将追踪数据存储到可插拔的存储后端。 - 提供查询服务和Web UI用于搜索和检查追踪数据;UI可以独立于查询组件运行。 架构说明 - 用户应用程序中的OpenTelemetry SDK通过HTTP或gRPC将spans发送到Jaeger Collector。 - Collector直接写入存储或通过gRPC存储插件写入;还可以向SDK返回采样响应。 - Query服务从存储中读取数据(可选通过相同的插件接口),并通过HTTP提供服务UI。 - 平台的V2版本基于OpenTelemetry Collector的组件构建,项目声明尽量保持跨版本配置兼容。 快速开始 一个简单的Docker命令即可运行包含UI、Collector、查询服务和内存存储的全合一镜像,UI暴露在16686端口,OTLP暴露在4317/4318端口。README提供了生产部署指南和更多选项的链接。 支持的存储后端及策略 README文档记录了后端版本的支持策略,将Jaeger的覆盖范围与每个后端自身的生命周期绑定:Elasticsearch(遵循Elastic EOL政策)、OpenSearch(遵循其发布和维护政策)、Cassandra(维护的Apache发布线)和ClickHouse(当前和前一个LTS版本)。支持意味着该版本在主动兼容性修复范围内;CI可能仅测试部分受支持版本,在CI中出现并不自动扩展政策支持。项目不支持后端产品本身或厂商发行版,故障排查可能需要用户先升级。 兼容性保证 - 配置选项可能在至少三个月或两次小版本更新(取较晚者)的宽限期内被弃用,然后才会被移除。 - Go支持跟踪Go团队支持的最新版本;新的小版本发布后,对旧Go小版本的支持将被放弃,这不视为破坏性变更。可导入的代码已移至内部包。 社区、治理与安全 项目采用开放治理模式,在公开环境下开发,贡献者来自广泛社区。维护者列表在仓库中公布,可在问题和PR中集体@他们。定期视频会议对所有终端用户和贡献者开放。相关仓库包括UI、数据模型/IDL和文档源码。第三方安全审计报告发布在独立的jaegertracing仓库中,README中的徽章指向OpenSSF Scorecard、OpenSSF最佳实践和CLOMonitor状态。README还列出了采用者和项目赞助方。 适用对象 运营微服务架构或分布式系统的团队,需要追踪跨越服务边界的请求流,无论是生产环境还是开发调试阶段。由于注入代码来自OpenTelemetry SDK,用户可以在不依赖单一厂商后端的情况下采用追踪方案,并可选择与其现有运维环境相匹配的存储系统。