Grafana - 在 X 轴上显示 NON DataTime Date/Time 字段
Grafana - Show NON DataTime Date/Time field on X axis
Grafana 6.x/7.x版本,尤其是7.x
版本
如果我在 Elasticsearch 索引(<--Grafana:它引用的)或平面文件 (csv) 中有以下数据
Sprint Velocity: 10 20 15 35 22
--------------------------------------
Sprint Name: S1 S2 S3 S4 S5
Sprint Number: 1 2 3 4 5
然后,在 Grafana 中,是否可以在 Y 轴上显示速度场,并在 X 轴 上显示 Sprint Name/Number
(非日期时间 基于字段)。
在 ELK(Kibana GUI)中,我有一个通过索引模式指向 Elasticsearch 索引的可视化(对于上述数据),我可以轻松地 render/show 具有 X 轴的 LINE 可视化(术语:使用 Sprint 名称或 Sprint 编号)。
我正试图在 Grafana 中实现同样的目标,但遇到了困难。
https://grafana.com/grafana/plugins/natel-plotly-panel 也没有帮助,因为它仅支持 Grafana 6 版本。
此外,如果我使用 "series" 选项,它不允许在图中连接点,因为 Grafana 认为它们都是独立的系列。 例如:如果我使用这种方法:https://github.com/gipong/grafana-groupedbarchart-panel我无法在 Y 轴上获得一个指标(速度)作为线图,在 Y 轴上获得另一个指标(TotalSprintPoints)作为条形图。
在 Grafana 中,可能性很小(但需要一些腿部工作)。用户可以使用 MySQL(作为数据源)在 X 轴上可视化 non-time 系列数据。 也可以使用 PostgreSQL。 有关详细信息,请阅读下面的博客。感谢肖恩·布拉德利。
https://medium.com/grafana-tutorials/graphing-non-time-series-sql-data-in-grafana-8a0ea8c55ee3
Grafana 可以非常好地绘制来自许多不同类型数据源的时间序列数据。但有时您只想绘制图表,简单的非时间序列数据。即没有时间戳的数据,具有定期更新统计信息的平坦 tables 或仅简单查找 tables.
非时间序列数据示例 table.
你想看到这个简单的数据,类似于下面的图表。
Grafana 需要 时间序列 数据来创建图表,因此非时间序列数据无法立即实现,但有一种方法, 如下所示,你可以怎么做。
要自己测试,您应该有一个 MySQL 数据库并 创建一个数据源 在 Grafana 中连接到它。 如果您没有 MySQL 数据库,但您有 Grafana 服务器,那么您可以按照 https://sbcode.net/grafana/create-mysql-data-source/[ 中的说明进行操作=129=] 快速安装 MySQL 服务器并在 Grafana 中配置 MySQL 数据源。
现在用一些非时间序列数据组织一个简单的平面table。
在我的 MySQL 服务器上,我们可以有一个名为 exampledb 的模式。在其中创建一个名为 flat_table_example
的 table
在您的服务器上打开一个 MySQL 提示符,然后 使用此脚本创建一个 table
CREATE TABLE `exampledb`.`flat_table_example` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(45) DEFAULT NULL,
`total` decimal(10,0) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1;
现在,让我们插入一些数据:
INSERT INTO `exampledb`.`flat_table_example`
(`username`,
`total`)
VALUES
('Cat',56),
('Dog',5),
('Lizard',4),
('Crocodile',2),
('Koala',50),
('Cassowary',2),
('Peacock',1),
('Emu',1),
('Kangaroo',1);
要检查数据是否存在,运行如下:
SELECT * FROM ``exampledb`.`flat_table_example`;
**现在**,打开您的 **Grafana UI**,**确保**您的 **MySQL 数据源**已**配置并连接**,然后转到探索选项卡。
选择您的MySQL数据源,按编辑SQL按钮
用下面的替换默认的SQL,
SELECT username AS metric, total as value FROM flat_table_example ORDER BY id
And select Format As = Table 以在 Grafana 中将您的数据视为 table。
现在,这个数据是不是时间序列数据,它有no timestamp columns,所以 Grafana 不知道如何绘制它。所以这是诀窍,
修改 SQL 语句为,
SELECT NOW() AS "time", username AS metric, total as value FROM flat_table_example ORDER BY id
现在数据已经转换为时间序列。现在,所有行都有时间戳,都是相同的,并且每次执行查询时都会更新以显示。你可能认为这是错误的,但事实并非如此,它是完美的。
Grafana 现在可以将此数据绘制成漂亮的图表。
现在离开 探索 页面,转到管理仪表板,创建一个新仪表板并且 添加查询
Select你的MySQL数据源,按编辑SQL按钮就像之前,将新的 SQL 脚本粘贴到文本区域。但是这次,保留 Format As = Time Series 而不是 Table
现在开始可视化,select Bar Gauge。马上,你在下面有这个。
您可以select方向=水平,字段单位=百分比(0-100)
您可以 select 基本 Gauge 可视化来获得下面的结果,并为自己添加一个额外的 Threshold
甚至 select 默认的 Graph 可视化,但确保你也 select X-Axis Mode = Series
视频教程
要查看有关在 Grafana 中查看非时间序列数据的视频教程,请访问,
https://youtu.be/Q6aw9oInsyw
特别感谢 Sean B。
这里提到另一种方式用于分组图表:
https://github.com/gipong/grafana-groupedbarchart-panel
@AKS 你的例子真的是信息你厌倦了折线图吗?当我移动到行不工作时,我可以按照你的步骤制作条形图等。我也喜欢在图表中显示 4 条不同的线,但我只得到一条线。
Grafana 6.x/7.x版本,尤其是7.x
版本如果我在 Elasticsearch 索引(<--Grafana:它引用的)或平面文件 (csv) 中有以下数据
Sprint Velocity: 10 20 15 35 22
--------------------------------------
Sprint Name: S1 S2 S3 S4 S5
Sprint Number: 1 2 3 4 5
然后,在 Grafana 中,是否可以在 Y 轴上显示速度场,并在 X 轴 上显示 Sprint Name/Number
(非日期时间 基于字段)。
在 ELK(Kibana GUI)中,我有一个通过索引模式指向 Elasticsearch 索引的可视化(对于上述数据),我可以轻松地 render/show 具有 X 轴的 LINE 可视化(术语:使用 Sprint 名称或 Sprint 编号)。
我正试图在 Grafana 中实现同样的目标,但遇到了困难。 https://grafana.com/grafana/plugins/natel-plotly-panel 也没有帮助,因为它仅支持 Grafana 6 版本。
此外,如果我使用 "series" 选项,它不允许在图中连接点,因为 Grafana 认为它们都是独立的系列。 例如:如果我使用这种方法:https://github.com/gipong/grafana-groupedbarchart-panel我无法在 Y 轴上获得一个指标(速度)作为线图,在 Y 轴上获得另一个指标(TotalSprintPoints)作为条形图。
在 Grafana 中,可能性很小(但需要一些腿部工作)。用户可以使用 MySQL(作为数据源)在 X 轴上可视化 non-time 系列数据。 也可以使用 PostgreSQL。 有关详细信息,请阅读下面的博客。感谢肖恩·布拉德利。
https://medium.com/grafana-tutorials/graphing-non-time-series-sql-data-in-grafana-8a0ea8c55ee3
Grafana 可以非常好地绘制来自许多不同类型数据源的时间序列数据。但有时您只想绘制图表,简单的非时间序列数据。即没有时间戳的数据,具有定期更新统计信息的平坦 tables 或仅简单查找 tables.
非时间序列数据示例 table.
你想看到这个简单的数据,类似于下面的图表。
Grafana 需要 时间序列 数据来创建图表,因此非时间序列数据无法立即实现,但有一种方法, 如下所示,你可以怎么做。
要自己测试,您应该有一个 MySQL 数据库并 创建一个数据源 在 Grafana 中连接到它。 如果您没有 MySQL 数据库,但您有 Grafana 服务器,那么您可以按照 https://sbcode.net/grafana/create-mysql-data-source/[ 中的说明进行操作=129=] 快速安装 MySQL 服务器并在 Grafana 中配置 MySQL 数据源。
现在用一些非时间序列数据组织一个简单的平面table。
在我的 MySQL 服务器上,我们可以有一个名为 exampledb 的模式。在其中创建一个名为 flat_table_example
的 table在您的服务器上打开一个 MySQL 提示符,然后 使用此脚本创建一个 table
CREATE TABLE `exampledb`.`flat_table_example` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(45) DEFAULT NULL,
`total` decimal(10,0) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=latin1;
现在,让我们插入一些数据:
INSERT INTO `exampledb`.`flat_table_example`
(`username`,
`total`)
VALUES
('Cat',56),
('Dog',5),
('Lizard',4),
('Crocodile',2),
('Koala',50),
('Cassowary',2),
('Peacock',1),
('Emu',1),
('Kangaroo',1);
要检查数据是否存在,运行如下:
SELECT * FROM ``exampledb`.`flat_table_example`;
**现在**,打开您的 **Grafana UI**,**确保**您的 **MySQL 数据源**已**配置并连接**,然后转到探索选项卡。
选择您的MySQL数据源,按编辑SQL按钮
用下面的替换默认的SQL,
SELECT username AS metric, total as value FROM flat_table_example ORDER BY id
And select Format As = Table 以在 Grafana 中将您的数据视为 table。
现在,这个数据是不是时间序列数据,它有no timestamp columns,所以 Grafana 不知道如何绘制它。所以这是诀窍,
修改 SQL 语句为,
SELECT NOW() AS "time", username AS metric, total as value FROM flat_table_example ORDER BY id
现在数据已经转换为时间序列。现在,所有行都有时间戳,都是相同的,并且每次执行查询时都会更新以显示。你可能认为这是错误的,但事实并非如此,它是完美的。
Grafana 现在可以将此数据绘制成漂亮的图表。
现在离开 探索 页面,转到管理仪表板,创建一个新仪表板并且 添加查询
Select你的MySQL数据源,按编辑SQL按钮就像之前,将新的 SQL 脚本粘贴到文本区域。但是这次,保留 Format As = Time Series 而不是 Table
现在开始可视化,select Bar Gauge。马上,你在下面有这个。
您可以select方向=水平,字段单位=百分比(0-100)
您可以 select 基本 Gauge 可视化来获得下面的结果,并为自己添加一个额外的 Threshold
甚至 select 默认的 Graph 可视化,但确保你也 select X-Axis Mode = Series
视频教程 要查看有关在 Grafana 中查看非时间序列数据的视频教程,请访问, https://youtu.be/Q6aw9oInsyw
特别感谢 Sean B。
这里提到另一种方式用于分组图表: https://github.com/gipong/grafana-groupedbarchart-panel
@AKS 你的例子真的是信息你厌倦了折线图吗?当我移动到行不工作时,我可以按照你的步骤制作条形图等。我也喜欢在图表中显示 4 条不同的线,但我只得到一条线。