跳到主要内容

Zipkin UI 使用:筛选与排序功能

介绍

在分布式系统中,Zipkin 是一个重要的追踪工具,帮助开发者监控和诊断请求链路。Zipkin UI 提供了强大的筛选与排序功能,让你能够快速定位和分析特定的追踪数据。本章将详细介绍这些功能的使用方法,并通过实际案例展示其应用场景。


筛选功能

基本筛选

Zipkin UI 的筛选功能允许你根据多种条件过滤追踪数据。常见的筛选条件包括:

  • 服务名称(Service Name):筛选特定服务的追踪数据。
  • 跨度名称(Span Name):筛选包含特定操作的追踪数据。
  • 时间范围(Time Range):筛选特定时间段内的追踪数据。
  • 标签(Tags):根据自定义标签筛选数据。

示例:按服务名称筛选

  1. 打开 Zipkin UI,进入“查询”页面。
  2. 在“服务名称”下拉菜单中选择目标服务(例如 backend-service)。
  3. 点击“搜索”按钮,Zipkin 将只显示与该服务相关的追踪数据。
提示

筛选条件可以组合使用。例如,你可以同时筛选 backend-serviceHTTP GET /api/users,以进一步缩小范围。

高级筛选

Zipkin 还支持通过 标签(Tags) 进行高级筛选。标签是附加到追踪数据上的键值对,例如 error=truehttp.status_code=500

示例:按标签筛选

  1. 在“查询”页面,找到“标签”输入框。
  2. 输入标签键值对,例如 error=true
  3. 点击“搜索”按钮,Zipkin 将显示所有标记为错误的追踪数据。

排序功能

Zipkin UI 默认按追踪数据的 开始时间(Start Time) 降序排列,但你也可以根据需要调整排序方式。

支持的排序字段

  • 开始时间(Start Time):按请求的开始时间排序。
  • 持续时间(Duration):按请求的耗时排序。
  • 服务名称(Service Name):按服务名称的字母顺序排序。

示例:按持续时间排序

  1. 在“查询”页面,找到追踪数据列表。
  2. 点击表头的“持续时间”列,Zipkin 将按耗时从长到短排序。
  3. 再次点击可切换为升序排列。
备注

排序功能通常与筛选功能结合使用。例如,你可以先筛选出 error=true 的追踪数据,再按持续时间排序,快速定位耗时最长的错误请求。


实际案例

场景:分析高延迟请求

假设你的系统中某些请求响应缓慢,你可以通过以下步骤定位问题:

  1. 在 Zipkin UI 中筛选出目标服务(例如 payment-service)。
  2. 按“持续时间”降序排列,找到耗时最长的请求。
  3. 点击该请求,查看详细的追踪数据,分析延迟发生在哪个环节(如数据库查询或外部 API 调用)。

场景:排查错误请求

如果你发现系统中频繁出现错误,可以:

  1. 筛选标签 error=true
  2. 按“开始时间”降序排列,查看最近的错误请求。
  3. 分析错误请求的链路,定位根本原因。

总结

Zipkin UI 的筛选与排序功能是分析分布式追踪数据的强大工具。通过灵活组合筛选条件和排序方式,你可以快速定位问题并优化系统性能。

附加资源

  • Zipkin 官方文档
  • 练习:尝试在 Zipkin UI 中筛选出 http.status_code=500 的请求,并按持续时间排序。