菜单
开源
Visualize CSV with Infinity

使用 Infinity 可视化 CSV

使用 Infinity 数据源插件可视化来自 REST API 的 CSV 数据

📊 概览

正在寻找快速入门示例?请查看如何使用 Grafana 可视化 CSV 数据。本页详细介绍了处理 Infinity 中 CSV 数据的各种强大配置选项。

或者,为了获得更简洁的学习路径,请查看我们的 Grafana Infinity 数据源学习路径

Grafana Learning Journeys
通过 Grafana 学习路径开始您的学习体验

Grafana 学习路径提供清晰、结构化的路径,引导您从初学者概念到高级用例。请访问 使用 Infinity 数据源可视化 CSV 数据 了解此 Grafana 功能。

csv example

Give it a try using Grafana Play
使用 Grafana Play 尝试一下

通过 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 可视化为表格。

image

上述 CSV 数据中的示例数据。

bash
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 表格转换为图表。对于图表或任何时间序列可视化,您需要一个时间列和一个或多个数值列。

image

不含时间字段的 CSV

URL:https://gist.githubusercontent.com/yesoreyeram/64a46b02f0bf87cb527d6270dd84ea47/raw/51f2a5e4fe7c3d010a3fe4ae4b6d07961b2ab047/population.csv

image

在上面的例子中,我们没有任何时间字段。我们有一个字符串字段和一个数字字段。在这种情况下,通过选择格式为时间序列,我们将时间点模拟为时间序列数据。使用此选项,您可以将 csv 用于 Bar Gauge、Stats Panel、Gauge panel 等可视化。

样本数据

bash
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 数据应以列作为第一行,并用逗号分隔。您还需要手动指定列名用于显示。

image

您可以忽略 root/rows,因为 CSV 的每一行都将成为您的行。

内联 CSV

除了指定 URL,您还可以使用硬编码的 CSV 值。例如,您可以按以下格式指定 CSV

bash
country,population,capital
india,200,mumbai
india,100,chennai
china,500,beijing
usa,200,washington
canada,100,ottawa

以下截图显示了内联 CSV 数据源的示例

image

CSV 选项

选项描述
分隔符如果您的 CSV 文件使用逗号以外的分隔符,请在此处指定。对于 Tab 分隔的文件,请指定 \t 作为分隔符。
标题如果 CSV 文件没有标题,请在此处将其指定为逗号分隔的值。留空表示您的 CSV 有标题。
跳过空行如果您想跳过空行,请勾选此项。
跳过带错误的行如果您想跳过带错误的行,请勾选此项。
放宽列数检查如果您想放宽列数检查,请勾选此项。
注释如果您的 CSV 行包含注释,请输入注释分隔符。此分隔符后面的所有字符都将被视为注释。示例:设置 # 将把每行中 # 后面的所有内容视为注释。

所有这些 CSV 选项均自版本 0.7 起可用。

不含标题的 CSV

如果您的 CSV 没有标题,请在CSV 选项的标题 Headers 选项中指定它们。您需要以逗号分隔的字符串形式列出标题。如果您的 CSV 有标题,请留空。

自定义分隔符 / TSV 文件

您可以为您的 CSV 文件使用自定义分隔符。您可以在CSV 选项的分隔符 delimiter 部分设置它们。对于 TSV 文件,请指定 \t

对于 TSV 文件,您可以选择 TSV 作为查询类型。其工作方式与上述相同。

CSV 转时间序列

一个时间字段和一个指标字段

image

一个时间字段、一个字符串字段和一个指标字段

image

一个时间字段、一个字符串字段和多个指标字段

image

一个时间字段和多个指标字段

image

一个字符串字段和一个数字字段

image

一个时间字段、多个字符串和数字字段

image

所有数字字段(Timestamp、UserId 和 Metric)

image

正在寻找更多 CSV 选项?

如果您正在寻找更多 CSV 选项,例如分组 group by、排序 order by、字段操作等,请使用UQL 查询。以下是简单的 UQL 命令来解析

sql
parse-csv
| order by "field" asc

Infinity 强烈建议使用 UQL 而不是 CSV 类型。请尝试一下并提供反馈。