使用 Infinity 可视化 CSV
📊 概览
正在寻找快速入门示例?请查看如何使用 Grafana 可视化 CSV 数据。本页详细介绍了处理 Infinity 中 CSV 数据的各种强大配置选项。
或者,为了获得更简洁的学习路径,请查看我们的 Grafana Infinity 数据源学习路径
Grafana 学习路径提供清晰、结构化的路径,引导您从初学者概念到高级用例。请访问 使用 Infinity 数据源可视化 CSV 数据 了解此 Grafana 功能。
通过 Grafana Play,您可以探索和查看它是如何工作的,通过实际示例进行学习,从而加速您的开发。此功能可以在 Infinity 插件 CSV 演示中看到。
将查询的类型 Type 选择为 CSV
。您可以指定 CSV 文件的 URL,也可以提供内联 CSV。
CSV 数据应将列作为第一行,并使用逗号分隔。如果不是,请在 CSV 选项中指定。默认情况下,所有列都将被解析并作为字符串返回。如果您需要以正确格式解析它们,则需要指定列名及其类型。
如果您的 CSV 没有标题,您可以在CSV 选项的标题 Headers 中指定它们。请在下面的 CSV 选项部分阅读更多关于高级 CSV 设置,例如自定义分隔符的信息。
CSV URL 示例
CSV URL:https://thingspeak.com/channels/38629/feed.csv
以下示例使用 ThingSpeak 流量分析中的 CSV 文件。在以下截图中,仅使用 URL 将 CSV 可视化为表格。
上述 CSV 数据中的示例数据。
created_at,entry_id,field1,field2
2021-02-18 21:46:23 UTC,10458189,6.000000,12.000000
2021-02-18 21:46:39 UTC,10458190,0.000000,36.000000
2021-02-18 21:46:55 UTC,10458191,0.000000,49.000000
2021-02-18 21:47:10 UTC,10458192,2.000000,34.000000
2021-02-18 21:47:26 UTC,10458193,6.000000,21.000000
2021-02-18 21:47:41 UTC,10458194,11.000000,13.000000
2021-02-18 21:47:57 UTC,10458195,25.000000,3.000000
2021-02-18 21:48:12 UTC,10458196,29.000000,6.000000
带有字段规范的 CSV
从上面的相同数据中,通过添加列及其类型,我们可以将 CSV 表格转换为图表。对于图表或任何时间序列可视化,您需要一个时间列和一个或多个数值列。
不含时间字段的 CSV
URL:https://gist.githubusercontent.com/yesoreyeram/64a46b02f0bf87cb527d6270dd84ea47/raw/51f2a5e4fe7c3d010a3fe4ae4b6d07961b2ab047/population.csv
在上面的例子中,我们没有任何时间字段。我们有一个字符串字段和一个数字字段。在这种情况下,通过选择格式为时间序列,我们将时间点模拟为时间序列数据。使用此选项,您可以将 csv 用于 Bar Gauge、Stats Panel、Gauge panel 等可视化。
样本数据
Country,Population
India,3000
China,3500
UK,1200
USA,2000
Germany,700
列
即使您的 CSV 文件有列,您也应该手动指定它们,并且只有这些字段会被考虑用于显示。列将按照您指定的顺序出现。每列将具有以下属性
列 | 描述 |
---|---|
标题 | 使用表格格式时列的标题。 |
选择器 | CSV 文件中的列名。区分大小写。 |
格式 | 列的格式。 |
如果您不指定任何列,则 Infinity 插件将尝试自动生成列,并且所有字段都将作为字符串返回。此自动生成列功能仅适用于表格格式。
CSV URL
在以下示例中,我们将把 CSV URL https://gist.githubusercontent.com/yesoreyeram/64a46b02f0bf87cb527d6270dd84ea47/raw/32ae9b1a4a0183dceb3596226b818c8f428193af/sample-with-quotes.csv
转换为 Grafana 数据源。
CSV 数据应以列作为第一行,并用逗号分隔。您还需要手动指定列名用于显示。
您可以忽略 root/rows,因为 CSV 的每一行都将成为您的行。
内联 CSV
除了指定 URL,您还可以使用硬编码的 CSV 值。例如,您可以按以下格式指定 CSV
country,population,capital
india,200,mumbai
india,100,chennai
china,500,beijing
usa,200,washington
canada,100,ottawa
以下截图显示了内联 CSV 数据源的示例
CSV 选项
选项 | 描述 |
---|---|
分隔符 | 如果您的 CSV 文件使用逗号以外的分隔符,请在此处指定。对于 Tab 分隔的文件,请指定 \t 作为分隔符。 |
标题 | 如果 CSV 文件没有标题,请在此处将其指定为逗号分隔的值。留空表示您的 CSV 有标题。 |
跳过空行 | 如果您想跳过空行,请勾选此项。 |
跳过带错误的行 | 如果您想跳过带错误的行,请勾选此项。 |
放宽列数检查 | 如果您想放宽列数检查,请勾选此项。 |
注释 | 如果您的 CSV 行包含注释,请输入注释分隔符。此分隔符后面的所有字符都将被视为注释。示例:设置 # 将把每行中 # 后面的所有内容视为注释。 |
所有这些 CSV 选项均自版本 0.7 起可用。
不含标题的 CSV
如果您的 CSV 没有标题,请在CSV 选项的标题 Headers 选项中指定它们。您需要以逗号分隔的字符串形式列出标题。如果您的 CSV 有标题,请留空。
自定义分隔符 / TSV 文件
您可以为您的 CSV 文件使用自定义分隔符。您可以在CSV 选项的分隔符 delimiter 部分设置它们。对于 TSV 文件,请指定 \t
。
对于 TSV 文件,您可以选择 TSV 作为查询类型。其工作方式与上述相同。
CSV 转时间序列
一个时间字段和一个指标字段
一个时间字段、一个字符串字段和一个指标字段
一个时间字段、一个字符串字段和多个指标字段
一个时间字段和多个指标字段
一个字符串字段和一个数字字段
一个时间字段、多个字符串和数字字段
所有数字字段(Timestamp、UserId 和 Metric)
正在寻找更多 CSV 选项?
如果您正在寻找更多 CSV 选项,例如分组 group by、排序 order by、字段操作等,请使用UQL 查询。以下是简单的 UQL 命令来解析
parse-csv
| order by "field" asc
Infinity 强烈建议使用 UQL 而不是 CSV 类型。请尝试一下并提供反馈。