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

Grafana变量如何传值关联Dashboard API 实现下拉显名传ID

Grafana变量「下拉展示可读名称、实际传参透传ID」实现方案

核心利用Grafana变量原生支持的展示值/实际传参值分离能力实现,不需要改面板业务API的参数接收逻辑,具体操作分两种场景:

  • 场景1:可修改变量对接的后端接口返回结构(优先选,维护成本最低)
    直接调整变量对接的ID列表接口,把原来纯ID数组的返回格式,改成带__text、__value字段的键值对数组:
    • __text字段存用户需要看到的MRD可读名称
    • __value字段存原来的MRD ID,也就是业务接口需要接收的mrdid参数值
      接口返回示例:
    [
      {"__text": "2024Q3支付链路重构MRD", "__value": "23982372489198"},
      {"__text": "2024Q4新用户引导迭代MRD", "__value": "23982372489245"}
    ]
    
    变量配置时正常解析该返回结果即可,面板请求业务API时,直接按原有方式引用变量,比如请求路径写/mrd-stats/?mrdid=${你配置的mrd变量名},Grafana会自动透传选中项的__value(即真实ID)给接口,下拉选项里展示的是__text对应的MRD名称,完全匹配需求。
    如果你的变量是对接数据库类数据源,直接在查询语句里给字段起对应别名即可,比如SQL查询写法:
    select mrd_name as __text, mrd_id as __value from mrd_basic_info;
    
  • 场景2:暂时无法修改变量对接的ID接口返回结构
    可以在Grafana变量配置层做数据拼接:
    1. 先保留原有拉取ID列表的查询
    2. 新增一个查询拉取全量MRD的「ID-名称」映射关系
    3. 用Grafana自带的转换(Transform)功能做字段关联,把两个查询结果按MRD ID做Join,手动把名称字段映射为__text、ID字段映射为__value,再作为变量的最终可选值列表
      这种方式不需要改后端接口,但配置步骤稍多,适合后端接口暂时没法调整的临时场景。

注意:不建议用变量的「自定义静态选项」手动维护ID和名称的映射关系,除非MRD列表总量极少且长期不更新,否则后续新增、下线MRD都需要手动改Grafana配置,维护成本极高。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 11:12:30