在 Grafana 中,可能性很小(但需要一些腿部工作)。用户可以使用 MySQL(作为数据源)在 X 轴上可视化非时间序列数据。 也可以使用 PostgreSQL。 欲了解更多信息,请阅读下面的博客。感谢肖恩·布拉德利。
https://medium.com/grafana-tutorials/graphing-non-time-series-sql-data-in-grafana-8a0ea8c55ee3
Grafana 可以非常出色地绘制来自许多不同类型数据源的时间序列数据。但有时您只想绘制简单的非时间序列数据。即没有时间戳的数据、具有定期更新统计信息的平面表或只是简单的查找表。
将非时间序列数据作为平面表的示例。
您希望看到这些简单的数据,如下图所示。
Grafana 需要 时间序列 数据来创建图表,因此从非时间序列数据中无法立即实现,但有一种方法,如下所示,如何你可以的。
要自行测试,您应该有一个 MySQL 数据库并在 Grafana 中创建一个数据源 连接。 如果您没有 MySQL 数据库,但您有 Grafana 服务器,那么您可以按照 https://sbcode.net/grafana/create-mysql-data-source/ 的说明快速安装自己的 MySQL 服务器并在 Grafana 中配置 MySQL 数据源。
现在用一些非时间序列数据组织一个简单的平面表。
在我的 MySQL 服务器上,我们可以有一个名为 exampledb 的模式。在其中创建一个名为 flat_table_example
的表
在您的服务器上打开一个 MySQL 提示符,并使用此脚本创建一个表
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
然后选择 Format As = Table 将您的数据视为 Grafana 中的表格。
现在,这个数据不是 时间序列数据,它有没有 时间戳列,所以 Grafana 不知道如何绘制它。所以这就是诀窍,
修改SQL语句为,
SELECT NOW() AS "time", username AS metric, total as value FROM flat_table_example ORDER BY id
现在数据已转换为时间序列。现在,所有行都有时间戳,都是相同的,并且每次执行查询时都会更新以显示。你可能认为这是错误的,但事实并非如此,它是完美的。
Grafana 现在可以将此数据绘制成漂亮的图表。
现在离开Explore页面,进入Manage Dashboards,创建New Dashboard和Add Query
选择您的 MySQL 数据源,像之前一样按 Edit SQL 按钮,将新的 SQL 脚本粘贴到文本区域。但这一次,请留下 Format As = Time Series 而不是 Table
现在转到可视化,选择 Bar Gauge。马上,你有这个。
您可以选择Orientation = Horizontal,Field Unit = Percent (0-100)
您可以选择基本的 Gauge 可视化来获得下面的结果,并为自己添加一个额外的 Threshold
甚至选择默认的 Graph 可视化,但请确保您还 选择 X-Axis Mode = Series
视频教程
要查看有关在 Grafana 中查看非时间序列数据的视频教程,请访问,
https://youtu.be/Q6aw9oInsyw
特别感谢 Sean B。
另一种方式在这里提到分组图表:
https://github.com/gipong/grafana-groupedbarchart-panel