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

如何使用PromQL实现Grafana中CPU计算结果的累计趋势图展示

PromQL累计CPU计算值查询解决方案

报错原因

  • 你当前使用的CPU利用率计算语句存在语法错误,缺少1个闭合右括号,本身就无法正常返回结果。
  • sum_over_time函数要求入参为范围向量(matrix类型),你直接传入返回瞬时向量(vector类型)的CPU计算语句,类型不匹配所以抛出expected type matrix in call to function "sum_over_time", got vector报错。

解决方案

方案1:固定/动态窗口累计和

如果需要每个时间点展示指定时间窗口内的所有15s采样值累计和,使用sum_over_time+子查询语法,将瞬时向量转换为范围向量即可:

# 1h为累计窗口大小,可按需调整,15s为采样步长对齐配置
sum_over_time(
  sum( (1 - avg by (cpu, instance) (rate(node_cpu_seconds_total{mode="idle"}[15s]))) * 2 + 4 )
  [1h:15s]
)

如果需要适配Grafana仪表盘的全局时间范围,将窗口大小替换为Grafana全局变量$__range即可:

sum_over_time(
  sum( (1 - avg by (cpu, instance) (rate(node_cpu_seconds_total{mode="idle"}[15s]))) * 2 + 4 )
  [$__range:15s]
)

方案2:运行总和(匹配你给出的累加示例)

如果你需要的是从查询时间范围起始点开始,每一个采样点的值都和前面所有采样点累加的效果(即你示例中的5→12→18),使用Prometheus 2.33及以上版本支持的running_sum函数即可:

running_sum(
  sum( (1 - avg by (cpu, instance) (rate(node_cpu_seconds_total{mode="idle"}[15s]))) * 2 + 4 )
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 21:45:05