转换数据
转换是系统应用可视化之前操纵查询返回的数据的强大方法。使用转换,您可以
- 重命名字段
- 连接时间序列/类似 SQL 的数据
- 跨查询执行数学运算
- 将一个转换的输出用作另一个转换的输入
对于依赖于同一数据集的多个视图的用户,转换提供了一种创建和维护多个仪表板的有效方法。
您还可以将一个转换的输出用作另一个转换的输入,从而提高性能。
有时系统无法绘制转换后的数据。在这种情况下,单击可视化上方 的
表格视图
切换按钮以切换到数据的表格视图。这可以帮助您了解转换的最终结果。
转换类型
Grafana 提供了许多方法来转换数据。有关转换的完整列表,请参阅 转换函数。
转换顺序
当有多个转换时,Grafana 按它们列出的顺序应用它们。每个转换都会创建一个结果集,然后将其传递给处理管道中的下一个转换。
Grafana 应用转换的顺序会直接影响结果。例如,如果您使用 Reduce 转换将一列的所有结果压缩成单个值,那么您只能对该单个值应用转换。
将转换函数添加到数据
以下步骤指导您将转换添加到数据。本文档不包括每种转换类型的步骤。有关转换的完整列表,请参阅 转换函数。有关可用计算的信息,请参阅 计算类型。
- 导航到您要添加一个或多个转换的面板。
- 将鼠标悬停在面板的任何位置以显示右上角的操作菜单。
- 单击菜单并选择 **编辑**。
- 单击 **转换** 选项卡。
- 单击转换。将出现一个转换行,您可以在其中配置转换选项。有关如何配置转换的更多信息,请参阅 转换函数。有关可用计算的信息,请参阅 计算类型。
- 要应用另一个转换,请单击 **添加转换**。此转换会对前一个转换返回的结果集进行操作。
调试转换
要查看转换的输入和输出结果集,请单击转换行右侧的错误图标。
输入和输出结果集可以帮助您调试转换。
禁用转换
您可以通过单击转换行右上角的眼睛图标来禁用或隐藏一个或多个转换。这会禁用该特定转换的应用操作,并且当您依次更改多个转换时,这可以帮助您识别问题。
过滤转换
如果您的面板使用多个查询,您可以过滤这些查询并将选定的转换仅应用于其中一个查询。为此,请单击转换行右上角的过滤器图标。这将打开一个下拉菜单,其中包含面板上使用的查询列表。在这里,您可以选择要转换的查询。
您还可以通过注释(包括示例)进行过滤,以将转换应用于它们。当您这样做时,字段列表会更改以反映注释或示例工具提示中的字段。
如果您的面板具有多个查询或数据源(即面板或注释数据),则始终显示过滤器图标,但如果应用了用于合并查询输出的先前转换,则它可能不起作用。这是因为一个转换接受上一个转换的输出。
删除转换
我们建议您删除不需要的转换。删除转换时,您会从可视化中删除数据。
开始之前
- 确定所有依赖于该转换的仪表板,并通知受影响的仪表板用户。
删除转换:
- 打开一个用于编辑的面板。
- 单击 **转换** 选项卡。
- 点击要删除的转换旁边的垃圾桶图标。
转换函数
您可以对您的数据执行以下转换。
从计算中添加字段
使用此转换添加一个从其他两个字段计算得到的新字段。每个转换允许您添加一个新字段。
- **模式** - 选择一种模式
- **减少行** - 对所选字段的每一行独立应用所选计算。
- **二元运算** - 对来自两个所选字段的单行中值的应用基本二元运算(例如,求和或相乘)。
- **一元运算** - 对来自所选字段的单行中值的应用基本一元运算。可用的运算有
- **绝对值 (abs)** - 返回给定表达式的绝对值。它表示表达式距离零的距离,以正数表示。
- **自然指数 (exp)** - 返回e的给定表达式的幂。
- **自然对数 (ln)** - 返回给定表达式的自然对数。
- **地板 (floor)** - 返回小于或等于给定表达式的最大整数。
- **天花板 (ceil)** - 返回大于或等于给定表达式的最小整数。
- **累积函数** - 对当前行和所有前一行应用函数。
- **总计** - 计算到当前行(包括当前行)的累积总计。
- **平均值** - 计算到当前行(包括当前行)的平均值。
- **窗口函数** - 应用窗口函数。窗口可以是**拖尾**或**居中**。使用拖尾窗口,当前行将是窗口的最后一行。使用居中窗口,窗口将以当前行为中心。对于偶数窗口大小,窗口将以当前行和前一行之间为中心。
- **平均值** - 计算移动平均值或滚动平均值。
- **标准差 (stddev)** - 计算移动标准差。
- **方差** - 计算移动方差。
- **行索引** - 插入一个包含行索引的字段。
- **字段名称** - 选择您要用于新字段计算的字段名称。
- **计算** - 如果您选择**减少行**模式,则会显示**计算**字段。点击该字段以查看可用于创建新字段的计算选项列表。有关可用计算的信息,请参阅计算类型。
- **运算** - 如果您选择**二元运算**或**一元运算**模式,则会显示**运算**字段。这些字段允许您对来自所选字段的单行中值的应用基本数学运算。您还可以使用数值进行二元运算。
- **作为百分位数** - 如果您选择**行索引**模式,则会显示**作为百分位数**开关。此开关允许您将行索引转换为总行数的百分比。
- **别名** - (可选)输入新字段的名称。如果您不填写此项,则字段将以匹配计算的名称命名。
- **替换所有字段** - (可选)如果您想要隐藏所有其他字段,并在可视化中仅显示您的计算字段,请选择此选项。
在下面的示例中,我们将两个字段加在一起,并将其命名为 Sum。
连接字段
使用此转换将所有帧中的所有字段合并到一个结果中。
例如,如果您有单独的查询来检索温度和正常运行时间数据(查询 A)以及空气质量指数和错误信息(查询 B),应用连接转换将生成一个合并的数据帧,其中包含所有相关信息在一个视图中。
考虑以下内容
查询 A
温度 | 正常运行时间 |
---|---|
15.4 | 1230233 |
查询 B
AQI | 错误 |
---|---|
3.2 | 5 |
连接字段后,数据帧将是
温度 | 正常运行时间 | AQI | 错误 |
---|---|---|---|
15.4 | 1230233 | 3.2 | 5 |
此转换简化了合并来自不同来源的数据的过程,为分析和可视化提供了全面的视图。
来自查询结果的配置
使用此转换选择一个查询并提取标准选项,例如**最小值**、**最大值**、**单位**和**阈值**,并将它们应用于其他查询结果。此功能可以根据特定查询返回的数据实现动态可视化配置。
选项
- **配置查询** - 选择返回您要作为配置使用的数据的查询。
- **应用于** - 选择要应用配置的字段或序列。
- **应用于选项** - 指定字段类型或使用字段名称正则表达式,具体取决于您在**应用于**中所做的选择。
字段映射表
在配置选项下方,您将找到字段映射表。此表列出了配置查询返回的数据中找到的所有字段,以及**用作**和**选择**选项。它提供了对将字段映射到配置属性的控制,并且对于多行,它允许您选择要选择的值。
示例
输入[0](来自查询:A,名称:ServerA)
时间 | 值 |
---|---|
1626178119127 | 10 |
1626178119129 | 30 |
输入[1](来自查询:B)
时间 | 值 |
---|---|
1626178119127 | 100 |
1626178119129 | 100 |
输出(与输入[0]相同,但现在在 Value 字段上配置)
时间 | 值(配置:最大值=100) |
---|---|
1626178119127 | 10 |
1626178119129 | 30 |
源数据中的每一行都成为一个单独的字段。每个字段现在都有一个最大配置选项。选项(例如**最小值**、**最大值**、**单位**和**阈值**)是字段配置的一部分。如果已设置,则可视化将使用它们,而不是面板编辑器选项窗格中手动配置的任何选项。
值映射
您还可以将查询结果转换为值映射。使用此选项,配置查询结果中的每一行都定义一个单独的值映射行。请参阅以下示例。
配置查询结果
值 | 文本 | 颜色 |
---|---|---|
L | 低 | 蓝色 |
M | 中等 | 绿色 |
H | 高 | 红色 |
在字段映射中指定
字段 | 用作 | 选择 |
---|---|---|
值 | 值映射/值 | 所有值 |
文本 | 值映射/文本 | 所有值 |
颜色 | 值映射/颜色 | 所有值 |
Grafana 从您的查询结果构建值映射,并将它们应用于实际数据查询结果。您应该看到值被映射并根据配置查询结果进行着色。
转换字段类型
使用此转换修改指定字段的字段类型。
此转换具有以下选项
- **字段** - 从可用字段中选择
- **作为** - 选择要转换到的FieldType
- **数值** - 尝试将值转换为数字
- **字符串** - 将值转换为字符串
- **时间** - 尝试将值解析为时间
- 输入将根据Moment.js 解析格式进行解析
- 它将以毫秒为单位的 Unix 纪元时间戳解析数值输入。如果您的输入以秒为单位,则必须将输入乘以 1000。
- 将显示一个选项,允许您通过类似 yyyy-mm-dd 或 DD MM YYYY hh:mm:ss 的字符串指定日期格式作为输入。
- **布尔值** - 将值转换为布尔值
- **枚举** - 将值转换为枚举
- 将显示一个表来管理枚举
- **其他** - 尝试将值解析为 JSON
例如,考虑以下查询,可以通过选择时间字段作为时间并指定日期格式为 YYYY 来修改该查询。
示例查询
时间 | 标记 | 值 |
---|---|---|
2017-07-01 | 高于 | 25 |
2018-08-02 | 低于 | 22 |
2019-09-02 | 低于 | 29 |
2020-10-04 | 高于 | 22 |
结果
转换后的查询
时间 | 标记 | 值 |
---|---|---|
2017-01-01 00:00:00 | 高于 | 25 |
2018-01-01 00:00:00 | 低于 | 22 |
2019-01-01 00:00:00 | 低于 | 29 |
2020-01-01 00:00:00 | 高于 | 22 |
此转换允许您灵活地调整数据类型,确保可视化中的兼容性和一致性。
提取字段
使用此转换选择一个数据源,并以不同的格式从其中提取内容。此转换具有以下字段
- **源** - 选择数据源的字段。
- **格式** - 选择以下选项之一
- **JSON** - 从源解析 JSON 内容。
- **键值对** - 从源解析格式为“a=b”或“c:d”的内容。
- **自动** - 自动发现字段。
- **替换所有字段** - (可选)选择此选项以隐藏所有其他字段,并在可视化中仅显示您的计算字段。
- **保留时间** - (可选)仅在**替换所有字段**为真时可用。在输出中保留时间字段。
考虑以下数据集
数据集示例
时间戳 | json_data |
---|---|
1636678740000000000 | {“value”: 1} |
1636678680000000000 | {“value”: 5} |
1636678620000000000 | {“value”: 12} |
您可以使用此配置准备数据以供时间序列面板使用
- 源:json_data
- 格式:JSON
- 字段:value
- 别名:my_value
- 替换所有字段:true
- 保留时间:true
这将生成以下输出
转换后的数据
时间戳 | my_value |
---|---|
1636678740000000000 | 1 |
1636678680000000000 | 5 |
1636678620000000000 | 12 |
此转换允许您以各种方式提取和格式化数据。您可以根据您的特定数据需求自定义提取格式。
从资源查找字段
使用此转换通过从外部源查找其他字段来丰富字段值。
此转换具有以下字段
- **字段** - 从您的数据集中选择一个文本字段。
- **查找** - 从**国家/地区**、**美国州**和**机场**中选择。
此转换当前支持空间数据。
例如,如果您有以下数据
数据集示例
位置 | 值 |
---|---|
AL | 0 |
AK | 10 |
亚利桑那州 | 5 |
阿肯色州 | 1 |
某处 | 5 |
使用此配置
- 字段:location
- 查找:美国州
您将获得以下输出
转换后的数据
位置 | ID | 名称 | 经度 | 纬度 | 值 |
---|---|---|---|---|---|
AL | AL | 阿拉巴马州 | -80.891064 | 12.448457 | 0 |
AK | AK | 阿肯色州 | -100.891064 | 24.448457 | 10 |
亚利桑那州 | 5 | ||||
阿肯色州 | 1 | ||||
某处 | 5 |
此转换使您可以通过从外部源获取其他信息来扩展您的数据,从而为分析和可视化提供更全面的数据集。
按查询 refId 过滤数据
使用此转换在具有多个查询的面板中隐藏一个或多个查询。
Grafana 以深灰色文本显示查询标识字母。点击查询标识符以切换过滤。如果查询字母为白色,则显示结果。如果查询字母为深色,则隐藏结果。
**注意:** 此转换不适用于 Graphite,因为此数据源不支持将返回的数据与查询相关联。
在下面的示例中,面板具有三个查询(A、B、C)。我们从可视化中删除了查询 B。
按值过滤数据
使用此转换直接在您的可视化中选择性地过滤数据点。此转换提供了选项,可以根据应用于所选字段的一个或多个条件来包含或排除数据。
如果您的数据源不能本地按值过滤,此转换非常有用。如果您使用共享查询,也可以使用此转换来缩小要显示的值范围。
所有字段的可用条件为
- 正则表达式 - 匹配正则表达式。
- 为空 - 如果值为 null,则匹配。
- 不为空 - 如果值不为 null,则匹配。
- 等于 - 如果值等于指定的值,则匹配。
- 不同 - 如果值与指定的值不同,则匹配。
字符串字段的可用条件为
- 包含子字符串 - 如果值包含指定的子字符串(不区分大小写),则匹配。
- 不包含子字符串 - 如果值不包含指定的子字符串(不区分大小写),则匹配。
数字字段的可用条件为
- 大于 - 如果值大于指定的值,则匹配。
- 小于 - 如果值小于指定的值,则匹配。
- 大于或等于 - 如果值大于或等于,则匹配。
- 小于或等于 - 如果值小于或等于,则匹配。
- 范围 - 匹配指定最小值和最大值之间的范围,包括最小值和最大值。
考虑以下数据集
数据集示例
时间 | 温度 | 海拔 |
---|---|---|
2020-07-07 11:34:23 | 32 | 101 |
2020-07-07 11:34:22 | 28 | 125 |
2020-07-07 11:34:21 | 26 | 110 |
2020-07-07 11:34:20 | 23 | 98 |
2020-07-07 10:32:24 | 31 | 95 |
2020-07-07 10:31:22 | 20 | 85 |
2020-07-07 09:30:57 | 19 | 101 |
如果您包含温度低于 30°C 的数据点,则配置将如下所示
- 过滤器类型:‘包含’
- 条件:‘温度’匹配 ‘小于’ ‘30’ 的行
您将获得以下结果,其中仅包含低于 30°C 的温度
转换后的数据
时间 | 温度 | 海拔 |
---|---|---|
2020-07-07 11:34:22 | 28 | 125 |
2020-07-07 11:34:21 | 26 | 110 |
2020-07-07 11:34:20 | 23 | 98 |
2020-07-07 10:31:22 | 20 | 85 |
2020-07-07 09:30:57 | 19 | 101 |
您可以在过滤器中添加多个条件。例如,您可能希望仅在海拔高于 100 时才包含数据。为此,请将该条件添加到以下配置中
- 过滤器类型:‘包含’ ‘匹配所有’ 条件的行
- 条件 1:‘温度’ 匹配 ‘小于’ ‘30’ 的行
- 条件 2:‘海拔’ 匹配 ‘大于’ ‘100’ 的行
当您有多个条件时,您可以选择要将操作(包含/排除)应用于匹配所有条件的行还是匹配任何您添加的条件。
在上面的示例中,我们选择了匹配所有,因为我们希望包含温度低于 30°C 且 海拔高于 100 的行。如果我们希望包含温度低于 30°C 或 海拔高于 100 的行,那么我们将选择匹配任何。这将包含原始数据中的第一行,该行的温度为 32°C(不匹配第一个条件),但海拔为 101(匹配第二个条件),因此它被包含在内。
无效或配置不完整的条件将被忽略。
这种多功能的数据过滤转换允许您根据特定条件有选择地包含或排除数据点。自定义标准以根据您的独特分析需求定制数据呈现。
按名称过滤字段
使用此转换有选择地删除查询结果的一部分。有三种方法可以过滤字段名称
使用正则表达式
使用正则表达式过滤时,与正则表达式匹配的字段名称将被包含。
例如,从输入数据
时间 | dev-eu-west | dev-eu-north | prod-eu-west | prod-eu-north |
---|---|---|---|---|
2023-03-04 23:56:23 | 23.5 | 24.5 | 22.2 | 20.2 |
2023-03-04 23:56:23 | 23.6 | 24.4 | 22.1 | 20.1 |
使用正则表达式 ‘prod.*’ 的结果将是
时间 | prod-eu-west | prod-eu-north |
---|---|---|
2023-03-04 23:56:23 | 22.2 | 20.2 |
2023-03-04 23:56:23 | 22.1 | 20.1 |
正则表达式可以使用 ${variableName} 语法包含插值的仪表板变量。
手动选择包含的字段
单击并取消选中字段名称以将其从结果中删除。与正则表达式匹配的字段仍然包含在内,即使它们被取消选中。
使用仪表板变量
启用 ‘来自变量’ 以允许您选择用于包含字段的仪表板变量。通过设置具有多个选择的 仪表板变量,相同的字段可以在多个可视化中显示。
这是在应用转换以删除 Min 字段后的表格。
这是使用 Stat 可视化的相同查询。
此转换提供灵活性,可以根据您的特定需求定制查询结果,以关注您有效分析和可视化所需的特定字段。
格式化字符串
使用此转换自定义字符串字段的输出。此转换具有以下字段
- 大写 - 将整个字符串格式化为大写字符。
- 小写 - 将整个字符串格式化为小写字符。
- 句子大小写 - 将字符串的第一个字符格式化为大写。
- 标题大小写 - 将字符串中每个单词的第一个字符格式化为大写。
- 帕斯卡大小写 - 将字符串中每个单词的第一个字符格式化为大写,并且不包含单词之间的空格。
- 驼峰大小写 - 将字符串中每个单词的第一个字符格式化为大写,除了第一个单词,并且不包含单词之间的空格。
- 蛇形大小写 - 将字符串中的所有字符格式化为小写,并使用下划线代替单词之间的空格。
- 烤肉串大小写 - 将字符串中的所有字符格式化为小写,并使用连字符代替单词之间的空格。
- 修剪 - 从字符串中删除所有前导和尾随空格。
- 子字符串 - 返回字符串的子字符串,使用指定的开始和结束位置。
此转换提供了一种方便的方法来标准化和定制字符串数据的呈现方式,以实现更好的可视化和分析。
格式化时间
使用此转换自定义时间字段的输出。可以使用 Moment.js 格式字符串 格式化输出。例如,如果要仅显示时间字段的年份,则可以使用格式字符串 ‘YYYY’ 来显示公历年份(例如,1999 或 2012)。
转换前
时间戳 | 事件 |
---|---|
1636678740000000000 | 系统启动 |
1636678680000000000 | 用户登录 |
1636678620000000000 | 数据更新 |
应用 ‘YYYY-MM-DD HH:mm:ss’ 后
时间戳 | 事件 |
---|---|
2021-11-12 14:25:40 | 系统启动 |
2021-11-12 14:24:40 | 用户登录 |
2021-11-12 14:23:40 | 数据更新 |
此转换允许您根据需要定制可视化中的时间表示,为显示时间数据提供灵活性和精度。
注意: 此转换在 Grafana 10.1+ 中作为 alpha 功能提供。
分组
使用此转换按指定字段(列)值对数据进行分组,并在每个组上执行计算。单击以查看计算选项列表。有关可用计算的信息,请参阅 计算类型。
以下是一个原始数据的示例。
时间 | 服务器 ID | CPU 温度 | 服务器状态 |
---|---|---|---|
2020-07-07 11:34:20 | server 1 | 80 | 已关闭 |
2020-07-07 11:34:20 | server 3 | 62 | 正常 |
2020-07-07 10:32:20 | server 2 | 90 | 过载 |
2020-07-07 10:31:22 | server 3 | 55 | 正常 |
2020-07-07 09:30:57 | server 3 | 62 | 重新启动 |
2020-07-07 09:30:05 | server 2 | 88 | 正常 |
2020-07-07 09:28:06 | server 1 | 80 | 正常 |
2020-07-07 09:25:05 | server 2 | 88 | 正常 |
2020-07-07 09:23:07 | server 1 | 86 | 正常 |
此转换分两步完成。首先,您指定一个或多个字段以按其对数据进行分组。这将像排序一样将这些字段的所有相同值分组在一起。例如,如果我们按服务器 ID 字段分组,那么它会以这种方式对数据进行分组
时间 | 服务器 ID | CPU 温度 | 服务器状态 |
---|---|---|---|
2020-07-07 11:34:20 | server 1 | 80 | 已关闭 |
2020-07-07 09:28:06 | server 1 | 80 | 正常 |
2020-07-07 09:23:07 | server 1 | 86 | 正常 |
2020-07-07 10:32:20 | server 2 | 90 | 过载 |
2020-07-07 09:30:05 | server 2 | 88 | 正常 |
2020-07-07 09:25:05 | server 2 | 88 | 正常 |
2020-07-07 11:34:20 | server 3 | 62 | 正常 |
2020-07-07 10:31:22 | server 3 | 55 | 正常 |
2020-07-07 09:30:57 | server 3 | 62 | 重新启动 |
所有具有相同服务器 ID 值的行都分组在一起。
选择要按其对数据进行分组的字段后,您可以在其他字段上添加各种计算,并将计算应用于每组行。例如,我们可能希望计算每台服务器的平均 CPU 温度。因此,我们可以添加应用于 CPU 温度字段的平均值计算,以获得以下结果
服务器 ID | CPU 温度(平均值) |
---|---|
server 1 | 82 |
server 2 | 88.6 |
server 3 | 59.6 |
我们还可以添加多个计算。例如
- 对于时间字段,我们可以计算最后一个值,以了解每台服务器的最后数据点接收时间
- 对于服务器状态字段,我们可以计算最后一个值,以了解每台服务器的最后状态值
- 对于温度字段,我们还可以计算最后一个值,以了解每台服务器的最新监控温度
然后我们将获得
服务器 ID | CPU 温度(平均值) | CPU 温度(最后一个) | 时间(最后一个) | 服务器状态(最后一个) |
---|---|---|---|---|
server 1 | 82 | 80 | 2020-07-07 11:34:20 | 已关闭 |
server 2 | 88.6 | 90 | 2020-07-07 10:32:20 | 过载 |
server 3 | 59.6 | 62 | 2020-07-07 11:34:20 | 正常 |
此转换允许您从时间序列中提取重要信息并以方便的方式呈现。
分组为矩阵
使用此转换将三个字段(用作查询输出中列、行和单元格值字段的输入)组合在一起,并生成一个矩阵。矩阵的计算方法如下
原始数据
服务器 ID | CPU 温度 | 服务器状态 |
---|---|---|
server 1 | 82 | 正常 |
server 2 | 88.6 | 正常 |
server 3 | 59.6 | 已关闭 |
我们可以使用‘服务器状态’的值作为列名称、‘服务器 ID’ 的值作为行名称以及‘CPU 温度’作为每个单元格的内容来生成矩阵。每个单元格的内容将显示在现有的列(‘服务器状态’)和行(‘服务器 ID’)组合中。对于其他单元格,您可以选择在Null、True、False 或Empty 之间显示哪个值。
输出
服务器 ID服务器状态 | 正常 | 已关闭 |
---|---|---|
server 1 | 82 | |
server 2 | 88.6 | |
server 3 | 59.6 |
使用此转换通过指定查询结果中的字段来构建矩阵。矩阵输出反映了这些字段中唯一值之间的关系。这有助于您以清晰、结构化的矩阵格式呈现复杂的关系。
分组为嵌套表格
使用此转换按指定字段(列)值对数据进行分组,并在每个组上执行计算。将生成共享相同分组字段值的记录,并在嵌套表格中显示。
要计算字段的统计信息,请单击其旁边的选择框并选择计算选项
选择计算后,将在相应字段旁边出现另一个选择框,允许选择统计信息
有关可用计算的信息,请参阅 计算类型。
以下是一个原始数据的示例
时间 | 服务器 ID | CPU 温度 | 服务器状态 |
---|---|---|---|
2020-07-07 11:34:20 | server 1 | 80 | 已关闭 |
2020-07-07 11:34:20 | server 3 | 62 | 正常 |
2020-07-07 10:32:20 | server 2 | 90 | 过载 |
2020-07-07 10:31:22 | server 3 | 55 | 正常 |
2020-07-07 09:30:57 | server 3 | 62 | 重新启动 |
2020-07-07 09:30:05 | server 2 | 88 | 正常 |
2020-07-07 09:28:06 | server 1 | 80 | 正常 |
2020-07-07 09:25:05 | server 2 | 88 | 正常 |
2020-07-07 09:23:07 | server 1 | 86 | 正常 |
此转换有两个步骤。首先,指定一个或多个字段以按其对数据进行分组。这将像排序一样将这些字段的所有相同值分组在一起。例如,如果按服务器 ID 字段分组,Grafana 会以这种方式对数据进行分组
服务器 ID | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
server 1 |
| |||||||||||||
server 2 |
| |||||||||||||
server 3 |
|
选择要按其对数据进行分组的字段后,您可以在其他字段上添加各种计算,并将计算应用于每组行。例如,您可能希望计算每台服务器的平均 CPU 温度。为此,请添加应用于 CPU 温度字段的平均值计算,以获得以下结果
服务器 ID | CPU 温度(平均值) | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
server 1 | 82 |
| |||||||||
server 2 | 88.6 |
| |||||||||
server 3 | 59.6 |
|
创建热图
使用此转换准备直方图数据以可视化时间趋势。与热图可视化类似,此转换将直方图指标转换为时间桶。
X 桶
此设置确定如何将 x 轴分成桶。
- 大小 - 在输入字段中指定时间间隔。例如,‘1h’ 的时间范围会在 x 轴上创建宽度为一小时的单元格。
- 计数 - 对于与时间无关的序列,使用此选项来定义桶中的元素数量。
Y 桶
此设置确定如何将 y 轴分成桶。
- 线性
- 对数 - 在以 2 为底的对数或以 10 为底的对数之间选择。
- 对称对数 - 使用对称对数刻度。在以 2 为底的对数或以 10 为底的对数之间选择,允许负值。
假设您有以下数据集
时间戳 | 值 |
---|---|
2023-01-01 12:00:00 | 5 |
2023-01-01 12:15:00 | 10 |
2023-01-01 12:30:00 | 15 |
2023-01-01 12:45:00 | 8 |
- 将 X 桶设置为 ‘大小:15m’ 且 Y 桶为 ‘线性’,则直方图将值组织到 x 轴上的 15 分钟时间间隔和 y 轴上的线性范围内。
- 对于 X 桶为 ‘计数:2’ 且 Y 桶为 ‘对数(以 10 为底)’,则直方图将值分组到 x 轴上的两个桶中,并在 y 轴上使用对数刻度。
直方图
使用此转换根据输入数据生成直方图,允许您可视化值的分布。
- 桶大小 - 桶中最低项和最高项之间的范围(xMin 到 xMax)。
- 桶偏移量 - 非零基桶的偏移量。
- 合并系列 - 使用所有可用系列创建统一直方图。
原始数据
系列 1
A | B | C |
---|---|---|
1 | 3 | 5 |
2 | 4 | 6 |
3 | 5 | 7 |
4 | 6 | 8 |
5 | 7 | 9 |
系列 2
C |
---|
5 |
6 |
7 |
8 |
9 |
输出
xMin | xMax | A | B | C | C |
---|---|---|---|---|---|
1 | 2 | 1 | 0 | 0 | 0 |
2 | 3 | 1 | 0 | 0 | 0 |
3 | 4 | 1 | 1 | 0 | 0 |
4 | 5 | 1 | 1 | 0 | 0 |
5 | 6 | 1 | 1 | 1 | 1 |
6 | 7 | 0 | 1 | 1 | 1 |
7 | 8 | 0 | 1 | 1 | 1 |
8 | 9 | 0 | 0 | 1 | 1 |
9 | 10 | 0 | 0 | 1 | 1 |
使用生成的直方图可视化值的分布,从而深入了解数据的分布和密度。
按字段联接
使用此转换将多个结果合并到单个表格中,从而能够合并来自不同查询的数据。
这对于将多个时间序列结果转换为具有共享时间字段的单个宽表特别有用。
内联接(用于时间序列或类似 SQL 的数据)
内联接合并来自多个表的数据,其中所有表都从所选字段共享相同的值。此类型的联接排除数据中值不匹配每个结果的情况。
使用此转换将来自多个查询的结果(在传递的联接字段或第一个时间列上合并)组合到一个结果中,并删除无法成功联接的行。这对于大型时间序列数据集未经优化。
在以下示例中,两个查询返回时间序列数据。在应用内联接转换之前,它被可视化为两个单独的表格。
查询 A
时间 | 作业 | 正常运行时间 |
---|---|---|
2020-07-07 11:34:20 | 节点 | 25260122 |
2020-07-07 11:24:20 | postgre | 123001233 |
2020-07-07 11:14:20 | postgre | 345001233 |
查询 B
时间 | 服务器 | 错误 |
---|---|---|
2020-07-07 11:34:20 | server 1 | 15 |
2020-07-07 11:24:20 | server 2 | 5 |
2020-07-07 11:04:20 | server 3 | 10 |
应用内联接转换后的结果如下所示
时间 | 作业 | 正常运行时间 | 服务器 | 错误 |
---|---|---|---|---|
2020-07-07 11:34:20 | 节点 | 25260122 | server 1 | 15 |
2020-07-07 11:24:20 | postgre | 123001233 | server 2 | 5 |
这对于非时间序列表格数据也以相同的方式工作。
学生
学号 | 名称 | 专业 |
---|---|---|
1 | 约翰 | 计算机科学 |
2 | 艾米丽 | 数学 |
3 | 迈克尔 | 物理 |
4 | 詹妮弗 | 化学 |
入学
学号 | 课程ID | 等级 |
---|---|---|
1 | CS101 | A |
1 | CS102 | B |
2 | MATH201 | A |
3 | PHYS101 | B |
5 | HIST101 | B |
应用内联接转换后的结果如下所示
学号 | 名称 | 专业 | 课程ID | 等级 |
---|---|---|---|---|
1 | 约翰 | 计算机科学 | CS101 | A |
1 | 约翰 | 计算机科学 | CS102 | B |
2 | 艾米丽 | 数学 | MATH201 | A |
3 | 迈克尔 | 物理 | PHYS101 | B |
内联接仅包括两个表中“学号”匹配的行。在这种情况下,结果不包括“学生”表中的“詹妮弗”,因为在“入学”表中没有与她匹配的入学记录。
外联接(用于时间序列数据)
外联接包括内联接中的所有数据以及值在每个输入中不匹配的行。虽然内联接在时间字段上联接查询 A 和查询 B,但外联接包括所有在时间字段上不匹配的行。
在以下示例中,两个查询返回表数据。在应用外联接转换之前,它被可视化为两个表格。
查询 A
时间 | 作业 | 正常运行时间 |
---|---|---|
2020-07-07 11:34:20 | 节点 | 25260122 |
2020-07-07 11:24:20 | postgre | 123001233 |
2020-07-07 11:14:20 | postgre | 345001233 |
查询 B
时间 | 服务器 | 错误 |
---|---|---|
2020-07-07 11:34:20 | server 1 | 15 |
2020-07-07 11:24:20 | server 2 | 5 |
2020-07-07 11:04:20 | server 3 | 10 |
应用外联接转换后的结果如下所示
时间 | 作业 | 正常运行时间 | 服务器 | 错误 |
---|---|---|---|---|
2020-07-07 11:04:20 | server 3 | 10 | ||
2020-07-07 11:14:20 | postgre | 345001233 | ||
2020-07-07 11:34:20 | 节点 | 25260122 | server 1 | 15 |
2020-07-07 11:24:20 | postgre | 123001233 | server 2 | 5 |
在以下示例中,模板查询在表格可视化中显示来自多个服务器的时间序列数据。一次只能查看一个查询的结果。
我应用了转换来使用时间字段联接查询结果。现在我可以计算、合并和组织此新表中的结果。
外联接(用于类似 SQL 的数据)
表格外联接合并表格,以便结果包括来自任一或两个表格的匹配和不匹配的行。
学号 | 名称 | 专业 |
---|---|---|
1 | 约翰 | 计算机科学 |
2 | 艾米丽 | 数学 |
3 | 迈克尔 | 物理 |
4 | 詹妮弗 | 化学 |
现在可以与
学号 | 课程ID | 等级 |
---|---|---|
1 | CS101 | A |
1 | CS102 | B |
2 | MATH201 | A |
3 | PHYS101 | B |
5 | HIST101 | B |
应用外联接转换后的结果如下所示
学号 | 名称 | 专业 | 课程ID | 等级 |
---|---|---|---|---|
1 | 约翰 | 计算机科学 | CS101 | A |
1 | 约翰 | 计算机科学 | CS102 | B |
2 | 艾米丽 | 数学 | MATH201 | A |
3 | 迈克尔 | 物理 | PHYS101 | B |
4 | 詹妮弗 | 化学 | NULL | NULL |
5 | NULL | NULL | HIST101 | B |
通过使用表格联接从各种查询中合并和分析数据,以全面了解您的信息。
按标签联接
使用此转换将多个结果合并到单个表格中。
这对于将多个时间序列结果转换为具有共享标签字段的单个宽表特别有用。
- 联接 - 在所有时间序列中可用的标签或共有的标签之间选择要联接的标签。
- 值 - 输出结果的名称。
示例
输入
series1{what=“Temp”, cluster=“A”, job=“J1”}
时间 | 值 |
---|---|
1 | 10 |
2 | 200 |
series2{what=“Temp”, cluster=“B”, job=“J1”}
时间 | 值 |
---|---|
1 | 10 |
2 | 200 |
series3{what=“Speed”, cluster=“B”, job=“J1”}
时间 | 值 |
---|---|
22 | 22 |
28 | 77 |
配置
value: “what”
输出
集群 | 作业 | 温度 | 速度 |
---|---|---|---|
A | J1 | 10 | |
A | J1 | 200 | |
B | J1 | 10 | 22 |
B | J1 | 200 | 77 |
使用此转换有效地合并和组织时间序列数据,以获得全面的见解。
标签到字段
使用此转换将具有标签或标记的时间序列结果转换为表格,包括结果中每个标签的键和值。将标签显示为列或行值以增强数据可视化。
给定两个时间序列的查询结果
- 系列 1:标签 Server=Server A,Datacenter=EU
- 系列 2:标签 Server=Server B,Datacenter=EU
在“列”模式下,结果如下所示
时间 | 服务器 | 数据中心 | 值 |
---|---|---|---|
2020-07-07 11:34:20 | 服务器 A | 欧盟 | 1 |
2020-07-07 11:34:20 | 服务器 B | 欧盟 | 2 |
在“行”模式下,结果为每个系列都有一个表格,并显示每个标签值,如下所示
标签 | 值 |
---|---|
服务器 | 服务器 A |
数据中心 | 欧盟 |
标签 | 值 |
---|---|
服务器 | 服务器 B |
数据中心 | 欧盟 |
值字段名称
如果您选择 Server 作为值字段名称,那么您将为 Server 标签的每个值获得一个字段。
时间 | 数据中心 | 服务器 A | 服务器 B |
---|---|---|---|
2020-07-07 11:34:20 | 欧盟 | 1 | 2 |
合并行为
标签到字段转换器在内部是两个独立的转换。第一个作用于单个系列并将标签提取到字段中。第二个是将所有结果合并到单个表中的合并转换。合并转换尝试在所有匹配的字段上联接。此合并步骤是必需的,不能关闭。
为了说明这一点,这里有一个示例,其中您有两个查询返回没有重叠标签的时间序列。
- 系列 1:标签 Server=ServerA
- 系列 2:标签 Datacenter=EU
这将首先导致这两个表格
时间 | 服务器 | 值 |
---|---|---|
2020-07-07 11:34:20 | 服务器A | 10 |
时间 | 数据中心 | 值 |
---|---|---|
2020-07-07 11:34:20 | 欧盟 | 20 |
合并后
时间 | 服务器 | 值 | 数据中心 |
---|---|---|---|
2020-07-07 11:34:20 | 服务器A | 10 | |
2020-07-07 11:34:20 | 20 | 欧盟 |
将您的时间序列数据转换为结构化表格格式,以获得更清晰、更组织的表示。
限制
使用此转换来限制显示的行数,从而提供更集中的数据视图。这在处理大型数据集时尤其有用。
下面是一个示例,说明限制转换对来自数据源的响应的影响
时间 | 指标 | 值 |
---|---|---|
2020-07-07 11:34:20 | 温度 | 25 |
2020-07-07 11:34:20 | 湿度 | 22 |
2020-07-07 10:32:20 | 湿度 | 29 |
2020-07-07 10:31:22 | 温度 | 22 |
2020-07-07 09:30:57 | 湿度 | 33 |
2020-07-07 09:30:05 | 温度 | 19 |
以下是添加了值为“3”的限制转换后的结果
时间 | 指标 | 值 |
---|---|---|
2020-07-07 11:34:20 | 温度 | 25 |
2020-07-07 11:34:20 | 湿度 | 22 |
2020-07-07 10:32:20 | 湿度 | 29 |
此转换可帮助您调整数据的视觉呈现以专注于最相关的信息。
合并系列/表格
使用此转换将来自多个查询的结果合并到单个结果中,这在使用表格面板可视化时特别有用。此转换将值合并到同一行中,如果共享字段包含相同的数据。
下面是一个示例,说明合并系列/表格转换对返回表数据的两个查询的影响
查询 A
时间 | 作业 | 正常运行时间 |
---|---|---|
2020-07-07 11:34:20 | 节点 | 25260122 |
2020-07-07 11:24:20 | postgre | 123001233 |
查询 B
时间 | 作业 | 错误 |
---|---|---|
2020-07-07 11:34:20 | 节点 | 15 |
2020-07-07 11:24:20 | postgre | 5 |
以下是应用合并转换后的结果。
时间 | 作业 | 错误 | 正常运行时间 |
---|---|---|---|
2020-07-07 11:34:20 | 节点 | 15 | 25260122 |
2020-07-07 11:24:20 | postgre | 5 | 123001233 |
此转换将查询 A 和查询 B 中的值合并到一个统一的表格中,增强了数据呈现以获得更好的见解。
按名称组织字段
使用此转换可以灵活地重命名、重新排序或隐藏面板中单个查询返回的字段。此转换仅适用于具有单个查询的面板。如果您的面板有多个查询,请考虑使用“外联接”转换或删除额外的查询。
转换字段
Grafana 显示查询返回的字段列表,允许您执行以下操作
- 更改字段顺序 - 将鼠标悬停在字段上,当光标变成手形时,将字段拖动到新位置。
- 隐藏或显示字段 - 使用字段名称旁边的眼睛图标切换特定字段的可见性。
- 重命名字段 - 在“重命名”
”框中键入新名称以自定义字段名称。
示例
原始查询结果
时间 | 指标 | 值 |
---|---|---|
2020-07-07 11:34:20 | 温度 | 25 |
2020-07-07 11:34:20 | 湿度 | 22 |
2020-07-07 10:32:20 | 湿度 | 29 |
应用字段覆盖后
时间 | 传感器 | 读数 |
---|---|---|
2020-07-07 11:34:20 | 温度 | 25 |
2020-07-07 11:34:20 | 湿度 | 22 |
2020-07-07 10:32:20 | 湿度 | 29 |
此转换可让您调整查询结果的显示,确保在 Grafana 中清晰直观地呈现您的数据。
按值分区
使用此转换来简化绘制多个系列的过程,而无需使用具有不同“WHERE”子句的多个查询。
这在处理指标 SQL 表时尤其有用,如下所示
时间 | 地区 | 值 |
---|---|---|
2022-10-20 12:00:00 | 美国 | 1520 |
2022-10-20 12:00:00 | 欧盟 | 2936 |
2022-10-20 01:00:00 | 美国 | 1327 |
2022-10-20 01:00:00 | 欧盟 | 912 |
使用按值分区转换,您可以发出单个查询并根据您选择的 一列或多列(字段)中的唯一值拆分结果。以下示例使用“地区”
“SELECT Time, Region, Value FROM metrics WHERE Time > “2022-10-20””
时间 | 地区 | 值 |
---|---|---|
2022-10-20 12:00:00 | 美国 | 1520 |
2022-10-20 01:00:00 | 美国 | 1327 |
时间 | 地区 | 值 |
---|---|---|
2022-10-20 12:00:00 | 欧盟 | 2936 |
2022-10-20 01:00:00 | 欧盟 | 912 |
此转换简化了流程,并增强了在同一时间序列可视化中可视化多个系列的灵活性。
准备时间序列
使用此转换来解决数据源以不兼容于所需可视化的格式返回时间序列数据时的问题。此转换允许您在宽格式和长格式之间转换时间序列数据,从而提供数据帧结构的灵活性。
可用选项
多帧时间序列
使用此选项将时间序列数据帧从宽格式转换为长格式。当您的数据源以需要重新整形以与您的可视化最佳兼容的格式提供时间序列信息时,这特别有用。
示例:从宽格式转换为长格式
时间戳 | 值1 | 值2 |
---|---|---|
2023-01-01 00:00:00 | 10 | 20 |
2023-01-01 01:00:00 | 15 | 25 |
转换为
时间戳 | 变量 | 值 |
---|---|---|
2023-01-01 00:00:00 | 值1 | 10 |
2023-01-01 00:00:00 | 值2 | 20 |
2023-01-01 01:00:00 | 值1 | 15 |
2023-01-01 01:00:00 | 值2 | 25 |
宽时间序列
选择此选项将时间序列数据帧从长格式转换为宽格式。如果您的数据源以长格式返回时间序列数据,而您的可视化需要宽格式,则此转换将简化该过程。
示例:从长格式转换为宽格式
时间戳 | 变量 | 值 |
---|---|---|
2023-01-01 00:00:00 | 值1 | 10 |
2023-01-01 00:00:00 | 值2 | 20 |
2023-01-01 01:00:00 | 值1 | 15 |
2023-01-01 01:00:00 | 值2 | 25 |
转换为
时间戳 | 值1 | 值2 |
---|---|---|
2023-01-01 00:00:00 | 10 | 20 |
2023-01-01 01:00:00 | 15 | 25 |
注意:此转换在 Grafana 7.5.10+ 和 Grafana 8.0.6+ 中可用。
减少
使用此转换对数据帧中的每个字段应用计算并返回单个值。此转换对于将多个时间序列数据合并为更紧凑、更简洁的格式特别有用。在应用此转换时,时间字段将被删除。
考虑输入
查询 A
时间 | 温度 | 正常运行时间 |
---|---|---|
2020-07-07 11:34:20 | 12.3 | 256122 |
2020-07-07 11:24:20 | 15.4 | 1230233 |
查询 B
时间 | AQI | 错误 |
---|---|---|
2020-07-07 11:34:20 | 6.5 | 15 |
2020-07-07 11:24:20 | 3.2 | 5 |
减少转换器有两种模式
- 系列到行 - 为每个字段创建一个行,为每个计算创建一个列。
- 减少字段 - 保持现有帧结构,但将每个字段折叠成单个值。
例如,如果您使用第一个和最后一个计算以及系列到行转换,那么结果将是
字段 | 第一个 | 最后一个 |
---|---|---|
温度 | 12.3 | 15.4 |
正常运行时间 | 256122 | 1230233 |
AQI | 6.5 | 3.2 |
错误 | 15 | 5 |
减少字段与最后一个计算一起使用,会产生两个帧,每个帧有一行
查询 A
温度 | 正常运行时间 |
---|---|
15.4 | 1230233 |
查询 B
AQI | 错误 |
---|---|
3.2 | 5 |
此灵活的转换简化了将来自多个时间序列的数据合并和汇总为更易于管理和组织的格式的过程。
按正则表达式重命名
使用此转换使用正则表达式和替换模式重命名查询结果的某些部分。
您可以指定一个正则表达式,该表达式仅应用于匹配项,以及支持反向引用的替换模式。例如,假设您正在可视化每个主机的 CPU 使用率,并且想要删除域名。您可以将正则表达式设置为“/^([^.]+).*/”,将替换模式设置为“$1”,“web-01.example.com” 将变为“web-01”。
注意:按正则表达式重命名转换在 Grafana v9.0.0 中得到了改进,允许使用“/
/g” 的全局模式。根据使用的正则表达式匹配,这可能会导致某些转换的行为略有不同。您可以通过将匹配字符串括在正斜杠“(/)”中来保证与以前相同的行为,例如“(.)” 将变为“/(.)/”。
在以下示例中,我们正在从字段名称中删除“A-”前缀。在之前的图像中,您可以看到所有内容都以“A-”为前缀
应用转换后,您可以看到我们只保留了字符串的剩余部分。
这种转换可以让您根据可视化需求定制数据,从而使仪表板更具信息量且更易于使用。
行转字段
使用此转换将行转换为单独的字段。这样做很有用,因为字段可以单独设置样式和配置。它还可以使用其他字段作为动态字段配置的来源,或将它们映射到字段标签。然后,可以使用这些额外的标签来定义生成字段的更好的显示名称。
此转换包含一个字段表,该表列出了配置查询返回的数据中的所有字段。此表让您控制将哪个字段映射到每个配置属性(“用作”选项)。如果返回的数据中有多行,您还可以选择选择哪个值。
此转换需要
一个用作字段名称来源的字段。
默认情况下,转换使用第一个字符串字段作为来源。您可以通过在要使用的字段的“用作”列中选择“字段名称”来覆盖此默认设置。
一个用作值来源的字段。
默认情况下,转换使用第一个数字字段作为来源。但您可以通过在要使用的字段的“用作”列中选择“字段值”来覆盖此默认设置。
在可视化以下数据时很有用
- 仪表
- 统计
- 饼图
将额外字段映射到标签
如果一个字段没有映射到配置属性,Grafana 会自动使用它作为输出字段标签的来源-
示例
名称 | 数据中心 | 值 |
---|---|---|
服务器A | 美国 | 100 |
服务器 B | 欧盟 | 200 |
输出
服务器 A(标签:数据中心:美国) | 服务器 B(标签:数据中心:欧洲) |
---|---|
10 | 20 |
现在可以使用额外的标签在字段显示名称中提供更完整的字段名称。
如果您想从一个查询中提取配置并将其应用于另一个查询,则应使用来自查询结果的配置转换。
示例
输入
名称 | 值 | 最大值 |
---|---|---|
服务器A | 10 | 100 |
服务器 B | 20 | 200 |
服务器 C | 30 | 300 |
输出
服务器 A(配置:最大值=100) | 服务器 B(配置:最大值=200) | 服务器 C(配置:最大值=300) |
---|---|---|
10 | 20 | 30 |
如您所见,源数据中的每一行都成为一个单独的字段。每个字段现在也都有一个最大值配置选项设置。像“最小值”、“最大值”、“单位”和“阈值”这样的选项都是字段配置的一部分,如果像这样设置,将被可视化使用,而不是面板编辑器选项窗格中手动配置的任何选项。
此转换使您可以将行转换为单个字段,简化动态字段配置,并将其他字段映射到标签。
系列转行
使用此转换将来自多个时间序列数据查询的结果合并到一个单个结果中。这在使用表格面板可视化时很有用。
此转换的结果将包含三列:时间、指标和值。添加指标列是为了让您轻松地看到指标来自哪个查询。通过在源查询中定义标签来自定义此值。
在下面的示例中,我们有两个查询返回时间序列数据。在应用转换之前,它被可视化为两个单独的表格。
查询 A
时间 | 温度 |
---|---|
2020-07-07 11:34:20 | 25 |
2020-07-07 10:31:22 | 22 |
2020-07-07 09:30:05 | 19 |
查询 B
时间 | 湿度 |
---|---|
2020-07-07 11:34:20 | 24 |
2020-07-07 10:32:20 | 29 |
2020-07-07 09:30:57 | 33 |
以下是应用系列转行转换后的结果。
时间 | 指标 | 值 |
---|---|---|
2020-07-07 11:34:20 | 温度 | 25 |
2020-07-07 11:34:20 | 湿度 | 22 |
2020-07-07 10:32:20 | 湿度 | 29 |
2020-07-07 10:31:22 | 温度 | 22 |
2020-07-07 09:30:57 | 湿度 | 33 |
2020-07-07 09:30:05 | 温度 | 19 |
此转换简化了来自多个时间序列查询的结果的合并,为以表格格式高效分析和可视化提供了一个简化且统一的数据集。
注意:此转换在 Grafana 7.1+ 中可用。
排序
使用此转换根据指定字段对查询结果中的每个帧进行排序,使您的数据更容易理解和分析。通过配置所需的排序字段,您可以控制数据在表格或可视化中呈现的顺序。
使用“反转”开关以相反顺序对指定字段中的值进行排序。当您想快速在升序和降序之间切换以满足您的分析需求时,此功能特别有用。
例如,在从数据源检索时间序列数据的情况下,可以应用“排序”转换来根据时间戳(按升序或降序排列)排列数据帧,具体取决于分析要求。此功能可确保您能够轻松地浏览和解释时间序列数据,从组织良好且视觉一致的演示中获得宝贵的见解。
空间
使用此转换对查询结果应用空间操作。
- 操作 - 选择一个操作
- 准备空间字段 - 根据其他字段的结果设置几何字段。
- 位置模式 - 选择一个位置模式(这些选项由“计算值”和“转换”模式共享)
- 自动 - 根据默认字段名称自动识别位置数据。
- 坐标 - 指定纬度和经度字段。
- GeoHash - 指定一个 GeoHash 字段。
- 查找 - 指定 Gazetteer 位置字段。
- 位置模式 - 选择一个位置模式(这些选项由“计算值”和“转换”模式共享)
- 计算值 - 使用几何来定义一个新字段(标题/距离/面积)。
- 函数 - 选择一个要应用于几何的数学运算
- 标题 - 计算两点之间的标题(方向)。
- 面积 - 计算几何定义的多边形所包围的面积。
- 距离 - 计算两点之间的距离。
- 函数 - 选择一个要应用于几何的数学运算
- 转换 - 对几何应用空间操作。
- 操作 - 选择一个要应用于几何的操作
- 作为线 - 使用每行的顶点创建一个单一线要素。
- 线构建器 - 在两点之间创建一条线。
- 操作 - 选择一个要应用于几何的操作
- 准备空间字段 - 根据其他字段的结果设置几何字段。
此转换允许您操纵和分析地理空间数据,实现创建点之间的线、计算空间属性等操作。
时间序列转表格转换
使用此转换将时间序列结果转换为表格,将时间序列数据帧转换为“趋势”字段,然后可以与火花线单元格类型一起使用。如果有多个时间序列查询,每个查询都将生成一个单独的表格数据帧。可以使用连接或合并转换将这些数据帧连接起来,以生成一个包含每行多个火花线的单一表格。
对于每个生成的“趋势”字段值,可以选择一个计算函数。此值将显示在火花线旁边,并将用于对表格行进行排序。
注意:此转换在 Grafana 9.5+ 中作为可选的 beta 功能可用。修改 Grafana 的配置文件以使用它。
转置
使用此转换来旋转数据帧,将行转换为列,将列转换为行。当您想要更改数据的方向以更好地满足您的可视化需求时,此转换特别有用。如果您有多种类型,它将默认设置为字符串类型。
转换前
env | 一月 | 二月 |
---|---|---|
prod | 1 | 2 |
dev | 3 | 4 |
应用转置转换后
字段 | prod | dev |
---|---|---|
一月 | 1 | 3 |
二月 | 2 | 4 |
回归分析
使用此转换创建一个包含统计模型预测值的新数据帧。这对于在混乱数据中寻找趋势很有用。它是通过使用线性或多项式回归将数学函数拟合到数据来实现的。然后可以在可视化中使用数据帧来显示趋势线。
有两种不同的模型
- 线性回归 - 将线性函数拟合到数据。
- 多项式回归 - 将多项式函数拟合到数据。
注意:此转换目前处于公开预览阶段。Grafana Labs 提供有限的支持,在功能全面发布之前可能会出现重大更改。在 Grafana 中启用“regressionTransformation”功能切换以使用此功能。请联系 Grafana 支持团队在 Grafana Cloud 中启用此功能。