专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏

openzipkin/zipkin-ui Docker 镜像 - 轩辕镜像

zipkin-ui
openzipkin/zipkin-ui
Zipkin是一款分布式追踪系统,用于收集和查询服务架构中的时序数据,帮助排查延迟问题,提供UI展示追踪数据和服务依赖图。
3 收藏0 次下载activeopenzipkin镜像
🚀专业版镜像服务,面向生产环境设计
中文简介版本下载
🚀专业版镜像服务,面向生产环境设计

Zipkin

Zipkin 是一款分布式追踪系统。它有助于收集解决服务架构中延迟问题所需的时序数据,功能包括此类数据的收集与查询。

如果日志文件中有跟踪ID,你可以直接跳转到对应的跟踪数据。否则,你可以根据服务名称、操作名称、标签和持续时间等属性进行查询。系统会为你汇总一些重要数据,例如在某个服务中花费的时间百分比,以及操作是否失败。

Zipkin UI 还提供依赖图,展示有多少跟踪请求经过了每个应用。这有助于识别聚合行为,包括错误路径或对已弃用服务的调用。

应用需要进行“ instrumentation”(即 instrumentation 配置)才能向 Zipkin 报告跟踪数据。这通常意味着需要配置追踪器或 instrumentation 库。向 Zipkin 报告数据最常用的方式是通过 HTTP 或 Kafka,但也存在许多其他选项,如 Apache ActiveMQ、gRPC 和 RabbitMQ。提供给 UI 的数据可以存储在内存中,或通过受支持的后端(如 Apache Cassandra 或 Elasticsearch)持久化存储。

快速启动

最快速的启动方式是获取最新发布的服务器作为独立可执行 JAR 文件。注意,Zipkin 服务器需要至少 JRE 8 环境。例如:

bash
curl -sSL [***] | bash -s
java -jar zipkin.jar

你也可以通过 Docker 启动 Zipkin:

bash
docker run -d -p 9411:9411 openzipkin/zipkin

服务器启动后,你可以通过 Zipkin UI 在 [***] 查看跟踪数据。

如果你的应用尚未发送跟踪数据,请使用Zipkin instrumentation 进行配置,或尝试我们的示例。

有关配置详情,请查看 zipkin-server 文档,或参考 docker-zipkin 了解如何使用 docker-compose。

核心库

核心库 供 Zipkin instrumentation 和 Zipkin 服务器使用。其最低支持 Java 6 语言级别,以支持编写代理 instrumentation。

该库包含 Zipkin v1 和 v2 JSON 格式的内置编解码器。通过精简和重新打包所用类,避免了对 gson(JSON 库)的直接依赖。生成的 JAR 包大小为 155k,不会与你使用的任何库冲突。

示例:

java
// 所有数据都记录在同一个端点,与你的服务图关联
localEndpoint = Endpoint.newBuilder().serviceName("tweetie").ip("192.168.0.1").build()
span = Span.newBuilder()
    .traceId("d3d200866a77cc59")
    .id("d3d200866a77cc59")
    .name("targz")
    .localEndpoint(localEndpoint)
    .timestamp(epochMicros())
    .duration(durationInMicros)
    .putTag("compression.level", "9");

// 现在,你可以将其编码为 JSON
bytes = SpanBytesEncoder.JSON_V2.encode(span);

注意:以上仅为示例,通常你会希望使用现有的追踪库,如 Brave。

存储组件

Zipkin 包含 StorageComponent,用于存储和查询跨度(span)及依赖链接。服务器、收集器或跨度报告器都会用到它。因此,存储组件的依赖极少,但大多数需要 Java 8+ 环境。

示例:

java
// 此操作不会创建网络连接
storage = ElasticsearchStorage.newBuilder()
                              .hosts(asList("[***]")).build();

// 准备调用
traceCall = storage.spanStore().getTrace("d3d200866a77cc59");

// 同步或异步执行
trace = traceCall.execute();

// 清理会话等资源
storage.close();
内存存储

InMemoryStorage 组件打包在 Zipkin 核心库中。它既不持久化数据,也不适用于实际工作负载。其用途是测试,例如在笔记本电脑上启动服务器而无需任何数据库。

Cassandra

Cassandra 组件使用 Cassandra 3.11.3+ 特性,但会针对最新的 Cassandra 3.11 补丁版本进行测试。

这是我们的第二代 Cassandra 模式。它使用 UDT 存储跨度,因此在 cqlsh 中看起来类似 Zipkin v2 JSON。其设计考虑了可扩展性,并结合使用 SASI 和手动实现的索引,使查询大量数据时更高效。

注意:此存储需要通过作业聚合依赖链接。

Elasticsearch

Elasticsearch 组件使用 Elasticsearch 5+ 特性,但会针对 Elasticsearch 6-7.x 进行测试。

它将跨度存储为 Zipkin v2 JSON,以便与其他工具集成。为帮助扩展,它结合使用自定义索引和手动实现的索引。

注意:此存储需要通过Spark 作业聚合依赖链接。

禁用搜索

