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

如何在Prometheus查询中自定义返回样本的采样频率

PromQL调整返回样本采样频率的实现方法

你可以通过子查询+时间聚合函数的方式在不修改scrape_interval配置的前提下,自定义查询返回的采样间隔,具体实现如下:

核心原理

xxx_over_time类聚合函数可以对指定时间窗口内的原始样本做计算,配合PromQL子查询的[时间范围:步长]语法,即可将步长设为你需要的采样间隔,输出对应频率的样本点。

常用示例

以下均以查询1周范围数据为例,根据你需要的采样间隔调整参数即可:

  • 每10秒返回1个采样点(取每个10秒窗口内的最新样本值):
    last_over_time(metric_name[10s])[1w:10s]
  • 每30秒返回1个采样点(取每个30秒窗口内的样本平均值):
    avg_over_time(metric_name[30s])[1w:30s]
  • 每5分钟返回1个采样点(取每个5分钟窗口内的样本最大值):
    max_over_time(metric_name[5m])[1w:5m]

注意事项

  • 聚合窗口长度(xxx_over_time后面的时间参数)建议和子查询步长保持一致,避免出现数据重叠或遗漏的情况
  • 自定义采样间隔建议大于等于Prometheus配置的scrape_interval,如果采样间隔小于原始抓取间隔,多个连续窗口会拿到同一个原始样本值,出现大量重复输出
  • 如果你是通过Prometheus HTTP API发起查询,也可以直接在请求参数中指定step参数为目标采样间隔,无需修改PromQL语句,API会自动按指定步长返回采样结果,适合不需要自定义聚合逻辑的通用场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 10:18:03