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

Grafana变量配置时Prometheus查询失效问题求助

Grafana变量Prometheus查询报错修复

问题描述

使用以下Prometheus查询在Grafana面板中运行正常,但用于创建变量时抛出错误:

(vector(1) and on() (sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate)/0.04)<50)
or on() (vector(2) and on() (sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate)/0.04)<80)
or on() vector(3)

错误信息

查询结果不是有效的时间序列。变量查询必须返回字符串/数字列表,或带标签的向量。

问题原因

原查询返回的是无标签的标量向量,而Grafana变量查询要求返回带标签的向量(每个值对应可识别的标签),或者纯字符串/数字组成的列表,否则无法解析为变量选项。

修复后的查询

给每个返回值添加标签,让Grafana能识别变量选项:

label_replace(
  (vector(1) and on() (sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate)/0.04)<50)
  or on() (vector(2) and on() (sum(node_namespace_pod_container:container_cpu_usage_seconds_total:sum_irate)/0.04)<80)
  or on() vector(3),
  "cpu_level", "$1", "", "(.*)"
)

逻辑说明

  • 原查询的CPU区间判断逻辑保持不变:使用率<50%返回1,50%-80%返回2,≥80%返回3
  • 通过label_replace函数为每个返回值添加cpu_level标签,标签值即为对应返回的数字
  • 创建变量时,在Grafana变量设置中选择Label为cpu_level,即可将标签值作为变量选项

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 14:17:15