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

Grafana模板变量配置问题:如何动态切换Notebook标签键值?

解决Grafana联动变量无法显示Notebook标签键值的问题

问题分析

你的变量定义存在核心错误,导致下拉菜单无数据:

  • label_key变量使用label_values(kube_pod_labels, __name__)会返回指标名(即kube_pod_labels),而非实际的标签键
  • 若kube_pod_labels是kube-state-metrics生成的拆分型指标(每条序列对应一个Pod标签,带label_key和label_value标签),需调整变量查询逻辑

解决步骤

1. 修正label_key变量

  • 变量类型:Query
  • 数据源:Prometheus
  • 查询语句:
    label_values(kube_pod_labels, label_key)
    
  • 可选设置:若需过滤系统标签,可添加过滤条件:
    label_values(kube_pod_labels{label_key=~"notebook.*|team.*"}, label_key)
    

2. 修正label_value变量

  • 变量类型:Query
  • 数据源:Prometheus
  • 查询语句:
    label_values(kube_pod_labels{label_key="$label_key"}, label_value)
    
  • 关键设置:在变量的「Refresh」选项中选择On variable change,确保切换label_key时label_value自动更新

3. 调整原始GPU显存查询

将固定的label_notebook_name="gen-ai-solutions"替换为变量联动逻辑:

sum(DCGM_FI_DEV_FB_TOTAL) by (exported_pod) 
* on (exported_pod) group_left() 
label_replace(
  kube_pod_labels{label_key="$label_key", label_value="$label_value"},
  "exported_pod", "$1", 
  "pod", ".*")

备选方案(针对传统kube_pod_labels结构)

若你的kube_pod_labels是将Pod标签直接作为指标标签(如label_notebook_name、label_team),需调整变量逻辑:

修正label_key变量

  • 查询语句:
    label_names(kube_pod_labels)
    
  • Regex过滤:在变量设置的「Regex」栏填写/^label_(.*)$/,提取标签键的核心名称(如从label_notebook_name得到notebook_name)

修正label_value变量

  • 查询语句:
    label_values(kube_pod_labels, ${label_key})
    
  • 若Grafana 7.5.8不支持直接引用变量作为标签名,改用query_result:
    query_result(kube_pod_labels{${label_key}!=""})
    
  • Regex提取:在「Regex」栏填写/.*${label_key}="(.*)".*/,提取标签值

验证步骤

  1. 打开Prometheus表达式浏览器,测试label_values(kube_pod_labels, label_key)是否返回预期的标签键
  2. 在Grafana变量设置中点击「Preview values」,确认下拉选项正常显示
  3. 切换变量值,检查GPU显存面板是否正确过滤结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 02:21:00