我正在使用 Prometheus 作为 Grafana 的数据源。
我每天在特定时间只收到一次记录数。
- 显示当天收到的文件数。我确实将查询写为: sum(increase(query[24h])) 。但随着时间的推移,图表或单一统计数据会减少。我只需要显示该特定时间数据即将到来的值。因为在其余时间它是 null 。
我确实将查询写为: sum(increase(query[24h])) 。
总和(增加(查询[24h]))
我正在使用 Prometheus 作为 Grafana 的数据源。
我每天在特定时间只收到一次记录数。
我确实将查询写为: sum(increase(query[24h])) 。
总和(增加(查询[24h]))
从理论上讲,类似的东西increase(query[24h])
是有道理的,所以它应该可以工作。但是,Prometheus 过于从字面上理解了 24 小时范围,它只查看落在 24 小时内的样本。看看你的样本是如何间隔 24 小时的,平均来说就是一个样本。而且由于您无法根据单个样本计算增加量,因此您大部分时间可能一无所获。
除非您对 Prometheus 进行“逆向工程”,否则没有合理的方法可以从 Prometheus 获得您所期望的。即,要么在 48 小时内增加(因此平均有 2 个样本),然后根据 Prometheus 所做的推断进行调整(即除以 2;对于超过 5 分钟的范围,这可能是必要的,也可能不是必要的)。
或者您可以使用irate(query[48h]) * 24 * 3600
,它基本上是最后 2 个样本(您想要的)之间的每秒变化率乘以一天中的秒数。但是,如果您获得几乎重复的样本,后一种可能会很危险(即两个相隔几秒钟的其他相同样本可能会使过去 24 小时内的变化看起来为零)。