本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
关联配置
本文档主题专为支持 Grafana 版本 10.x 的 Grafana 工作空间而设计。
有关支持 Grafana 9.x 版本的 Grafana 工作空间,请参阅。在 Grafana 版本 9 中工作
有关支持 Grafana 8.x 版本的 Grafana 工作空间,请参阅。在 Grafana 版本 8 中工作
每个关联都使用以下选项进行配置:
- 标签
-
链接标签,显示在可视化中。
- 描述
-
可选描述。
- 源数据源
-
显示链接的结果来源。
- “结果” 字段
-
定义链接在可视化中的显示位置。
- 目标查询
-
点击链接时,目标查询就会运行。
- 变换
-
对包含的源数据的可选操作传递给目标查询。
有关创建关联的详细信息,请参阅创建关联。
源数据源和结果字段
关联源数据源结果的链接显示在 “浏览” 可视化中。将链接分配给关联配置中提供的结果中的一个字段(结果字段)。每个可视化项都以不同的方式显示带有链接的字段。
目标查询
当在可视化中点击链接时,就会运行目标查询。您可以使用所选目标数据源的查询编辑器来指定目标查询。可以在目标查询中使用变量访问源数据结果。
相关变量
您可以在目标查询中使用变量来访问与查询相关的源数据。关联使用 Grafana 变量语法。选择链接时,变量会填充源结果中的值。您可以使用两种类型的变量:
-
字段变量(用于访问字段值和标签)。
-
相关变量(用于访问字段值和变换)。
示例:如果源结果包含名为的字段employee
,则可以通过以下方式访问该字段的值:
-
字段变量
${__data.fields.employee}
。 -
一个相关变量,用于将上面的字段值映射到
${employee}
。
除了将字段值映射到较短的变量名称之外,还可以通过对现有字段应用转换来创建更多的相关变量。
只有当所有变量在选定的数据行中都有值时,关联才会创建数据链接。全局变量是该规则的例外,不需要从返回的数据中填写。这些变量由数据源自动插值。
关联变换
变换提供了一种从字段值中提取更多变量的方法。转换的输出是一组新变量,可以像任何其他变量一样访问这些变量。
有两种类型的转换:logfmt 和正则表达式。
每次转换都使用选定的字段值作为输入。转换的输出是一组基于转换类型和选项的新变量。
logfmt 转换
logfmt 转换解构一个包含以 logfmt 键/值对格式化的文本的字段值。
仅当您希望转换应用于与结果字段不同的字段时,logfmt 转换才需要指定输入字段名称。以下各项的输出变量示例field = "host=srv001 endpoint=/test
app=foo"
:
name | value |
---|---|
host | srv001 |
端点 | /test |
应用程序 | foo |
正则表达式转换
正则表达式转换基于提供的正则表达式解构字段值。
正则表达式转换选项:
- field
输入字段名称
- expression
-
正则表达式。命名的捕获组映射到与组名匹配的变量。如果使用未命名的匹配组,则会从第一个匹配组中创建一个变量。该值会覆盖与输入字段匹配的变量,或者如果提供了 mapValue,则会创建一个新变量(参见下表中的示例)。
- 地图值
-
与没有命名匹配组的简单正则表达式组一起使用。默认情况下,第一个匹配项会使用用作输入的字段名称覆盖变量。要更改默认行为,您可以指定 mapValue 属性。提供的名称用于创建新变量。如果您的目标查询既需要精确的值,又需要通过转换提取的部分值,则这会很有用。
示例:假设所选字段名称为employee
,字段值为John Doe
。
基于表达式和 mapValue 选项的各种输出变量:
expression | 地图值 | 输出变量 | comment |
---|---|---|---|
/\w+ (\w+)/ |
- | employee=Doe |
未提供 mapValue。第一个匹配项映射到现有的字段名变量 (employee )。 |
/(\w+) (\w+)/ |
name | name=John |
第一个匹配项映射到一个名为的新变量name 。 |
/(?\w+) (?\w+)/ |
- | firstName=John , lastName=Doe |
使用命名组时,它们是输出变量的名称,MapValue 将被忽略。 |
/(?\w+) (?\w+)/ |
name | firstName=John , lastName=Doe |
同上 |