使用grafana获取最后的prometheus值

问题描述 投票:0回答:1

我在普罗米修斯数据库中收集了一些太阳能数据。接下来我使用 grafana 可视化我的数据。

我创建了一个仪表板,其中包含两个显示小部件、一个时间序列和一个具有当前值的统计数据。时间序列很好,在选定的时间段内有一个漂亮的图表。

但是“当前值”统计显示并没有按预期工作。我有以下疑问:

last_over_time(victron_mppt_batteryVoltage[1m])

问题是所选时间段会影响统计小部件中显示的值。显然这里正在发生一些聚合。

如何让grafana在不进行任何聚合的情况下查询prometheus的“实际值”显示?

prometheus grafana
1个回答
0
投票

默认情况下,Grafana 会根据为仪表板选择的时间范围和计算的步骤(或分辨率)查询 Prometheus 来获取一系列数据。

因此,假设您选择的仪表板时间范围为最后 5 分钟,而 Grafana 决定采用 10 秒的步长。

这意味着 Prometheus 将为每个时间序列返回 30 个数据点。基本上,这 5 分钟查询中的每 10 秒都会单独评估,您将获得与评估时间相关的结果向量。

之后,Grafana 将需要将这些数据聚合为您向您显示的单个值。我认为,Grafana 中统计面板的默认聚合是“Last *”(最后一个非空),但在您的情况下可能是其他东西。

但即使你选择“最后一个*”,它也不是最好的解决方案。

您可以将查询类型切换为即时(查询选项是查询编辑器下的可折叠面板)。这会将 Grafana 从使用

api/v1/query_range
切换为
api/v1/query
,并且 Grafana 将自动仅向 Prometheus 查询最新的数据点。


如果您尝试使用

last_over_time
来调解您的问题 - 将其删除。很可能它没有达到您的预期。

last_over_time
“拉伸”不再存在的指标的值。因此,在您的情况下,即使指标在半小时前停止报告,它仍然会在结果中返回。

© www.soinside.com 2019 - 2024. All rights reserved.