跟踪关联
您可以使用 Grafana 关联在跟踪视图中嵌入交互式关联链接,以便从 span 跳转到相关的日志、指标、分析或外部系统。本指南说明了如何在 Grafana 中配置和管理跟踪关联。
什么是跟踪关联?
跟踪关联允许您定义规则,将上下文相关的链接注入到跟踪 span 中。在 Explore 或跟踪面板中查看跟踪时,用户可以点击这些链接直接跳转到相关的查询或 URL。与您可以为 Tempo 数据源配置的跟踪到日志、指标和分析链接相比,关联功能类似但更灵活。

开始之前
要使用跟踪关联,您需要
- Grafana 12 或更高版本
- 在 Grafana 中配置了Tempo 数据源
- Grafana 中配置设置或配置文件的管理员访问权限
设置跟踪关联
使用管理员账户登录 Grafana。
前往 配置 > 插件和数据 > 关联。
选择 添加关联 或 添加新项。
在步骤 1 中,为关联提供一个标签,以及一个可选的描述。
在步骤 2 中,配置关联的目标。
选择类型下拉列表,选择查询以链接到另一个数据源,或选择外部以链接到自定义 URL。
对于查询目标,选择目标下拉列表,然后选择点击链接时应查询的数据源。定义目标查询。
对于外部目标,输入外部 URL。
对于查询和外部目标,您都可以使用基于跟踪数据的以下变量。对象变量必须通过正则表达式转换解析为值变量。
变量 类型 描述 traceId
字符串 跟踪标识符 spanID
字符串 Span 标识符 parentSpanID
字符串 父 Span 标识符 serviceName
字符串 服务名称 serviceTags
对象 资源属性 tags
对象 Span 属性 logs
对象 跟踪事件 references
对象 跟踪链接 在步骤 3 中,配置关联数据源
在来源下拉列表中选择您的 Tempo 数据源。
在结果字段中输入用于关联的跟踪数据变量。
(可选)添加一个或多个转换,将跟踪数据解析为附加变量。您可以使用这些变量配置关联的目标。
选择保存以保存关联。
在 Explore 中验证关联
打开 Explore 并选择您的 Tempo 跟踪源。
运行查询以加载 span。
将鼠标悬停在 span 链接菜单上或打开 span 详情,以显示关联链接按钮。
点击关联链接以打开分屏视图或导航到您的目标系统或查询。
示例
以下是一些实用的关联配置,帮助您快速入门。
示例 1:按服务名称和跟踪标识符链接到日志
在此示例中,您配置了按服务名称和跟踪标识符链接到日志的跟踪关联。
在步骤 1 中,添加一个新关联,标签为此服务和跟踪的日志,以及一个可选描述。
在步骤 2 中,配置关联目标
在步骤 3 中,配置关联源
将您的 Tempo 数据源选为源。
使用
traceID
作为结果字段。添加一个新的转换,使用正则表达式从 span 的
serviceTags
中提取serviceName
{(?=[^\}]*\bkey":"service.name")[^\}]*\bvalue":"(.*?)".*}
保存关联。
示例 2:跟踪到自定义 URL
在此示例中,您使用自定义 URL 配置跟踪关联。
在步骤 1 中,添加一个新关联,标签为打开自定义 URL,以及一个可选描述。
在步骤 2 中,配置关联目标
选择目标类型外部。
定义您的目标 URL,使用从 span 数据派生的变量。在此示例中,我们使用了
serviceName
和traceID
。https://my-server.example.com/service=$serviceName&trace=$traceID
在步骤 3 中,配置关联源
将您的 Tempo 数据源选为源。
使用
traceID
作为结果字段。添加一个新的转换,使用正则表达式从 span 的
serviceTags
中提取serviceName
{(?=[^\}]*\bkey":"service.name")[^\}]*\bvalue":"(.*?)".*}
保存关联。
最佳实践
清晰命名:使用描述性名称指示源和目标。例如:跟踪到日志中的错误。
限制范围:对于高基数字段(如
traceID
),请确保您的目标系统能够处理频繁查询。明智使用模板:如果需要注入多个字段,请使用多个
$variable
令牌。