You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Victoria Metrics中如何用MetricsQL生成多小时桶的数值平均值?

Victoria Metrics 按时间桶批量计算平均值的解决方案

你可以通过**avg_over_time结合offset参数+标签标识**的方式,在单次查询中生成多个时间桶的平均值结果,具体写法如下:

假设你的原始时序查询语句是your_metric_query,要计算过去6小时内每1小时的平均值,可以这样写:

label_replace(avg_over_time(your_metric_query[1h]), "time_bucket", "0~-1h", "", "")
or
label_replace(avg_over_time(your_metric_query[1h] offset 1h), "time_bucket", "-1h~-2h", "", "")
or
label_replace(avg_over_time(your_metric_query[1h] offset 2h), "time_bucket", "-2h~-3h", "", "")
or
label_replace(avg_over_time(your_metric_query[1h] offset 3h), "time_bucket", "-3h~-4h", "", "")
or
label_replace(avg_over_time(your_metric_query[1h] offset 4h), "time_bucket", "-4h~-5h", "", "")
or
label_replace(avg_over_time(your_metric_query[1h] offset 5h), "time_bucket", "-5h~-6h", "", "")

逻辑说明:

  1. offset N:用来偏移查询的时间窗口,依次覆盖过去第1到第6个1小时区间;
  2. avg_over_time([1h]):对每个偏移后的1小时窗口计算平均值;
  3. label_replace:给每个窗口的结果添加time_bucket标签,用来区分不同的时间桶区间,方便后续识别结果对应的时间段。

这种方式会返回6组带标签的时序结果,每组对应一个时间桶的平均值,完全满足你单次查询获取多段结果的需求。

内容的提问来源于stack exchange,提问作者underachiever

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 04:17:56