转换数据
转换是操纵查询返回的数据的强大方式,在系统应用可视化之前进行。使用转换,您可以
- 重命名字段
- 连接时间序列/类似SQL的数据
- 在查询之间执行数学运算
- 将一个转换的输出用作另一个转换的输入
对于依赖于同一数据集多个视图的用户,转换提供了创建和维护多个仪表板的有效方法。
您还可以将一个转换的输出用作另一个转换的输入,从而提高性能。
有时系统无法图形化转换数据。在这种情况下,单击可视化上方的
表格视图
切换以切换到数据的表格视图。这可以帮助您理解转换的最终结果。
转换类型
Grafana提供了多种数据转换方式。有关转换的完整列表,请参阅转换函数。
转换顺序
当存在多个转换时,Grafana按列表顺序应用它们。每个转换创建一个结果集,然后将其传递给处理管道中的下一个转换。
Grafana应用转换的顺序直接影响到结果。例如,如果您使用Reduce转换将一列的所有结果压缩成一个值,那么您只能对该单个值应用转换。
向数据添加转换函数
以下步骤指导您向数据添加转换。本文档不包括每种类型转换的步骤。有关转换函数的完整列表,请参阅转换函数。
- 导航到您想添加一个或多个转换的面板。
- 将鼠标悬停在任何面板部分上以显示右上角的操作菜单。
- 单击菜单并选择 编辑。
- 单击 转换 选项卡。
- 单击一个转换。出现一个转换行,您可以在此配置转换选项。有关如何配置转换的更多信息,请参阅转换函数。有关可用计算的信息,请参阅计算类型。
- 要应用另一个转换,请单击 添加转换。此转换作用于先前转换返回的结果集。
调试转换
要查看转换的输入和输出结果集,请单击转换行右侧的虫子图标。
输入和输出结果集可以帮助您调试转换。
禁用转换
您可以通过单击转换行右上角的眼睛图标禁用或隐藏一个或多个转换。这会禁用该特定转换的应用动作,并在您依次更改多个转换时帮助识别问题。
筛选转换
如果您的面板使用多个查询,您可以筛选这些查询并将选定的转换仅应用于其中一个查询。为此,请单击转换行右上角的筛选图标。这将打开一个下拉菜单,其中包含面板上使用的查询列表。从这里,您可以选择要转换的查询。
您还可以通过注释(包括示例)筛选,将转换应用于它们。这样做时,字段列表会根据注释或示例工具提示中的字段进行更改。
如果您的面板有多个查询或数据源(即面板或注释数据),则始终显示筛选图标,但如果应用了用于合并查询输出的先前转换,则可能不起作用。这是因为一个转换取前一个转换的输出。
删除转换
我们建议您删除不需要的转换。删除转换时,您将删除可视化中的数据。
开始之前
- 识别所有依赖于转换的仪表盘,并通知受影响的仪表盘用户。
删除转换:
- 打开一个用于编辑的面板。
- 单击 转换 选项卡。
- 点击要删除的转换旁边的垃圾桶图标。
转换功能
您可以对您的数据进行以下转换。
从计算中添加字段
使用此转换添加由两个其他字段计算的新字段。每个转换都允许您添加一个新字段。
- 模式 - 选择一个模式
- 减少行 - 独立地对所选字段的每一行应用所选的计算。
- 二元运算 - 在两个所选字段的单行值上应用基本的二元运算(例如,求和或相乘)。
- 一元运算 - 对所选字段的单行值应用基本的一元运算。可用的运算包括
- 绝对值(abs) - 返回给定表达式的绝对值。它表示其与零的距离作为一个正数。
- 自然指数(exp) - 返回 e 的给定表达式的幂。
- 自然对数(ln) - 返回给定表达式的自然对数。
- 地板(floor) - 返回小于或等于给定表达式的最大整数。
- 天花板(ceil) - 返回大于或等于给定表达式的最小整数。
- 累积函数 - 在当前行及其所有前续行上应用函数。
- 总计 - 计算到当前行(包括)的累积总和。
- 平均值 - 计算到当前行(包括)的平均值。
- 窗口函数 - 应用窗口函数。窗口可以是 尾部 或 居中。在尾部窗口中,当前行将是窗口中的最后一行。在居中窗口中,窗口将围绕当前行居中。对于偶数窗口大小,窗口将在当前行和前一行之间居中。
- 平均值 - 计算移动平均值或滚动平均值。
- 标准差(Stddev) - 计算移动标准差。
- 方差(Variance) - 计算移动方差。
- 行索引 - 插入一个包含行索引的字段。
- 字段名称 - 选择用于新字段计算的所需字段名称。
- 计算 - 如果您选择 减少行 模式,则会出现 计算 字段。点击该字段以查看您可以使用以创建新字段的计算选择列表。有关可用计算的信息,请参阅 计算类型。
- 操作 - 如果您选择 二元运算 或 一元运算 模式,则会出现 操作 字段。这些字段允许您对所选字段的单行值应用基本的数学运算。您还可以为二元运算使用数值。
- 所有数字字段 - 将 二元运算 的左侧设置为对所有数字字段应用计算。
- 作为百分比 - 如果您选择 行索引 模式,则会出现 作为百分比 开关。此开关允许您将行索引转换为总行数的百分比。
- 别名 - (可选)输入您新字段的名稱。如果您留空,则字段将根据计算命名。
- 替换所有字段 - (可选)如果您想隐藏所有其他字段并仅在可视化中显示您的计算字段,请选择此选项。
在下面的示例中,我们将两个字段相加,并将它们命名为总和。
连接字段
使用此转换将所有框架的字段组合成一个结果。
例如,如果您有单独的查询获取温度和运行时间数据(查询A)以及空气质量指数和错误信息(查询B),应用连接转换将产生一个包含所有相关信息的综合数据框。
考虑以下内容
查询A
Temp | Uptime |
---|---|
15.4 | 1230233 |
查询B
AQI | Errors |
---|---|
3.2 | 5 |
连接字段后,数据框将是
Temp | Uptime | AQI | Errors |
---|---|---|---|
15.4 | 1230233 | 3.2 | 5 |
此转换简化了合并不同来源数据的过程,为分析和可视化提供全面的视图。
从查询结果配置
使用此转换选择查询并提取标准选项,例如 最小值、最大值、单位和 阈值,并将它们应用于其他查询结果。此功能允许根据特定查询返回的数据动态配置可视化。
选项
- 配置查询 - 选择返回您希望用作配置的数据的查询。
- 应用到 - 选择要应用配置的字段或序列。
- 应用到选项 - 根据在 应用到 中的选择指定字段类型或使用字段名称正则表达式。
字段映射表
在配置选项下方,您将找到字段映射表。此表列出了配置查询返回的所有字段,以及 用作 和 选择 选项。它提供了对映射字段到配置属性的控件,对于多行,它允许您选择要选择哪个值。
示例
输入[0](来自查询:A,名称:ServerA)
时间 | 值 |
---|---|
1626178119127 | 10 |
1626178119129 | 30 |
输入[1](来自查询:B)
时间 | 值 |
---|---|
1626178119127 | 100 |
1626178119129 | 100 |
输出(与输入[0]相同,但现在对值字段应用了配置)
时间 | 值(配置:最大值=100) |
---|---|
1626178119127 | 10 |
1626178119129 | 30 |
源数据中的每一行都成为单独的字段。每个字段现在都设置了最大配置选项。例如 最小值、最大值、单位和 阈值 等选项都是字段配置的一部分。如果已设置,它们将由可视化代替在面板编辑选项面板中手动配置的任何选项使用。
值映射
您还可以将查询结果转换为值映射。使用此选项,配置查询结果中的每一行定义一个值映射行。请参阅以下示例。
配置查询结果
值 | 文本 | 颜色 |
---|---|---|
L | 低 | 蓝色 |
M | 中等 | 绿色 |
H | 高 | 红色 |
在字段映射中指定
字段 | 用作 | 选择 |
---|---|---|
值 | 值映射/值 | 所有值 |
文本 | 值映射/文本 | 所有值 |
颜色 | 值映射/颜色 | 所有值 |
Grafana 从您的查询结果构建值映射并将其应用于实际数据查询结果。您应该看到值被映射并按照配置查询结果着色。
转换字段类型
使用此转换修改指定字段的字段类型。
此转换有以下选项
- 字段 - 从可用字段中选择
- 转换为 - 选择要转换到的 FieldType
- 数值 - 尝试使值成为数字
- 字符串 - 将值转换为字符串
- 时间 - 尝试将值解析为时间
- 输入将根据 Moment.js 解析格式 进行解析
- 它将解析数字输入为 Unix 纪元时间戳(毫秒)。如果输入以秒为单位,则必须将其乘以 1000。
- 将显示一个选项,允许通过字符串(如 yyyy-mm-dd 或 DD MM YYYY hh:mm:ss)指定 DateFormat 作为输入。
- 布尔值 - 将值转换为布尔类型。
- 枚举 - 将值转换为枚举类型。
- 将显示一个表格来管理枚举。
- 其他 - 尝试将值解析为 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' 的内容。
- 自动 - 自动发现字段。
- 替换所有字段 - (可选)选择此选项以隐藏所有其他字段,并在可视化中仅显示计算字段。
- 保留时间 - (可选)仅在 替换所有字段 为 true 时可用。保留输出中的时间字段。
考虑以下数据集
数据集示例
时间戳 | 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 |
使用此配置
- 字段:位置
- 查找:美国州
您将获得以下输出
转换后的数据
位置 | 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 查询。
根据值过滤数据
使用此转换直接在您的可视化中选择性过滤数据点。此转换提供了根据所选字段应用的其中一个或多个条件来包含或排除数据的选择。
这种转换在数据源本身不支持按值过滤时非常有用。如果您使用的是共享查询,也可以使用它来缩小显示的值。
所有字段的可用条件有
- 正则表达式 - 匹配正则表达式。
- 是空值 - 如果值为空,则匹配。
- 非空值 - 如果值不为空,则匹配。
- 等于 - 如果值等于指定的值,则匹配。
- 不等于 - 如果值与指定的值不同,则匹配。
字符串字段的可用条件有
- 包含子串 - 如果值包含指定的子串(不区分大小写),则匹配。
- 不包含子串 - 如果值不包含指定的子串(不区分大小写),则匹配。
数字字段的可用条件有
- 大于 - 如果值大于指定的值,则匹配。
- 小于 - 如果值小于指定的值,则匹配。
- 大于等于 - 如果值大于或等于,则匹配。
- 小于等于 - 如果值小于或等于,则匹配。
- 范围 - 匹配介于指定的最小值和最大值之间的范围,包括最小值和最大值。
考虑以下数据集
数据集示例
时间 | 温度 | 海拔 |
---|---|---|
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} 语法包含一个插值仪表板变量。
手动选择包含的字段
单击并取消选中字段名称以将其从结果中删除。即使未选中,与正则表达式匹配的字段仍会被包含。
使用仪表板变量
启用“从变量”以允许您选择用于包含字段的仪表板变量。通过设置一个具有多个选择的 仪表板变量,可以在多个可视化中显示相同的字段。
这是我们在删除最小字段后应用的转换的表格。
这是使用统计可视化进行的相同查询。
此转换提供了定制查询结果以关注特定字段进行有效分析和可视化的灵活性。
格式化字符串
使用此转换自定义字符串字段的输出。此转换具有以下字段
- 大写 - 将整个字符串格式化为大写字母。
- 小写 - 将整个字符串格式化为小写字母。
- 句子大小写 - 将字符串的第一个字符格式为大写。
- 标题大小写 - 将字符串中每个单词的第一个字符格式为大写。
- Pascal大小写 - 将字符串中每个单词的第一个字符格式为大写,并且单词之间没有空格。
- 驼峰大小写 - 将字符串中每个单词的第一个字符格式为大写,除了第一个单词,并且单词之间没有空格。
- 蛇形大小写 - 将字符串中的所有字符格式化为小写,并且使用下划线代替单词之间的空格。
- 短横线大小写 - 将字符串中的所有字符格式化为小写,并且使用短横线代替单词之间的空格。
- 删除前导和尾随空格 - 从字符串中删除所有前导和尾随空格。
- 子字符串 - 返回字符串的子字符串,使用指定的起始和结束位置。
此转换提供了一种方便的方法来标准化和定制字符串数据的表示,以实现更好的可视化和分析。
格式化时间
使用此转换自定义时间字段的输出。可以使用 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 | 服务器 1 | 80 | 关闭 |
2020-07-07 11:34:20 | 服务器 3 | 62 | OK |
2020-07-07 10:32:20 | 服务器 2 | 90 | 过载 |
2020-07-07 10:31:22 | 服务器 3 | 55 | OK |
2020-07-07 09:30:57 | 服务器 3 | 62 | 重启 |
2020-07-07 09:30:05 | 服务器 2 | 88 | OK |
2020-07-07 09:28:06 | 服务器 1 | 80 | OK |
2020-07-07 09:25:05 | 服务器 2 | 88 | OK |
2020-07-07 09:23:07 | 服务器 1 | 86 | OK |
这个转换分为两个步骤。首先,您指定一个或多个字段,以便按这些字段对数据进行分组。这将将这些字段的相同值分组在一起,就像排序一样。例如,如果我们按服务器ID字段进行分组,那么数据将这样分组
时间 | 服务器 ID | CPU 温度 | 服务器状态 |
---|---|---|---|
2020-07-07 11:34:20 | 服务器 1 | 80 | 关闭 |
2020-07-07 09:28:06 | 服务器 1 | 80 | OK |
2020-07-07 09:23:07 | 服务器 1 | 86 | OK |
2020-07-07 10:32:20 | 服务器 2 | 90 | 过载 |
2020-07-07 09:30:05 | 服务器 2 | 88 | OK |
2020-07-07 09:25:05 | 服务器 2 | 88 | OK |
2020-07-07 11:34:20 | 服务器 3 | 62 | OK |
2020-07-07 10:31:22 | 服务器 3 | 55 | OK |
2020-07-07 09:30:57 | 服务器 3 | 62 | 重启 |
具有相同服务器ID值的所有行将分组在一起。
选择要按哪个字段对数据进行分组后,您可以在其他字段上添加各种计算,并将计算应用于每一组行。例如,我们可能想要计算每个服务器的平均CPU温度。为此,我们可以在CPU温度字段上添加平均值计算,得到以下结果
服务器 ID | CPU温度(平均值) |
---|---|
服务器 1 | 82 |
服务器 2 | 88.6 |
服务器 3 | 59.6 |
我们还可以添加多个计算。例如
- 对于时间字段,我们可以计算最后一个值,以了解每个服务器最后接收到数据点的时间
- 对于服务器状态字段,我们可以计算最后一个值,以了解每个服务器的最后状态值
- 对于温度字段,我们也可以计算最后一个值,以了解每个服务器的最新监控温度
然后我们会得到
服务器 ID | CPU温度(平均值) | CPU温度(最后一个) | 时间(最后一个) | 服务器状态(最后一个) |
---|---|---|---|---|
服务器 1 | 82 | 80 | 2020-07-07 11:34:20 | 关闭 |
服务器 2 | 88.6 | 90 | 2020-07-07 10:32:20 | 过载 |
服务器 3 | 59.6 | 62 | 2020-07-07 11:34:20 | OK |
这个转换允许您从时间序列数据中提取关键信息,并以方便的方式展示。
分组到矩阵
使用此转换将三个字段(用作查询输出中列、行和单元格值字段的输入)组合起来,生成一个矩阵。矩阵的计算方法如下
原始数据
服务器 ID | CPU 温度 | 服务器状态 |
---|---|---|
服务器 1 | 82 | OK |
服务器 2 | 88.6 | OK |
服务器 3 | 59.6 | 关闭 |
我们可以使用“服务器状态”的值作为列名,“服务器ID”的值作为行名,“CPU温度”作为每个单元格的内容来生成一个矩阵。每个单元格的内容将显示在现有的列(“服务器状态”)和行组合(“服务器ID”)上。对于其他单元格,您可以选择要显示的值:空值、真、假或空字符串。
输出
服务器ID服务器状态 | OK | 关闭 |
---|---|---|
服务器 1 | 82 | |
服务器 2 | 88.6 | |
服务器 3 | 59.6 |
使用此转换通过指定查询结果中的字段来构建矩阵。矩阵输出反映了这些字段中唯一值之间的关系。这有助于您以清晰和结构化的矩阵格式展示复杂关系。
分组到嵌套表
使用此转换按指定的字段(列)值对数据进行分组,并对每个组进行计算。生成具有相同分组字段值的记录,以在嵌套表中显示。
要计算字段的统计信息,请单击其旁边的选择框,并选择计算选项
一旦选择了计算,将出现另一个选择框,位于相应的字段旁边,允许选择统计信息
有关可用计算的更多信息,请参阅计算类型。
以下是一个原始数据的示例
时间 | 服务器 ID | CPU 温度 | 服务器状态 |
---|---|---|---|
2020-07-07 11:34:20 | 服务器 1 | 80 | 关闭 |
2020-07-07 11:34:20 | 服务器 3 | 62 | OK |
2020-07-07 10:32:20 | 服务器 2 | 90 | 过载 |
2020-07-07 10:31:22 | 服务器 3 | 55 | OK |
2020-07-07 09:30:57 | 服务器 3 | 62 | 重启 |
2020-07-07 09:30:05 | 服务器 2 | 88 | OK |
2020-07-07 09:28:06 | 服务器 1 | 80 | OK |
2020-07-07 09:25:05 | 服务器 2 | 88 | OK |
2020-07-07 09:23:07 | 服务器 1 | 86 | OK |
这个转换有两个步骤。首先,指定一个或多个字段来分组数据。这将将这些字段的相同值分组在一起,就像排序一样。例如,如果您按服务器ID字段分组,Grafana将这样分组数据
服务器 ID | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
服务器 1 |
| |||||||||||||
服务器 2 |
| |||||||||||||
服务器 3 |
|
选择要按哪个字段对数据进行分组后,您可以在其他字段上添加各种计算,并将计算应用于每一组行。例如,您可能想要计算每个服务器的平均CPU温度。为此,您可以在CPU温度字段上添加平均值计算,得到以下结果
服务器 ID | CPU温度(平均值) | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
服务器 1 | 82 |
| |||||||||
服务器 2 | 88.6 |
| |||||||||
服务器 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-like数据)
内部连接将多个表中共享所选字段相同值的表中的数据合并。此类连接排除了在每个结果中值不匹配的数据。
使用此转换将多个查询的结果(基于传递的连接字段或第一个时间列)合并为一个结果,并删除无法成功连接的行。这不适合大型时间序列数据集。
以下示例中,两个查询返回时间序列数据。在应用内部连接转换之前,它们被可视化为两个单独的表。
查询A
时间 | 工作 | Uptime |
---|---|---|
2020-07-07 11:34:20 | 节点 | 25260122 |
2020-07-07 11:24:20 | 后置 | 123001233 |
2020-07-07 11:14:20 | 后置 | 345001233 |
查询B
时间 | 服务器 | Errors |
---|---|---|
2020-07-07 11:34:20 | 服务器 1 | 15 |
2020-07-07 11:24:20 | 服务器 2 | 5 |
2020-07-07 11:04:20 | 服务器 3 | 10 |
应用内部连接转换后的结果如下
时间 | 工作 | Uptime | 服务器 | Errors |
---|---|---|---|---|
2020-07-07 11:34:20 | 节点 | 25260122 | 服务器 1 | 15 |
2020-07-07 11:24:20 | 后置 | 123001233 | 服务器 2 | 5 |
这同样适用于非时间序列表格数据。
学生
学生ID | 名称 | 专业 |
---|---|---|
1 | 约翰 | 计算机科学 |
2 | 艾米丽 | 数学 |
3 | 迈克尔 | 物理 |
4 | 詹妮弗 | 化学 |
入学情况
学生ID | 课程ID | 成绩 |
---|---|---|
1 | CS101 | A |
1 | CS102 | B |
2 | MATH201 | A |
3 | PHYS101 | B |
5 | HIST101 | B |
应用内部连接转换后的结果如下
学生ID | 名称 | 专业 | 课程ID | 成绩 |
---|---|---|---|---|
1 | 约翰 | 计算机科学 | CS101 | A |
1 | 约翰 | 计算机科学 | CS102 | B |
2 | 艾米丽 | 数学 | MATH201 | A |
3 | 迈克尔 | 物理 | PHYS101 | B |
内部连接仅包括两个表中“学生ID”匹配的行。在这种情况下,结果不包括来自“学生”表的“詹妮弗”,因为在“入学情况”表中没有与她匹配的入学记录。
外连接(针对时间序列数据)
外连接包括内部连接的所有数据以及每个输入值不匹配的行。当内部连接在时间字段上连接查询A和查询B时,外连接包括所有时间字段不匹配的行。
以下示例中,两个查询返回表数据。在外连接转换应用之前,将其可视化为两个表。
查询A
时间 | 工作 | Uptime |
---|---|---|
2020-07-07 11:34:20 | 节点 | 25260122 |
2020-07-07 11:24:20 | 后置 | 123001233 |
2020-07-07 11:14:20 | 后置 | 345001233 |
查询B
时间 | 服务器 | Errors |
---|---|---|
2020-07-07 11:34:20 | 服务器 1 | 15 |
2020-07-07 11:24:20 | 服务器 2 | 5 |
2020-07-07 11:04:20 | 服务器 3 | 10 |
应用外连接转换后的结果如下所示
时间 | 工作 | Uptime | 服务器 | Errors |
---|---|---|---|---|
2020-07-07 11:04:20 | 服务器 3 | 10 | ||
2020-07-07 11:14:20 | 后置 | 345001233 | ||
2020-07-07 11:34:20 | 节点 | 25260122 | 服务器 1 | 15 |
2020-07-07 11:24:20 | 后置 | 123001233 | 服务器 2 | 5 |
以下示例中,一个模板查询以表格可视化的方式显示来自多个服务器的时序数据。一次只能查看一个查询的结果。
我对查询结果应用了转换,使用时间字段进行连接。现在我可以运行计算、组合并组织这个新表中的结果。
外连接(针对类似SQL的数据)
一个表格外连接将表组合在一起,使得结果包括来自任一或两个表中的匹配和不匹配的行。
学生ID | 名称 | 专业 |
---|---|---|
1 | 约翰 | 计算机科学 |
2 | 艾米丽 | 数学 |
3 | 迈克尔 | 物理 |
4 | 詹妮弗 | 化学 |
现在可以与
学生ID | 课程ID | 成绩 |
---|---|---|
1 | CS101 | A |
1 | CS102 | B |
2 | MATH201 | A |
3 | PHYS101 | B |
5 | HIST101 | B |
应用外连接转换后的结果如下所示
学生ID | 名称 | 专业 | 课程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”
输出
cluster | job | Temp | Speed |
---|---|---|---|
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
在“列”模式下,结果如下所示
时间 | 服务器 | Datacenter | 值 |
---|---|---|---|
2020-07-07 11:34:20 | Server A | EU | 1 |
2020-07-07 11:34:20 | Server B | EU | 2 |
在“行”模式下,结果为每个系列有一个表格,并显示每个标签值如下
标签 | 值 |
---|---|
服务器 | Server A |
Datacenter | EU |
标签 | 值 |
---|---|
服务器 | Server B |
Datacenter | EU |
值字段名
如果您选择Server作为值字段名,则每个Server标签的每个值都将有一个字段。
时间 | Datacenter | Server A | Server B |
---|---|---|---|
2020-07-07 11:34:20 | EU | 1 | 2 |
合并行为
标签到字段转换器内部是两个独立的转换。第一个作用于单个序列并提取标签到字段。第二个是合并转换,它将所有结果合并到单个表中。合并转换尝试在所有匹配的字段上连接。此合并步骤是必需的,不能关闭。
为了说明这一点,以下是一个示例,其中有两个查询返回没有重叠标签的时间序列。
- 系列1:标签 Server=ServerA
- 系列2:标签 Datacenter=EU
这将首先产生以下两个表
时间 | 服务器 | 值 |
---|---|---|
2020-07-07 11:34:20 | ServerA | 10 |
时间 | Datacenter | 值 |
---|---|---|
2020-07-07 11:34:20 | EU | 20 |
合并后
时间 | 服务器 | 值 | Datacenter |
---|---|---|---|
2020-07-07 11:34:20 | ServerA | 10 | |
2020-07-07 11:34:20 | 20 | EU |
将您的时序数据转换为结构化表格格式,以获得更清晰、更有组织的表示。
限制
使用此转换来限制显示的行数,提供更聚焦的数据视图。这在处理大量数据集时尤其有用。
以下是一个示例,说明了 限制 转换对数据源响应的影响
时间 | 指标 | 值 |
---|---|---|
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
时间 | 工作 | Uptime |
---|---|---|
2020-07-07 11:34:20 | 节点 | 25260122 |
2020-07-07 11:24:20 | 后置 | 123001233 |
查询B
时间 | 工作 | Errors |
---|---|---|
2020-07-07 11:34:20 | 节点 | 15 |
2020-07-07 11:24:20 | 后置 | 5 |
应用合并转换后的结果如下
时间 | 工作 | Errors | Uptime |
---|---|---|---|
2020-07-07 11:34:20 | 节点 | 15 | 25260122 |
2020-07-07 11:24:20 | 后置 | 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 | EU | 2936 |
2022-10-20 01:00:00 | 美国 | 1327 |
2022-10-20 01:00:00 | EU | 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 | EU | 2936 |
2022-10-20 01:00:00 | EU | 912 |
此转换简化了过程并增强了在同一时间序列可视化中可视化多个系列的可灵活性。
准备时间序列
使用此转换来处理数据源返回的时间序列数据格式与所需可视化不兼容的情况。此转换允许您在宽格式和长格式之间转换时间序列数据,提供灵活的数据帧结构。
可用选项
多帧时间序列
使用此选项将时间序列数据帧从宽格式转换为长格式。这对于您的数据源提供的时间序列信息需要重塑以与您的可视化优化兼容的格式特别有用。
示例:从宽格式转换为长格式
时间戳 | Value1 | Value2 |
---|---|---|
2023-01-01 00:00:00 | 10 | 20 |
2023-01-01 01:00:00 | 15 | 25 |
转换为
时间戳 | 变量 | 值 |
---|---|---|
2023-01-01 00:00:00 | Value1 | 10 |
2023-01-01 00:00:00 | Value2 | 20 |
2023-01-01 01:00:00 | Value1 | 15 |
2023-01-01 01:00:00 | Value2 | 25 |
宽时间序列
选择此选项将时间序列数据帧从长格式转换为宽格式。如果您的数据源以长格式返回时间序列数据,并且您的可视化需要宽格式,此转换简化了过程。
示例:从长格式转换为宽格式
时间戳 | 变量 | 值 |
---|---|---|
2023-01-01 00:00:00 | Value1 | 10 |
2023-01-01 00:00:00 | Value2 | 20 |
2023-01-01 01:00:00 | Value1 | 15 |
2023-01-01 01:00:00 | Value2 | 25 |
转换为
时间戳 | Value1 | Value2 |
---|---|---|
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
时间 | Temp | Uptime |
---|---|---|
2020-07-07 11:34:20 | 12.3 | 256122 |
2020-07-07 11:24:20 | 15.4 | 1230233 |
查询B
时间 | AQI | Errors |
---|---|---|
2020-07-07 11:34:20 | 6.5 | 15 |
2020-07-07 11:24:20 | 3.2 | 5 |
减少转换器有两种模式
- 系列到行 - 为每个字段创建一行,为每个计算创建一列。
- 减少字段 - 保持现有的帧结构,但将每个字段折叠为单个值。
例如,如果您使用 First 和 Last 计算与 系列到行 转换,则结果将是
字段 | First | Last |
---|---|---|
Temp | 12.3 | 15.4 |
Uptime | 256122 | 1230233 |
AQI | 6.5 | 3.2 |
Errors | 15 | 5 |
使用 减少字段 和 Last 计算的结果,将产生两个帧,每个帧有一行
查询A
Temp | Uptime |
---|---|
15.4 | 1230233 |
查询B
AQI | Errors |
---|---|
3.2 | 5 |
这种灵活的转换简化了将多个时间序列数据合并和汇总为更易于管理和组织格式的过程。
使用正则表达式重命名
使用此转换通过正则表达式和替换模式重命名查询结果的部分。
您可以指定一个正则表达式,该表达式仅应用于匹配项,以及一个支持后向引用的替换模式。例如,让我们假设您正在可视化每个主机的CPU使用情况,并且您想删除域名。您可以将正则表达式设置为 ‘/^([^.]+).*/’,并将替换模式设置为 ‘$1’,则 ‘web-01.example.com’ 将变为 ‘web-01’。
注意:重命名正则表达式转换在Grafana v9.0.0中得到了改进,以允许全局模式的形式 ‘/
/g’。根据所使用的正则表达式匹配,这可能会导致某些转换的行为略有不同。您可以通过将匹配字符串用正斜杠括起来来确保与之前相同的行为,例如,‘(.)’ 将变为 ‘/(.)/’。
在以下示例中,我们正在从字段名称中删除‘A-’前缀。在“之前”图像中,您可以看到一切都有‘A-’前缀。
应用转换后,您可以看到我们只剩下字符串的剩余部分。
此转换使您可以根据您的可视化需求定制数据,使仪表板更具信息性和用户友好性。
行到字段
使用此转换将行转换为单独的字段。这可能很有用,因为字段可以单独样式化和配置。它还可以使用附加字段作为动态字段配置的来源或将它们映射到字段标签。这些附加标签可以用来定义更好的结果字段显示名称。
此转换包括一个字段表,列出了配置查询返回的所有字段。此表使您能够控制哪些字段应映射到每个配置属性(用作选项)。如果返回数据中有多个行,您还可以选择选择哪个值。
这种转换需要
一个字段作为字段名称的来源。
默认情况下,转换使用第一个字符串字段作为来源。您可以通过在要使用的字段上选择“字段名称”来覆盖此默认设置。
一个字段作为值的来源。
默认情况下,转换使用第一个数字字段作为来源。但您可以通过在要使用的字段上选择“字段值”来覆盖此默认设置。
在可视化数据时很有用
- 仪表
- 统计
- 饼图
将额外字段映射到标签
如果字段未映射到配置属性,Grafana 将自动将其用作输出字段的标签的来源-
示例
名称 | 数据中心 | 值 |
---|---|---|
ServerA | 美国 | 100 |
服务器B | EU | 200 |
输出
服务器A(标签:数据中心:US) | 服务器B(标签:数据中心:EU) |
---|---|
10 | 20 |
现在可以使用这些额外标签在字段显示名称中提供更完整的字段名称。
如果您想从一个查询中提取配置并将其应用于另一个查询,应使用查询结果转换中的配置。
示例
输入
名称 | 值 | 最大值 |
---|---|---|
ServerA | 10 | 100 |
服务器B | 20 | 200 |
服务器C | 30 | 300 |
输出
服务器A(配置:max=100) | 服务器B(配置:max=200) | 服务器C(配置:max=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字段。
- 查找 - 指定地名册位置字段。
- 位置模式 - 选择位置模式(这些选项与 计算值 和 转换 模式共享)
- 计算值 - 使用几何形状来定义一个新字段(航向/距离/面积)。
- 函数 - 选择应用于几何形状的数学运算
- 航向 - 计算两点之间的航向(方向)。
- 面积 - 计算由几何形状定义的多边形所围成的面积。
- 距离 - 计算两点之间的距离。
- 函数 - 选择应用于几何形状的数学运算
- 转换 - 对几何形状应用空间运算。
- 操作 - 选择应用于几何形状的操作
- 作为线 - 创建具有每行一个顶点的单一线特征。
- 线构建器 - 在两点之间创建线条。
- 操作 - 选择应用于几何形状的操作
- 准备空间字段 - 根据其他字段的結果设置几何字段。
此转换允许您操纵和分析地理空间数据,启用创建点之间线条、计算空间属性等操作。
时间序列到表格转换
使用此转换将时间序列结果转换为表格,将时间序列数据帧转换为 趋势 字段,然后可以使用 sparkline单元格类型。如果有多个时间序列查询,每个查询将产生一个单独的表格数据帧。这些可以使用连接或合并转换连接起来,以生成具有每行多个sparklines的单个表格。
对于每个生成的 趋势 字段值,可以选择一个计算函数。此值将显示在sparkline旁边,并将用于对表格行进行排序。
注意:此转换在Grafana 9.5+中作为可选的测试版功能提供。修改Grafana 配置文件 以使用它。
转置
使用此转换来旋转数据帧,将行转换为列,将列转换为行。此转换在需要将数据方向切换以更好地满足可视化需求时特别有用。如果您有多种类型,它将默认为字符串类型。
转换前
env | 一月 | 二月 |
---|---|---|
prod | 1 | 2 |
dev | 3 | 4 |
应用转置转换后
字段 | prod | dev |
---|---|---|
一月 | 1 | 3 |
二月 | 2 | 4 |
回归分析
使用此转换创建一个新的数据帧,其中包含由统计模型预测的值。这对于在混沌数据中找到趋势非常有用。它通过将数学函数拟合到数据,使用线性或多项式回归来实现。然后,可以使用数据帧在可视化中显示趋势线。
有两种不同的模型
- 线性回归 - 将线性函数拟合到数据。
- 多项式回归 - 将多项式函数拟合到数据。
注意:此转换目前处于公开预览状态。Grafana Labs提供有限支持,并且在功能广泛可用之前可能会出现破坏性更改。启用Grafana中的
regressionTransformation
功能开关以使用此功能。请联系Grafana支持以在Grafana Cloud中启用此功能。