以下 API 端点提供搜索功能,默认启用。搜索主要用于 UI 的跟踪列表页面。

  • GET /services - distinct Span.localServiceName
  • GET /remoteServices?serviceName=X - 按 Span.localServiceName 筛选的 distinct Span.remoteServiceName
  • GET /spans?serviceName=X - 按 Span.localServiceName 筛选的 distinct Span.name
  • GET /autocompleteKeys - 受配置白名单限制的 Span.tags 键的 distinct 值
  • GET /autocompleteValues?key=X - 按键筛选的 Span.tags 值的 distinct 值
  • GET /traces - 匹配包含上述条件的查询的跟踪数据

禁用搜索后,只能通过 ID(GET /trace/{traceId})检索跟踪数据。仅当存在其他查找跟踪 ID 的方式(如日志)时,禁用搜索才可行。禁用搜索可降低存储成本或提高写入吞吐量。

当 Zipkin 通过环境变量 SEARCH_ENABLED=false 运行时,会隐含 StorageComponent.Builder.searchEnabled(false)。

遗留(v1)组件

以下组件不再推荐使用,但为过渡到受支持的组件提供帮助。这些组件标为“v1”,因为它们使用基于 Zipkin V1 Thrift 模型的数据布局,而非当前使用的更简单的 v2 数据模型。

MySQL

MySQL v1 组件使用 MySQL 5.6+ 特性,但会针对 MariaDB 10.3 进行测试。

该模式设计易于理解和上手,但并非为性能而设计。例如,跨度字段作为列,因此你可以使用 SQL 执行临时查询。然而,此组件存在已知性能问题:如果存入大量数据,查询最终会耗时数秒。

此存储不需要通过作业聚合依赖链接。但运行作业可提高依赖查询的性能。

Cassandra

Cassandra v1 组件使用 Cassandra 2.2+ 特性,但会针对最新的 Cassandra 3.11 补丁版本进行测试。

CQL 编写于 2015 年,基于 *** 的原始 Cassandra 模式,并经过扩展。跨度存储为不透明的 Thrift 数据,这意味着你无法在 cqlsh 中查询字段。该模式为可扩展性而设计,包括手动实现的索引,使查询大量数据时更高效。

注意:此存储需要通过作业聚合依赖链接。

从源码运行服务器

Zipkin 服务器 通过 HTTP POST 接收跨度数据,并响应来自 UI 的查询。它还可以运行收集器,如 RabbitMQ 或 Kafka。

要从当前检出的源码运行服务器,请执行以下命令。编译源码需要 JDK 11。

bash
# 构建服务器及其依赖
$ ./mvnw -DskipTests --also-make -pl zipkin-server clean install
# 运行服务器
$ java -jar ./zipkin-server/target/zipkin-server-*exec.jar

制品

服务器制品的 Maven groupId 为 io.zipkin,库制品的 Maven groupId 为 io.zipkin.zipkin2。

库发布版本

发布版本上传至 Bintray 并同步至 Maven Central。

库快照版本

提交至 master 分支后,快照版本上传至 JFrog。

Docker 镜像

zipkin-server 的发布版本发布至 Docker Hub,镜像名为 openzipkin/zipkin。详情参见 docker-zipkin。

Javadocs

[***] 包含版本化文件夹,其中包含每次(非 PR)构建及发布版本的 Javadoc。

查看更多 zipkin-ui 相关镜像 →
bitnamicharts/zipkin logo
bitnamicharts/zipkin
by VMware
认证
Bitnami提供的Zipkin Helm chart,用于在Kubernetes环境中便捷部署和管理Zipkin分布式追踪系统,助力监控微服务架构中的请求链路与性能问题。
100K+ pulls
上次更新:5 个月前
rancher/openzipkin-zipkin logo
rancher/openzipkin-zipkin
by Rancher by SUSE
认证
暂无描述
100K+ pulls
上次更新:5 年前
bitnami/zipkin logo
bitnami/zipkin
by VMware
认证
Bitnami Zipkin安全镜像是一个分布式追踪系统,帮助收集和分析时序数据以排查服务架构中的延迟问题,提供服务调用性能可见性,基于安全加固的容器环境。
10K+ pulls
上次更新:5 个月前
rancher/mirrored-openzipkin-zipkin logo
rancher/mirrored-openzipkin-zipkin
by Rancher by SUSE
认证
暂无描述
50K+ pulls
上次更新:1 年前
jaegertracing/xdock-zipkin-brave logo
jaegertracing/xdock-zipkin-brave
by jaegertracing
用于验证Jaeger支持Zipkin数据格式的Crossdock测试应用。
50K+ pulls
上次更新:4 年前
openzipkin/zipkin logo
openzipkin/zipkin
by openzipkin
Zipkin分布式追踪系统的官方镜像,用于实现分布式系统的追踪功能。
255100M+ pulls
上次更新:8 个月前

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

oldzhang的头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
openzipkin/zipkin-ui
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
提交工单
免费获取在线技术支持请 提交工单,官方QQ群:13763429 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
免费获取在线技术支持请提交工单,官方QQ群: 。
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.
轩辕镜像 官方专业版 Logo
轩辕镜像轩辕镜像官方专业版
首页个人中心搜索镜像
交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 13763429