08.5在Grafana中查询Traces

分类: Grafana Tempo分布式追踪

在 Grafana 中查询 Traces

欢迎回到第 8 章的学习。在上一节,我们学习了如何配置 Alloy 转发 Traces 到 Tempo。现在我们要学习如何在 Grafana 中查询和可视化 Traces。

本节将学习:添加 Tempo 数据源、Trace 查询界面、Trace 可视化、以及 Span 详情查看。

添加 Tempo 数据源

添加 Tempo 数据源的步骤是什么?

第一步:进入数据源配置。 Configuration > Data Sources,点击 Add data source。

第二步:选择 Tempo。 在数据源列表中选择 Tempo,进入配置页面。

第三步:配置连接。 URL:http://localhost:3200,Access:Server(默认),其他选项保持默认。

第四步:保存并测试。 点击 Save & Test,验证连接成功。

配置示例: Name:Tempo,URL:http://localhost:3200,Access:Server。

数据源架构: Grafana → Tempo 数据源 → Tempo(:3200)→ 返回 Trace → Grafana。

如果测试成功,说明数据源配置正确。

Trace 查询界面

Trace 查询有哪些方式呢?

第一种方式:Trace ID 查询。 直接输入 Trace ID,快速定位特定 Trace,精确查询。这是最常用的查询方式。

第二种方式:TraceQL 查询。 使用 TraceQL 查询语言,支持属性查询,支持时间范围查询。TraceQL 非常强大。

第三种方式:服务名称查询。 按服务名称查询,查看服务的所有 Trace。

Explore 界面: 左侧是数据源选择器,中间是查询编辑器,右侧是 Trace 可视化,底部是 Span 列表。

查询示例: Trace ID:

abc123def456
,TraceQL:
{service_name="api-gateway"}
,TraceQL:
{service_name="api-gateway"} && duration > 1s

查询结果包括 Trace 列表、Trace 可视化、Span 列表。

Trace 可视化

Trace 可视化有哪些元素呢?

第一个是时间线图。 显示 Trace 的时间范围,显示每个 Span 的耗时,显示 Span 的层级关系。

第二个是 Span 颜色。 不同颜色表示不同服务,错误 Span 显示为红色,慢 Span 显示为黄色。

第三个是 Span 信息。 Operation name、Service name、Duration、Status(成功/失败)。

Trace 可视化示例: 时间线图显示 Trace 的结构,Span 条显示耗时,层级关系显示调用关系。

通过 Trace 可视化,可以快速分析性能问题。

Span 详情查看

Span 详情包含哪些信息呢?

第一个是基本信息。 Trace ID、Span ID、Parent Span ID、Operation name、Service name。

第二个是时间信息。 Start time、End time、Duration。

第三个是标签(Tags)。 HTTP method、HTTP status code、HTTP URL、自定义标签。

第四个是日志(Logs)。 关联的日志条目、日志时间戳、日志消息。

第五个是关联数据。 关联的 Metrics、关联的 Logs(通过 Trace ID)。

Span 详情示例: Trace ID、Span ID、Operation、Service、Duration、Tags、Logs。这些信息提供了完整的上下文。

通过 Span 详情,可以快速诊断问题。

Grafana 查询 Traces 流程

本节小结

在本节中,我们学习了在 Grafana 中查询 Traces:

第一个是添加 Tempo 数据源。 Configuration > Data Sources > Add Tempo,配置 URL,保存并测试。

第二个是 Trace 查询。 Trace ID 查询、TraceQL 查询,支持多种查询方式。

第三个是 Trace 可视化。 时间线图、Span 颜色、Span 信息,直观显示 Trace 结构。

第四个是 Span 详情。 基本信息、时间信息、标签、日志、关联数据,提供完整上下文。

查询流程: 添加 Tempo 数据源 → 进入 Explore → 选择查询方式 → Trace ID 查询或 TraceQL 查询 → Trace 可视化 → Span 详情 → 关联查询。

这就是在 Grafana 中查询 Traces。通过 Grafana,可以方便地查询和可视化 Trace 数据。

在下一节,我们将学习 TraceQL 查询语言。学习 TraceQL 的语法和查询方法。