【问题标题】:Prometheus Query for 24 hour snapshotsPrometheus 查询 24 小时快照
【发布时间】:2022-08-09 16:01:34
【问题描述】:

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

有关指标的详细信息:

  • 名称:foo
  • 类型:仪表
  • 值:1

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

我想把它变成看起来像的东西

它汇总了 24 小时内的所有值,并为每一天创建一个总和值。

这可能吗?

谢谢!

    标签: prometheus grafana promql


    【解决方案1】:

    这可以通过Prometheus subqueries 实现。例如,以下查询应返回 metric 的每日平均值:

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

    请注意,返回的结果将向前移动 1 天,因为 Prometheus 在方括号中的后视窗口上执行计算。这可以通过在查询中添加offset -1d 来解决:

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

    不幸的是,带有负偏移量的给定查询在早于v2.33.0 的 Prometheus 中不起作用。但是这个查询在VictoriaMetrics 的所有版本中都能完美运行——我正在使用的类似 Prometheus 的监控系统。

    【讨论】:

    • 这与我试图做的非常接近,唯一不利的是它显示了报告的每一点,而不是一整天本身的总和编辑问题出在格拉法纳而不是普罗米修斯...谢谢@valyala
    猜你喜欢
    • 2020-12-09
    • 1970-01-01
    • 2021-06-17
    • 1970-01-01
    • 2020-10-26
    • 2018-06-24
    • 2017-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多