在 PromQL/MetricsQL 中按时间分组和聚合

Posted

技术标签:

【中文标题】在 PromQL/MetricsQL 中按时间分组和聚合【英文标题】:Group by time and aggregate in PromQL/MetricsQL 【发布时间】:2021-01-27 11:10:32 【问题描述】:

我有一个规格,比如 x,类型为 Gauge,每 5m 报告一次值。

现在我想做一个查询,得到一天中每个小时的值总和。

示例:从下午 3 点到下午 5 点,仪表值是 1,1,1,1,1,2,2,2,2,2,1,1,1,1,1,2,2,2, 2,2,1,1,1,1,1,2,2,2,2,2,1,1,1,1,1,2,2,2,2,2,1,1,1,每 5 分钟报告 1,1,2,2,2,2,2,1,1,1,1,1,2,2,2,2,2 - 总共 60 个值

我的查询结果应该是 3PM-4PM -> 45 和 4PM-5PM -> 45(一小时内所有值的总和)

TIA

【问题讨论】:

【参考方案1】:

见Prometheus count query for a particular period

只需使用sum_over_time(x[1h]) 代替,并使用 3600 作为分辨率/步长。

【讨论】:

以上是关于在 PromQL/MetricsQL 中按时间分组和聚合的主要内容,如果未能解决你的问题,请参考以下文章

如何在打字稿/离子2中按周分组时间戳?

在 django admin 中按天分组?

如何在 MongoDB 中按日期分组

SQLAlchemy 在时间戳列中按天分组

LINQ:在日期时间字段中按月和年分组

如何在 presto SQL 中按月分组