Prometheus 查询 24 小时快照

Prometheus Query for 24 hour snapshots

有没有办法在一周内查询 prometheus 和 return 指标的 24 小时快照?

有关指标的详细信息:

指标每分钟被抓取一次,value 会像这样变化

我想把它变成这样的东西

这是对 24 小时内的所有值进行汇总,并为每一天创建一个总和值。

这可能吗?

谢谢!

这可以通过 Prometheus subqueries 实现。例如,以下查询应该 return per-day metric 的平均值:

last_over_time(
  avg_over_time(metric[1d])[1d:1d]
)

请注意,returned 结果将向前移动 1 天,因为 Prometheus 在方括号中对 lookbehind windows 执行计算。这可以通过在查询中添加 offset -1d 来解决:

last_over_time(
  avg_over_time(metric[1d] offset -1d)[1d:1d]
)

不幸的是,具有负偏移量的给定查询在早于 v2.33.0. But this query works perfectly in all the versions of VictoriaMetrics 的 Prometheus 中不起作用。