Zipkin UI 使用:筛选与排序功能
介绍
在分布式系统中,Zipkin 是一个重要的追踪工具,帮助开发者监控和诊断请求链路。Zipkin UI 提供了强大的筛选与排序功能,让你能够快速定位和分析特定的追踪数据。本章将详细介绍这些功能的使用方法,并通过实际案例展示其应用场景。
筛选功能
基本筛选
Zipkin UI 的筛选功能允许你根据多种条件过滤追踪数据。常见的筛选条件包括:
- 服务名称(Service Name):筛选特定服务的追踪数据。
- 跨度名称(Span Name):筛选包含特定操作的追踪数据。
- 时间范围(Time Range):筛选特定时间段内的追踪数据。
- 标签(Tags):根据自定义标签筛选数据。
示例:按服务名称筛选
- 打开 Zipkin UI,进入“查询”页面。
- 在“服务名称”下拉菜单中选择目标服务(例如
backend-service
)。 - 点击“搜索”按钮,Zipkin 将只显示与该服务相关的追踪数据。
提示
筛选条件可以组合使用。例如,你可以同时筛选 backend-service
和 HTTP GET /api/users
,以进一步缩小范围。
高级筛选
Zipkin 还支持通过 标签(Tags) 进行高级筛选。标签是附加到追踪数据上的键值对,例如 error=true
或 http.status_code=500
。
示例:按标签筛选
- 在“查询”页面,找到“标签”输入框。
- 输入标签键值对,例如
error=true
。 - 点击“搜索”按钮,Zipkin 将显示所有标记为错误的追踪数据。
排序功能
Zipkin UI 默认按追踪数据的 开始时间(Start Time) 降序排列,但你也可以根据需要调整排序方式。
支持的排序字段
- 开始时间(Start Time):按请求的开始时间排序。
- 持续时间(Duration):按请求的耗时排序。
- 服务名称(Service Name):按服务名称的字母顺序排序。
示例:按持续时间排序
- 在“查询”页面,找到追踪数据列表。
- 点击表头的“持续时间”列,Zipkin 将按耗时从长到短排序。
- 再次点击可切换为升序排列。
备注
排序功能通常与筛选功能结合使用。例如,你可以先筛选出 error=true
的追踪数据,再按持续时间排序,快速定位耗时最长的错误请求。
实际案例
场景:分析高延迟请求
假设你的系统中某些请求响应缓慢,你可以通过以下步骤定位问题:
- 在 Zipkin UI 中筛选出目标服务(例如
payment-service
)。 - 按“持续时间”降序排列,找到耗时最长的请求。
- 点击该请求,查看详细的追踪数据,分析延迟发生在哪个环节(如数据库查询或外部 API 调用)。
场景:排查错误请求
如果你发现系统中频繁出现错误,可以:
- 筛选标签
error=true
。 - 按“开始时间”降序排列,查看最近的错误请求。
- 分析错误请求的链路,定位根本原因。
总结
Zipkin UI 的筛选与排序功能是分析分布式追踪数据的强大工具。通过灵活组合筛选条件和排序方式,你可以快速定位问题并优化系统性能。
附加资源
- Zipkin 官方文档
- 练习:尝试在 Zipkin UI 中筛选出
http.status_code=500
的请求,并按持续时间排序。