首页/云/可观测性速查/Tempo 数据源接入
Grafana 与看板53 条

Tempo 数据源接入

Tempo 存储链路数据,Grafana 提供 TraceQL 检索与 trace 详情:按服务、时长筛选链路,与指标、日志互相跳转。

可观测性速查云更新于 2026-10-13

Tempo 数据源是什么

Tempo 是链路数据的存储后端,Grafana 通过内置数据源接入,提供 TraceQL 检索与单条 trace 的瀑布图详情。它的优势是与指标、日志的互相跳转:从指标异常点跳到具体链路,或从日志里的 trace 标识跳到整条调用链。这类跳转依赖统一的标识注入,接入前要先确认应用侧已经正确传递追踪上下文。

基本信息

适用平台Grafana 与 Tempo 组合,Tempo 查询端口默认 3200
检索语言TraceQL,按资源属性、span 属性与耗时可筛选
详情视图span 瀑布图,含各阶段耗时与属性
依赖组件服务图与部分指标依赖 Tempo 的指标生成器

典型使用场景

  • 慢请求定位:按服务与耗时条件筛出慢链路,下钻到具体 span
  • 错误链路排查:按错误状态筛选,定位失败的调用环节
  • 跨服务影响面:确认一次请求经过哪些服务、各段耗时占比
  • 指标联动:从指标面板的异常点跳到相关链路
  • 日志联动:由日志中的 trace 标识跳到链路详情
  • 版本对比:按服务版本筛选两个版本的链路,比较各段耗时的变化

配置与检索

配置与检索
# 数据源 URL:http://tempo:3200

# TraceQL 检索:按资源属性与耗时过滤
{resource.service.name="order-api" && duration > 500ms}

# 组合 span 属性条件
{resource.service.name="order-api" && span.http.response.status_code=500}

# 联动入口
#   指标 Exemplar  → Trace 详情
#   日志 trace_id  → Trace 详情

# 注意:trace_id 大小写与格式必须一致,否则跳转后查不到数据

检索条件与用途

条件写法示例用途
资源属性resource.service.name=order-api按服务缩小范围
span 属性span.http.response.status_code=500定位失败调用
耗时阈值duration > 500ms筛出慢链路
状态status=error只看失败链路
组合条件用 && 与 || 连接多条件收敛样本
span 名称name="POST /v1/orders"聚焦到具体操作
检索时间范围越大,TraceQL 查询代价越高:先从故障时间窗开始,确认条件有效后再放宽,不要一上来就查一周。
服务图与服务级指标依赖指标生成器组件,未部署时相关视图为空不是权限问题,而是组件缺失。
接入前先确认应用侧已经注入追踪上下文:缺少统一的服务名与 trace 标识时,Tempo 里有数据也无法与日志、指标对上,跳转功能等于不可用。

易错点

  • trace 标识大小写或格式不一致时跳转会失败,注入与查询要统一规范
  • 检索范围过大时查询超时,排查先缩小时间窗而不是先怀疑后端
  • 采样率偏低时按 trace 标识跳转常常查不到数据,排障链路需要保留关键链路的全量样本
  • 未统一服务名命名时 TraceQL 结果分批出现,无法还原完整调用关系

数据来源与参考

  • Grafana 官方文档 · Tempo data source
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