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

如何在Grafana中通过查询结果设置面板标题与显示名称

解决Grafana Gauge面板动态命名问题

一、动态设置面板标题

有两种实用方案:

  • 方案1:查询变量+变量引用
    1. 进入仪表盘设置→Variables→Add variable,类型选Query,关联你的SQL数据源,输入查询语句获取动态名称(比如SELECT DISTINCT display_name FROM your_metrics_table),给变量起个名字比如metric_name。
    2. 在面板标题输入框直接写${metric_name} 统计指标,切换变量值时标题会同步更新。
  • 方案2:单面板绑定单条结果
    如果你的Gauge对应单条SQL结果(比如SELECT '教学楼A' as name, 92 as occupancy FROM room_stats WHERE id=1),可以用隐藏变量实现:
    1. 创建Query类型变量,查询语句写SELECT name FROM room_stats WHERE id=1,Hide选项选Variable把变量隐藏。
    2. 面板标题直接引用这个隐藏变量即可。

二、动态设置数值下方的名称(Gauge字段显示名)

核心是让显示名来自SQL查询结果,两种思路:

  • 方案1:SQL直接定义动态字段别名
    把要显示的名称作为数值列的别名,或者单独查出来:
    -- 从数据库取名称作为字段别名
    SELECT metric_value AS (SELECT display_name FROM metrics WHERE id=1) FROM your_table
    -- 或者返回名称列+数值列
    SELECT display_name as metric_label, metric_value FROM your_table WHERE ...
    
    然后在Gauge的Field Overrides里,选中数值字段,设置“Display name”为${__data.fields['metric_label'].values[0]}(单条结果场景)。
  • 方案2:用Transform重命名字段
    1. 在面板Query标签页下添加Transform→Extract fields,把查询返回的名称列提取出来。
    2. 进入Field Overrides,选中数值字段,设置“Display name”为${__data.fields['name'].values[0]}(这里name是你查询里的名称列名)。

三、为什么$__cell_N没用?

$__cell_N是Table面板专属变量,用来引用表格单元格内容,Gauge这类单值可视化面板不支持这个变量,所以得换上面的方法。

额外提示

如果要批量创建多个Gauge面板(每个对应不同指标),可以用模板变量+重复面板:设置一个遍历所有指标名称的变量,给面板开启“Repeat for each value of variable”,每个面板的标题和字段名会自动匹配变量值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 10:02:15