-1

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上显示 Velocity 字段。

在 ELK (Kibana GUI) 中,我有一个通过索引模式指向 Elasticsearch 索引的可视化(对于上述数据),我可以轻松地渲染/显示具有 X 轴的 LINE 可视化(术语:使用 Sprint 名称或 Sprint 编号) .

我试图在 Grafana 中实现同样的目标,但很难。 https://grafana.com/grafana/plugins/natel-plotly-panel也没有帮助,因为它仅支持 Grafana 6 版本。

此外,如果我使用“系列”选项,它不允许在图中连接点,因为 Grafana 认为它们都是独立的系列。例如:如果我使用这种方法:https ://github.com/gipong/grafana-groupedbarchart-panel我无法在 Y 轴上获得一个指标(速度)作为 LINE 图表,在 Y 轴上获得另一个指标(TotalSprintPoints)作为条形图。

4

2 回答 2

0

@AKS 你的例子真的是你厌倦了折线图的信息吗?当我移动它不工作时,我可以按照你的条形图等步骤。我也喜欢在图表中显示 4 条不同的线,但我只得到了一条。

于 2021-10-26T13:57:04.403 回答
-1

在 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 数据源,按Edit 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添加查询

选择您的MySQL数据源,像以前一样按编辑 SQL按钮,将新的 SQL 脚本粘贴到文本区域。但是这一次,留下Format As = Time Series而不是 Table 在此处输入图像描述

现在转到可视化,选择Bar Gauge。马上,你有这个。 在此处输入图像描述

您可以选择Orientation = Horizo​​ntalField Unit = Percent (0-100) 在此处输入图像描述

您可以选择基本的仪表可视化来获得下面的结果,并为自己添加一个额外的阈值 在此处输入图像描述

甚至选择默认的图形可视化,但确保您还选择 X-Axis Mode = Series 在此处输入图像描述

视频教程 要查看有关在 Grafana 中查看非时间序列数据的视频教程,请访问 https://youtu.be/Q6aw9oInsyw

特别感谢 Sean B.

这里提到了分组图表的 另一种方法: https ://github.com/gipong/grafana-groupedbarchart-panel

于 2020-11-16T18:51:32.460 回答