Jaeger 是 CNCF 毕业项目,用于监控和排查微服务之间的分布式请求链路。
- Star
- 17,473
- Fork
- 3,093
- 未关闭 Issue
- 176
- 最近提交
- 3个月前
这是什么?
Zipkin 从已埋点的应用中收集耗时数据,可以通过 trace ID 直接查找追踪记录,也能按服务名、操作名、标签和耗时进行搜索。界面会汇总每条追踪中各服务的耗时占比以及操作是否失败,并通过依赖关系图展示应用之间的调用流量。
应用可以通过 HTTP 或 Kafka 上报 span,也支持 RabbitMQ、gRPC、Apache ActiveMQ、Apache Pulsar 等传输方式。数据既可以保存在内存中用于测试,也可以持久化到 Apache Cassandra、Elasticsearch 或 OpenSearch,另有已不再推荐的 MySQL 存储选项。
项目还提供核心 Java 库,包含 Zipkin v1 和 v2 JSON 编解码器以及存储组件接口,服务端以可执行 jar、Docker 镜像、Homebrew 和 Helm chart 等形式发布。另有不含消息传输组件的精简版,适合更轻量的部署。
核心功能
- 01可按服务、操作、标签和耗时搜索追踪,也可直接输入 trace ID 查看。
- 02依赖关系图展示应用间的请求流向,包括错误路径。
- 03支持通过 HTTP、Kafka、RabbitMQ、gRPC、ActiveMQ 和 Apache Pulsar 上报 span。
- 04存储可选内存、Cassandra、Elasticsearch 和 OpenSearch。
- 05提供包含 v1 和 v2 JSON 编解码器的核心 Java 库。
适用场景
- 排查微服务调用链中导致高延迟的具体服务。
- 从日志中拿到 trace ID 后,跨服务定位失败请求。
- 在无数据库的情况下本地启动 Zipkin 用于开发和测试。
- 通过依赖关系图发现对已弃用服务的调用。
快速上手
- 1
使用 Docker 启动 Zipkin
docker run -d -p 9411:9411 openzipkin/zipkin - 2
在浏览器中打开 http://localhost:9411/zipkin 访问 Zipkin 界面
使用前须知
- 默认的内存存储不是持久化的,不适合实际工作负载。
- 应用程序必须先接入追踪器或埋点库,才能向 Zipkin 发送追踪数据。
- Zipkin 服务端需要 JRE 17 或更高版本。
收录于专题
标签
常见问题
- zipkin 是什么?
- Zipkin 是一个分布式追踪系统,用于收集和查询耗时数据,帮助排查微服务架构中的延迟问题。 Zipkin 从已埋点的应用中收集耗时数据,可以通过 trace ID 直接查找追踪记录,也能按服务名、操作名、标签和耗时进行搜索。界面会汇总每条追踪中各服务的耗时占比以及操作是否失败,并通过依赖关系图展示应用之间的调用流量。
- zipkin 可以免费使用吗?用的什么许可证?
- zipkin 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- zipkin 还在维护吗?
- 半年内有更新。zipkin 最近一次提交是在 2026年8月6日。
- zipkin 适合用来做什么?
- 排查微服务调用链中导致高延迟的具体服务。 从日志中拿到 trace ID 后,跨服务定位失败请求。 在无数据库的情况下本地启动 Zipkin 用于开发和测试。 通过依赖关系图发现对已弃用服务的调用。
- zipkin 怎么安装和运行?
- 使用 Docker 启动 Zipkin: docker run -d -p 9411:9411 openzipkin/zipkin 在浏览器中打开 http://localhost:9411/zipkin 访问 Zipkin 界面
- 在哪里获取 zipkin?
- 源代码和安装说明在 GitHub 上:https://github.com/openzipkin/zipkin
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
用于为 Go 应用接入 New Relic 监控,上报事务、错误和运行时指标的 SDK。
OpenTelemetry 的 Go 语言实现,提供 API 与 SDK,用于为 Go 应用采集追踪、指标和日志数据。
面向微服务与云原生架构的 APM 应用性能监控系统,提供链路追踪与诊断。
基于 OpenTelemetry 的开源可观测性平台,将日志、指标、链路追踪、告警和仪表盘整合在一个可自托管的工具中。
可自托管的可观测性平台,统一处理日志、指标、链路追踪、前端监控和 LLM 观测,可替代 Datadog 和 Splunk。