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

Grafana中如何让sql_datasource与sql_datasource_auto值同步?

解决Grafana变量sql_datasource与sql_datasource_auto同步的方法

由于sql_datasource是数据源类型变量,Grafana原生不支持直接和其他非数据源变量绑定,但可以通过以下几种方式实现需求:

方法1:直接修改sql_datasource的查询逻辑(推荐)

既然sql_datasource的格式固定为{instance}_{mssql_instance},可以直接让它动态匹配前两个变量的组合值,无需单独维护sql_datasource_auto:

  1. 编辑sql_datasource变量,保持类型为Data source
  2. 在Filter by name输入框中填入变量表达式:
    ${instance}_${mssql_instance}
    
  3. 开启Auto refresh,触发条件设置为instance或mssql_instance变化时刷新
  4. 完成后,选择instance和mssql_instance时,sql_datasource会自动过滤并选中匹配格式的数据源

方法2:用JavaScript变量强制同步

如果必须保留sql_datasource_auto变量,可通过JavaScript类型变量实现联动:

  1. 删除原sql_datasource变量,新建一个JavaScript类型变量,命名仍为sql_datasource
  2. 在Script输入框中写入逻辑,直接返回sql_datasource_auto的当前值:
    return [vars.sql_datasource_auto];
    
  3. 开启Auto refresh,触发条件设置为instance、mssql_instance或sql_datasource_auto变化时刷新
  4. 注意:必须保证sql_datasource_auto生成的值是Grafana中已存在的SQL数据源名称,否则会出现无效选择

方法3:利用变量顺序与默认值自动选中

通过调整变量刷新顺序,让sql_datasource自动继承sql_datasource_auto的值:

  1. 调整变量顺序为:instance → mssql_instance → sql_datasource_auto → sql_datasource
  2. 编辑sql_datasource变量,在Default value中填入:
    ${sql_datasource_auto}
    
  3. 开启sql_datasource的Auto refresh,触发条件设为sql_datasource_auto变化时刷新
  4. 每次sql_datasource_auto更新后,sql_datasource会自动选中匹配的数据源选项(前提是该选项存在)

注意事项

  • 所有方案都要求instance和mssql_instance的组合值,必须对应Grafana中已存在的SQL数据源名称,否则会出现无匹配项的问题
  • 方法1无需额外维护变量,逻辑最简洁,优先推荐使用

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 04:37:14