在 Grafana 中,我们如何处理在图表/面板中返回 0 行的查询?
Posted
技术标签:
【中文标题】在 Grafana 中,我们如何处理在图表/面板中返回 0 行的查询?【英文标题】:In Grafana, how do we deal with queries that return 0 rows in a chart/panel? 【发布时间】:2022-01-12 07:30:34 【问题描述】:我遇到了一个可能是自己造成的问题,但我是个菜鸟,我仍然在我继承的这个仪表板上磕磕绊绊。
我们使用的是 Grafana 8.1.5。我继承了一个仪表板,其面板显示此错误消息:
“从数据帧转换时无法将长系列转换为宽系列:无法转换为宽系列,输入具有空时间值”错误。
我想我知道原因,但我不知道如何解决它。数据源来自 mysql 数据库。当我们在下拉菜单“Org”下选择“All”时,我们不会收到此错误,我们会返回 8 行,并且期望 8 行。 当我们在下拉菜单“Org”下选择一个组织(在本例中为“数据保护”)时,我们确实收到了错误,我们得到了 5 行。我认为因为 3 个查询返回 0 行,所以我们收到了这个错误。
每个饼图都有自己的 SQL 查询来获取数据。对于返回 0 行的查询,我尝试选择一些“标准选项”来修复它,但它似乎不起作用。我尝试使用 Min、Max 和“No Value”设置并输入大于 0 的值,但仍然出现此错误。 Min 和 Max 的初始值是“auto”,而“No Value”是空白的,但截图是我在弄乱它们时将它们保留为“1”。
我需要做什么才能让消息消失?该消息是良性的吗?我不应该担心它,因为看起来我们仍在打印饼图?
【问题讨论】:
【参考方案1】:编写 SQL,返回零值记录而不是空结果。理论上零值,不会在饼图中可见,并且您仍然有数据框转换的记录,因此不会失败。
【讨论】:
【参考方案2】:所以我不小心偶然发现了答案。发生的情况是查询返回的数据格式为“时间序列”而不是“表”。由于部分数据没有指定时间的值,所以时间值为 Null。
由于为 Null,图表返回此错误消息。解决方法是选择“表格”作为格式。那么图表将不关心时间值是否为 Null 并且丢失的数据在图例中显示为 0 并且我们不再收到错误消息。
【讨论】:
以上是关于在 Grafana 中,我们如何处理在图表/面板中返回 0 行的查询?的主要内容,如果未能解决你的问题,请参考以下文章
使用 MySQL 的 Grafana 仪表板:我应该如何处理“%Y%m%d%H%i%s”的时间戳以用作面板的时间列?