服务筛选
介绍
在分布式系统中,一个请求可能涉及多个服务的调用。Jaeger作为分布式追踪系统,可以帮助我们可视化这些调用链。但当系统中服务数量庞大时,如何快速找到你关心的服务追踪数据呢?这就是服务筛选的用武之地。
服务筛选是Jaeger查询界面的核心功能之一,它允许你:
- 从所有记录的服务中快速选择特定服务
- 查看该服务的所有追踪数据
- 进一步分析该服务的性能表现
基础用法
在Jaeger UI的查询页面,服务筛选通常位于页面顶部的下拉菜单中:
- 打开Jaeger UI
- 导航到"Search"页面
- 在"Service"下拉菜单中选择你要查询的服务
备注
如果你刚接触Jaeger,可能会发现下拉菜单中只有"jaeger-query"服务。这是因为你还没有配置其他服务的追踪数据上报。
实际案例
假设我们有一个电商系统,包含以下服务:
frontend
:用户界面product-service
:商品信息cart-service
:购物车payment-service
:支付处理
当用户报告支付缓慢时,你可以:
- 在Jaeger中选择
payment-service
- 查看该服务的所有追踪
- 按持续时间排序找出最慢的请求
- 分析具体追踪找出瓶颈
高级筛选技巧
服务筛选可以与其他筛选条件结合使用:
-
服务+操作筛选:先选择服务,然后在该服务中选择特定操作(如HTTP端点)
Service: payment-service
Operation: /api/v1/charge -
服务+时间范围:查看特定时间段内服务的表现
Service: cart-service
Time Range: Last 1 hour -
服务+标签筛选:结合自定义标签进一步缩小范围
Service: product-service
Tags: http.status_code=500