Explore 中的关联编辑器
注意
Explore 编辑器在 10.1 及更高版本中可用。在编辑器中,转换功能在 Grafana 10.3 及更高版本中可用。
关联允许用户在任意两个数据源之间建立链接。有关关联的更多信息,请参阅管理页面中的关联主题。
创建关联
- 在 Grafana 中,导航到 Explore 页面。
- 选择您希望用作新关联源数据源的数据源。
- 运行产生支持的可视化数据的查询。
- 单击顶部工具栏中的 + 添加,然后选择 添加关联(您也可以从命令面板中选择关联编辑器)。
- Explore 现在处于关联编辑器模式,由蓝色边框和顶部栏指示。您可以通过单击顶部栏中的 退出 来退出关联编辑器。
- 现在您可以为可视化创建以下新关联,这些关联附带可用于构建新查询的数据链接
- 日志:链接显示在日志详情中每个日志行的字段值旁边
- 表格:每个表格单元格都是一个链接
- 单击链接以添加新关联。链接与用作关联结果字段的字段相关联。
- 在打开的拆分视图中,使用右侧窗格设置关联的目标查询源。
- 使用顶部窗格中提供的列表中的变量,使用变量语法构建目标查询。该列表包含选定数据行中的示例值。
- 提供标签和描述(可选)。标签将用作可视化内部链接的名称,并且可以包含变量。
- 提供转换(可选;详细信息请参见下文)。
- 单击顶部工具栏中的 保存 以保存关联并退出关联编辑器模式。用于创建关联的链接将被每行中的数据链接替换。单击该链接时,您定义的查询将在另一个窗格中运行,变量将动态替换为选定行中的值。
转换
转换允许您从包含其他数据的字段中提取值。例如,使用转换,您可以提取日志行的一部分用于关联。有关关联中转换的更多详细信息,请参阅关联。
在编辑器模式下单击生成的链接之一后,您可以通过单击转换下拉菜单中的 添加转换 来添加转换。
您可以使用以下步骤在关联中使用转换
- 选择要应用转换的字段。选择您要用于转换的字段部分。例如,日志行。选择后,此字段的值将用于帮助您构建转换。
- 选择转换类型。有关选项和相关设置,请参阅关联。
- 根据您的选择,您可能会看到一个或多个变量填充,或者您可能需要在显示的选项中提供更多规范。
- 选择 添加转换到关联 将指定的变量添加到可用变量列表中。
正则表达式注意事项
在此对话框中的正则表达式,其他文档中提到的 mapValue
在此处称为 变量名称。Grafana 会高亮显示字段值中与表达式匹配的任何文本。使用正则表达式捕获组来选择应提取匹配的哪一部分。当提供有效的正则表达式时,变量及其值将显示在 变量名称 字段下方。
关联示例
以下示例展示了如何在 Explore 中使用关联编辑器创建关联。如果您想按照这些示例操作,请确保设置一个测试数据源。
创建文本到图形关联
此示例展示了如何在 Explore 中使用关联编辑器创建关联。
关联允许您使用一个查询的结果在任何数据源中运行新查询。在此示例中,您将运行一个呈现表格数据的查询。该数据将用于运行另一个查询,从而产生图形结果。
要按照此示例操作,请确保您已设置一个测试数据源。
在 Grafana 中,导航到 Explore。
从页面左上角的下拉菜单中选择 test data source。
单击右侧下拉菜单中的 + 添加,然后选择 添加关联。
Explore 现在处于关联编辑器模式,由蓝色边框指示。
从场景下拉菜单中选择以下场景:CSV 文件。
选择文件 population_by_state.csv。每个单元格都是一个您可以单击以开始创建新关联的链接。
选择关联源 单击 State 列中的任意单元格以创建新关联,该关联会将数据链接附加到该条目。例如,选择“California”。
在拆分视图中,选择您在左侧窗格中选择的相同数据源。查询编辑器上方的助手包含您可用于目标查询的所有可用变量。变量包含选定数据行中的所有数据字段(表列)。
在 Scenario 菜单中,选择 CSV Metric Values。查询编辑器中的 String Input 字段提供了包含每年人口值的变量:
${1980},${2000},${2020}
。这将使用变量值生成图形。在查询编辑器 Alias 字段中,输入“
${State}
”。设置关联目标 运行查询,查看它使用变量中的示例值生成图形。
单击 保存 以保存关联并退出关联编辑器。
保存关联后,Explore 将在左侧窗格中重新运行查询。通过单击州名,右侧的查询将使用插入到 CSV 中的行中的值重新运行,从而更改图形。每次单击州名时,查询都会使用更新后的值重新运行。
单击数据链接的结果
您可以将相同的步骤应用于任何数据源。关联允许您在可视化中创建链接,以便根据选定的数据运行动态查询。在此示例中,我们使用查询返回的数据来构建新查询,从而使用相同的数据源生成不同的可视化。但是,您可以在任何数据源之间创建关联以创建自定义探索流程。
创建日志到表格关联
在此示例中,您将创建一个关联,演示如何使用转换从日志行和另一个字段中提取值。
要按照此示例操作,请确保您已设置一个测试数据源。
在 Grafana 中,导航到 Explore。
从页面左上角的下拉菜单中选择 test data source。
单击右侧下拉菜单中的 + 添加,然后选择 添加关联。
Explore 现在处于关联编辑器模式,由蓝色边框指示。
在 Scenario 菜单中,选择 Logs。
展开日志行以查看关联链接。选择 与 hostname 关联。
Explore 在拆分视图中打开。选择您在左侧窗格中选择的相同数据源。查询编辑器上方的助手包含您可用于目标查询的所有可用变量。
展开转换部分,然后单击 添加转换。
在 Field 下拉菜单中,选择 message。日志行将作为示例数据显示。
在 Type 下,选择 Logfmt。这将填充变量列表。
单击 添加转换到关联。
再次单击 添加转换,并在 Field 下选择 hostname。
在 Type 下,选择 Regular expression。
在 Expression 下,输入以下内容:
-([0-9]\*)
这将选择短划线右侧的任何数字。在 Variable Name 下,输入以下内容:
hostNumber
这将填充变量列表。单击 添加转换到关联 将其添加到其他变量。
在数据源编辑器中,打开 Scenario 下拉菜单并选择 CSV Content。
在下面的文本框中,提供以下内容并保存关联
time,msg,hostNumber,status ${time},${msg},${hostNumber},${status}
这将关闭拆分视图并重新运行左侧查询。展开任意日志行即可看到关联按钮。单击关联按钮将打开拆分视图,其中包含
time
(一个字段)、msg
(使用logfmt
从日志行中提取)、主机编号(使用regex
从hostname
中提取)和status
(使用logfmt
从日志行中提取)。