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

Grafana 10中基于InfluxDB 2.7.4创建关联依赖变量的方法

在InfluxDB 2.7.4中用Flux实现Grafana级联依赖变量

按照需求,需要创建三层级联的Grafana变量:OwnerGroup → GroupManager → Service_Name,以下是每个变量对应的Flux实现代码及配置说明:

1. 顶层变量:OwnerGroup

该变量无需依赖其他变量,直接获取Owner_Group标签的所有可选值:

import "influxdata/influxdb/schema"

schema.tagValues(
    bucket: "Vbuck",
    tag: "Owner_Group"
)

配置时Grafana变量类型选「Query」,数据源指定你的InfluxDB 2.7.4实例,变量名设为OwnerGroup。

2. 中间变量:GroupManager

依赖OwnerGroup,仅显示选中Owner_Group对应的Group_Manager标签值,同时处理变量未选中(空值)时返回全量选项的情况:

import "influxdata/influxdb/schema"
import "strings"

// 引用Grafana中的OwnerGroup变量
selectedOwner = "${OwnerGroup}"

schema.tagValues(
    bucket: "Vbuck",
    tag: "Group_Manager",
    // 过滤条件:未选Owner则返回所有,否则匹配选中的Owner_Group
    predicate: (r) => if strings.length(v: selectedOwner) == 0 then true else r.Owner_Group == selectedOwner
)

Grafana变量名设为GroupManager,选择Query类型和对应数据源,勾选「Refresh」选项中的「On dashboard load」和「On variable change」,确保选中OwnerGroup后自动更新该变量的选项。

3. 底层变量:Service_Name

同时依赖OwnerGroup和GroupManager,仅显示符合两个选中条件的Service_Name标签值:

import "influxdata/influxdb/schema"
import "strings"

// 引用Grafana中的两个上级变量
selectedOwner = "${OwnerGroup}"
selectedManager = "${GroupManager}"

schema.tagValues(
    bucket: "Vbuck",
    tag: "Service_Name",
    predicate: (r) => {
        // 处理Owner未选中的情况
        ownerMatch = if strings.length(v: selectedOwner) == 0 then true else r.Owner_Group == selectedOwner
        // 处理Manager未选中的情况
        managerMatch = if strings.length(v: selectedManager) == 0 then true else r.Group_Manager == selectedManager
        // 同时满足两个条件
        return ownerMatch and managerMatch
    }
)

Grafana变量名设为Service_Name,配置同上述变量,开启随上级变量变化自动刷新。

关键说明

  • Flux中通过${变量名}引用Grafana变量,注意变量名大小写要和Grafana中定义的完全一致
  • 使用strings.length判断变量是否为空,避免未选中选项时返回空结果
  • schema.tagValues的predicate参数是在InfluxDB端直接过滤,比先获取所有标签再用|> filter更高效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 02:17:57