菜单
Enterprise 开源

关联

每个关联都配置了以下选项

标签
链接标签,显示在可视化中
描述
可选描述
源数据源
显示链接结果的来源
结果字段
定义链接在可视化中的显示位置
目标查询
单击链接时运行的目标查询
转换
传递给目标查询的包含在源数据中的可选操作

了解如何使用管理页面或通过provisioning创建关联。

源数据源和结果字段

Explore 可视化中会显示来自关联源数据源的结果的链接。链接分配给关联配置中提供的结果的其中一个字段(即结果字段)。每种可视化以不同的方式显示带有链接的字段(参见日志面板中的关联表格中的关联)。

目标查询

单击可视化中的链接时会运行目标查询。您可以使用所选目标数据源的查询编辑器指定目标查询。源数据结果可以通过变量在目标查询中访问。

关联变量

您可以在目标查询中使用变量来访问与查询相关的源数据。关联使用 Grafana 变量语法。单击链接时,变量会填充来自源结果的值。您可以使用以下两种类型的变量

  • 字段变量(允许访问字段值和标签)
  • 关联变量(允许访问字段值和转换)

示例:如果源结果包含一个名为“employee”的字段,可以通过以下方式访问该字段的值

  • 一个字段变量 ${__data.fields.employee}
  • 一个关联变量,将上述字段值映射到 ${employee}

除了将字段值映射到较短的变量名外,还可以通过对现有字段应用转换来创建更多关联变量

有关更多详细信息,请参阅在关联中使用变量和转换中的示例。

关联仅在选定的数据行中所有变量都有值时创建数据链接。全局变量是此规则的例外,不需要从返回的数据中填充。这些变量由数据源自动插值。

关联转换

关联提供了一种从字段值中提取更多变量的方法。转换的输出是一组新变量,可以像任何其他变量一样访问这些变量。

有两种类型的转换:logfmt 和正则表达式。

每个转换都使用选定的字段值作为输入。转换的输出是一组新变量,基于转换的类型和选项。

有关更多详细信息,请参阅在关联中使用变量和转换中的示例。

Logfmt 转换

logfmt 转换解构包含使用 logfmt 键值对格式化文本的字段值。每对键值对成为一个变量,其中键即为变量名。

logfmt 转换仅在您希望转换应用于结果字段之外的其他字段时,才需要指定输入字段名。示例输出变量(对于字段 = “host=srv001 endpoint=/test app=foo”)

名称
hostsrv001
endpoint/test
appfoo

正则表达式转换

正则表达式转换根据提供的正则表达式解构字段值。

正则表达式转换选项

字段
输入字段名
正则表达式。命名捕获组映射到与组名匹配的变量。如果使用非命名匹配组,则从第一次匹配创建一个变量。如果提供了 mapValue,则该值会覆盖与输入字段匹配的变量,或者创建一个新变量(请查看下面的示例)
mapValue
与没有命名匹配组的简单正则表达式组一起使用。默认情况下,第一次匹配会覆盖使用作输入的字段名变量。要更改此默认行为,可以指定 mapValue 属性。提供的名称用于创建新变量。如果您的目标查询既需要精确值,又需要通过转换提取的部分值,这会很有用。
示例:假设选定的字段名为“employee”,字段值为“John Doe”。

基于表达式和 mapValue 选项的各种输出变量

输出变量

正则表达式。命名捕获组映射到与组名匹配的变量。如果使用非命名匹配组,则从第一次匹配创建一个变量。如果提供了 mapValue,则该值会覆盖与输入字段匹配的变量,或者创建一个新变量(请查看下面的示例)与没有命名匹配组的简单正则表达式组一起使用。默认情况下,第一次匹配会覆盖使用作输入的字段名变量。要更改此默认行为,可以指定 mapValue 属性。提供的名称用于创建新变量。如果您的目标查询既需要精确值,又需要通过转换提取的部分值,这会很有用。注释/\w+ (\w+)/
employee=Doe-未提供 mapValue。第一次匹配映射到现有字段名变量 (employee)/(\w+) (\w+)/
name=John名称第一次匹配映射到一个名为“name”的新变量/(?\w+) (?\w+)/
firstName=John, lastName=Doe-使用命名组时,它们是输出变量的名称,且 mapValue 被忽略。同上
firstName=John, lastName=Doe名称使用命名组时,它们是输出变量的名称,且 mapValue 被忽略。本页是否有帮助?