菜单
Grafana Cloud Enterprise 开源

链路追踪

链路追踪可视化让您可以跟踪请求在基础设施服务中遍历的过程。链路追踪可视化以图表形式显示链路追踪数据,让您可以轻松理解。链路追踪可视化目前基于 TraceQL 中使用的 traceID 或使用变量渲染一次链路追踪遍历。

有关链路追踪及其使用方法的更多信息,请参阅以下文档

Screenshot of the trace view
Give it a try using Grafana Play
通过 Grafana Play 试用

通过 Grafana Play,您可以探索并了解其工作原理,从实际示例中学习以加速您的开发。此功能可在链路追踪面板上查看。

添加包含链路追踪可视化的面板

在 Grafana 技术栈中获得链路追踪数据后,您可以将链路追踪面板添加到您的 Grafana 仪表盘。

使用仪表盘变量 traceID,您可以创建查询来显示特定 trace ID 的链路追踪。有关仪表盘变量的更多信息,请参阅变量文档

开始之前

要使用此步骤,您需要

步骤

要在仪表盘中查看和分析链路追踪数据,您需要将链路追踪可视化添加到您的仪表盘并使用面板编辑器定义查询。查询决定了可视化中显示的数据。有关面板编辑器的更多信息,请参阅面板编辑器文档

此步骤使用仪表盘变量和模板,允许您输入可进行可视化的 trace ID。您将使用一个名为 traceId 的变量,并将其添加为模板查询。

  1. 在您的 Grafana 技术栈中,创建一个新仪表盘或转到您希望添加链路追踪可视化的现有仪表盘。

  2. 执行以下操作之一

    • 新仪表盘 - 点击 + 添加可视化
    • 现有仪表盘 - 点击右上角的 编辑,然后从 添加 下拉列表中选择 可视化
  3. 搜索并选择相应的链路追踪数据源。

  4. 在面板编辑器的右上角,选择 可视化 选项卡,搜索并选择 链路追踪

  5. 面板选项 下,为您的链路追踪面板输入 标题,或让 Grafana 使用生成式 AI 功能创建一个标题。

    有关面板编辑器的更多信息,请参阅配置面板选项文档

  6. 在查询编辑器中,点击 TraceQL 查询类型选项卡。

  7. 在 TraceQL 查询字段中输入 ${traceId} 来创建仪表盘变量。此变量用作模板查询。

    Add a template query
  8. 点击 返回仪表盘

  9. 点击 设置 并转到 变量 选项卡。

  10. 添加一个名为 traceId 的新变量,变量类型为 自定义,如果需要可以为其添加标签。

    Add a template query
  11. 点击 保存仪表盘

  12. 点击 返回仪表盘退出编辑

  13. 通过使用链路追踪面板所用数据源的有效 trace ID,并在仪表盘变量中编辑该 ID 来验证面板是否正常工作。

    Results of query in trace panel

使用表格可视化添加 TraceQL

虽然可以将链路追踪可视化添加到仪表盘,但手动将 trace ID 添加为仪表盘变量很麻烦。更实用的是能够使用 TraceQL 查询来搜索特定类型的链路追踪,然后从匹配结果中选择相应的链路追踪。

  1. 在您添加了链路追踪可视化的同一个仪表盘中,点击右上角的 编辑

  2. 添加 下拉列表中,选择 可视化

  3. 选择与上一节中使用的相同的链路追踪数据源。

  4. 在面板编辑器的右上角,选择 可视化 选项卡,搜索并选择 表格

  5. 在查询编辑器中,选择 TraceQL 选项卡。

  6. 面板选项 下,为您的链路追踪面板输入 标题,或让 Grafana 使用生成式 AI 功能创建一个标题。

  7. 添加适当的 TraceQL 查询来搜索您希望在仪表盘中可视化的链路追踪。此示例使用了一个简单的静态查询。您可以将 TraceQL 查询编写为模板查询,以便利用其他仪表盘变量(如果存在)。这允许您基于这些变量创建动态查询。

    Create a dynamic query
  8. 点击 保存仪表盘

  9. 点击 返回仪表盘退出编辑

当查询返回结果时,结果将在面板的表格中渲染。

Results of a returned query in the panel table

链路追踪可视化中的结果包含指向渲染链路追踪的 Explore 页面的链接。您可以在表格中为链路追踪添加其他链接,选择这些链接时会自动填充 traceId 仪表盘变量,从而在同一仪表盘中可视化该链路追踪。

要在面板中创建一组数据链接,请使用以下步骤

  1. 在面板编辑器菜单中,在 数据链接 下,点击 添加链接

  2. 为数据链接添加 标题

  3. 当完整仪表盘正在渲染时,通过查看浏览器地址栏找到仪表盘的 UUID。由于这是指向同一 Grafana 技术栈中仪表盘的链接,因此只需要仪表盘的路径。

    Unique identifier for the dashboard
  4. URL 字段中,对包含两个面板的仪表盘进行自引用。此自引用使用表格中所选链路追踪的值来填充仪表盘变量。使用上一步中仪表盘的路径,然后使用 TraceQL 表格中选定的结果填充 traceId 的值。trace ID 使用返回结果中的 traceID 数据字段公开,因此将其用作仪表盘变量的值。

    Edit link and add the Trace link
  5. 选择 保存 以保存数据链接。

  6. 点击 保存仪表盘

  7. 点击 返回仪表盘退出编辑

现在您应该在表格可视化中看到匹配的链路追踪列表。虽然选择 TraceIDSpanID 字段会为您提供打开 Explore 页面可视化链路追踪或跟随数据链接的选项,但选择任何其他字段(例如 Start timeNameDuration)会自动跟随数据链接,填充 traceId 仪表盘变量,然后在链路追踪面板中显示相关的链路追踪。

Selecting the trace link
Follow the trace link populates the trace ID and displays the traces view
点击链路追踪链接会填充 trace ID 并显示链路追踪视图

配置选项

以下部分描述了此可视化的面板编辑器窗格中的可用配置选项。这些选项尽可能按照它们在 Grafana 中出现的顺序排列。

面板选项

在面板编辑器窗格的 面板选项 部分,设置面板标题、描述以及面板链接等基本选项。要了解更多信息,请参阅配置面板选项

Span 过滤器选项

Span 过滤器 选项控制可视化加载时 span 过滤器的初始状态,让您可以自定义链路追踪分析视图。

以下选项支持变量插值,您可以将服务名称设置为变量 $var,可视化将在 span 过滤器中将其替换为名为 $var 的变量值:服务名称Span 名称最小持续时间最大持续时间标签

选项描述
在链路追踪中查找设置初始值,以聚焦于与您的查询相关的 span。
仅显示匹配项打开此开关,仅显示符合定义过滤条件的 span。这有助于简化链路追踪解析。
仅显示关键路径打开此开关,仅突出显示关键路径中的 span,这有助于识别性能瓶颈及其对整体延迟的影响。
服务名称服务名称运算符 一起,定义特定的服务或模式,将分析范围缩小到与特定服务相关的 span。
Span 名称Span 名称运算符 一起,按名称或模式过滤 span,以聚焦于特定 span 类型或进程。
最小持续时间设置最小持续时间阈值,以排除超出期望时间范围的 span。
最大持续时间设置最大持续时间阈值,以排除超出期望时间范围的 span。
标签添加一个或多个标签,进一步细化过滤条件,以便仅显示相关的 span。