
openzipkin/zipkin-builderZipkin是一款分布式追踪系统,用于收集服务架构中排查延迟问题所需的时序数据,支持数据的收集与查询功能。通过日志中的跟踪ID可直接定位相关跟踪数据,也可基于服务名、操作名、标签、持续时间等属性进行查询,并汇总展示服务耗时占比、操作失败情况等关键数据。其UI还提供依赖关系图,直观展示跟踪请求流经的应用,帮助识别聚合行为(如错误路径或 deprecated 服务调用)。
!跟踪视图截图
!依赖关系图截图
应用需通过跟踪器或 instrumentation 库配置以上报跟踪数据,支持HTTP、Kafka、Apache ActiveMQ、gRPC、RabbitMQ等多种上报方式。UI展示的数据可存储在内存中,或通过Apache Cassandra、Elasticsearch等后端持久化存储。
使用Docker快速启动Zipkin服务:
bashdocker run -d -p 9411:9411 openzipkin/zipkin
服务启动后,通过 [***] 访问Zipkin UI。
bashcurl -sSL [***] | bash -s java -jar zipkin.jar
CASSANDRA_CONTACT_POINTS=host1,host2),支持大规模数据,依赖zipkin-dependencies任务聚合依赖关系。ES_HOSTS=[***]),支持5+版本,依赖Spark任务聚合依赖关系。默认启用以下搜索端点(支持UI跟踪列表页功能):
GET /services:获取 distinct Span.localServiceNameGET /remoteServices?serviceName=X:按本地服务名获取 distinct Span.remoteServiceNameGET /spans?serviceName=X:按本地服务名获取 distinct Span.nameGET /autocompleteKeys:获取 Span.tags 中白名单内的 distinct 键GET /autocompleteValues?key=X:按键获取 Span.tags 的 distinct 值GET /traces:按上述条件筛选跟踪记录禁用搜索后,仅允许通过跟踪ID查询(GET /trace/{traceId}),适用于通过日志获取跟踪ID的场景。可通过环境变量禁用:
bashdocker run -d -p 9411:9411 -e SEARCH_ENABLED=false openzipkin/zipkin
或代码配置:StorageComponent.Builder.searchEnabled(false)。
包含在核心库中,非持久化,不适合生产环境,仅用于测试(如本地启动服务器无需数据库)。
基于Zipkin V1 Thrift模型,不推荐新使用,仅用于过渡:
需JDK 11编译源码:
bash# 构建服务器及其依赖 ./mvnw -DskipTests --also-make -pl zipkin-server clean install # 运行服务器 java -jar ./zipkin-server/target/zipkin-server-*exec.jar
openzipkin/zipkin,详情见docker-zipkin。io.zipkin,核心库 artifacts groupId io.zipkin.zipkin2。


manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务