

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 跟踪
<a name="v10-panels-traces"></a>

****  
本文档主题专为支持 **Grafana 10.x 版本**的 Grafana 工作区而设计。  
有关支持 Grafana 版本 12.x 的 Grafana 工作空间，请参阅。[在 Grafana 版本 12 中工作](using-grafana-v12.md)  
对于支持 Grafana 9.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 9](using-grafana-v9.md)。  
对于支持 Grafana 8.x 版本的 Grafana 工作区，请参阅[使用 Grafana 版本 8](using-grafana-v8.md)。

跟踪可视化使您可以在请求遍历基础设施中的服务时跟踪请求。跟踪可视化在图中显示跟踪数据，以便您轻松解释这些数据。

有关跟踪及其使用方法的更多信息，请参阅以下文档：
+ [Explore 中的跟踪](v10-explore-tracing.md)
+ [Tempo 数据来源](tempo-data-source.md)
+ *Grafana Labs Tempo 文档*中的[开始使用 Tempo](https://grafana.com/docs/tempo/latest/getting-started/)。

## 添加带有跟踪可视化效果的面板
<a name="v10-panels-traces-add"></a>

一旦 Grafana 堆栈中有可用的跟踪数据，就可以将跟踪面板添加到 Grafana 控制面板。

使用控制面板变量 `traceID`，可以创建查询以显示给定跟踪 ID 的特定跟踪。有关控制面板变量的更多信息，请参阅[变量文档](v10-dash-variables.md)。

**先决条件**

在开始之前，您需要：
+ Amazon Managed Grafana 工作区。
+ 连接到工作区的 [Tempo 数据来源](tempo-data-source.md)。

要在控制面板中查看和分析跟踪数据，您需要将跟踪可视化添加到控制面板，并使用面板编辑器定义查询。查询决定了可视化中显示的数据。有关面板编辑器的更多信息，请参阅[面板编辑器文档](v10-panels-editor-overview.md)。

此过程使用控制面板变量和模板，允许您输入跟踪 ID，然后可以对其进行可视化。您将使用名为 `traceId` 的变量，将其添加为模板查询。

**添加跟踪可视化查询**

1. 在您的工作区中，创建一个新控制面板或转到要在其中添加跟踪可视化效果的现有控制面板。

1. 从新控制面板中选择**添加可视化**或在现有控制面板上选择**添加面板**。

1. 选择相应的跟踪数据来源。

1. 在面板编辑器的右上角，选择**可视化**选项卡，然后选择**跟踪**。

1. 在**面板选项**下，输入跟踪面板的**标题**。有关面板编辑器的更多信息，请参阅 [配置面板选项](v10-panels-configure-panel-options.md)。

1. 在查询编辑器中，选择 **TraceQL** 查询类型选项卡。

1.  在 TraceQL 查询字段中输入 `${traceId}` 以创建控制面板变量。此变量用作模板查询。

1. 在面板编辑器中选择**应用**，将面板添加到控制面板。

1. 转到控制面板**设置**，添加一个名为 `traceId`，变量类型为**自定义**的新变量，为其添加标签（如果需要）。选择**应用**将变量添加到控制面板。

1. 对用于跟踪面板的数据来源使用有效的跟踪 ID，并在控制面板变量中编辑 ID，验证面板是否正常工作。

## 添加带有表可视化效果的 TraceQL
<a name="v10-panels-traces-traceql"></a>

虽然您可以向控制面板添加跟踪可视化，但必须手动添加跟踪 ID 作为控制面板变量，这样很麻烦。相反，能够使用 TraceQL 查询来搜索特定类型的跟踪，然后从匹配结果中选择适当的跟踪效果更好。

**先决条件**

此过程假定您已完成上述过程。

**添加带有表可视化效果的 TraceQL**

1. 在添加跟踪可视化的同一控制面板中，选择**添加面板**以添加新的可视化面板。

1. 选择在上一节中使用的同一跟踪数据来源。

1. 在面板编辑器的右上角，选择**可视化**选项卡，然后选择**表**。

1. 在查询编辑器中，选择 **TraceQL** 选项卡。

1. 在**面板选项**下，输入跟踪面板的**标题**。

1. 添加适当的 TraceQL 查询，搜索要在控制面板中可视化的跟踪。例如，这是一个来自名为的服务器的简单静态查询{{my-server}}。

   ```
   { .service.name = "{{my-server}}" && .http.status_code=500 }
   ```

   您可以将 TraceQL 查询编写为模板查询，以利用其他控制面板变量（如果存在）。这样，您就可以基于这些变量创建动态查询。

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

跟踪可视化中的结果包括指向渲染跟踪的 **Explore** 页面的链接。您可以在表中添加指向跟踪的其他链接，这些跟踪在选中时填充 `traceId` 控制面板变量，以便在同一控制面板中可视化跟踪。

要在面板中创建一组数据链接，请按以下步骤操作。

**使用变量向跟踪添加其他链接**

1. 在右侧菜单中的**数据链接**下，选择**添加链接**。

1. 为数据链接添加**标题**。

1. 在渲染整个控制面板时，查看浏览器的地址栏来查找控制面板的路径。由于这是指向同一 Grafana 堆栈中控制面板的链接，因此只需要提供控制面板的路径。

   例如，如果您的路径是：

   ```
   https://g-example.grafana-workspace.us-east-1.amazonaws.com{{/d/1234abcd5/my-dashboard?orgId=1}}
   ```

   那么控制面板的路径是：

   ```
   /d/1234abcd5/my-dashboard?orgId=1
   ```

1. 在 **URL** 字段中，对包含两个面板的控制面板进行自引用。此自引用使用表中选定跟踪的值来填充控制面板变量。使用上一步中控制面板的路径，然后使用 TraceQL 表中的选定结果填写 `traceId` 的值。跟踪 ID 是使用返回结果中的 `traceID` 数据字段公开的，因此将其用作控制面板变量的值。例如：

   ```
   /d/1234abcd5/my-dashboard?orgId=1&var-traceId=${__data.fields["traceID"]}
   ```

1. 选择**保存**以保存数据链接。

1. 从面板编辑器中选择**应用**，将面板应用于控制面板。

1. 保存控制面板。

现在，您应该可以在表可视化中看到匹配的跟踪列表。选择 **TraceID** 或 **SpanID** 字段时，您可以选择打开 **Explore** 页面以可视化跟踪或点击数据链接，选择任何其他字段（例如 `Start time`、`Name` 或 `Duration`）以自动点击数据链接，填写 `traceId` 控制面板变量，然后在跟踪面板中显示相关追踪。