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

在Grafana 10中基于InfluxDB 2.7的字段创建变量

从InfluxDB字段创建Grafana变量的正确Flux查询

场景1:获取指定measurement的所有字段名

如果需要提取VMwareRawData14这个measurement下的所有字段名称作为Grafana变量,使用官方提供的schema.fieldValues函数最直接高效,无需遍历时间范围数据:

import "influxdata/influxdb/schema"

schema.fieldValues(
  bucket: "Vbuck",
  measurement: "VMwareRawData14"
)

这个函数和你用来提取标签值的schema.tagValues用法一致,专门用于字段名提取。

场景2:获取特定字段的所有唯一值

如果需要提取VMwareRawData14中Policy_Type字段的所有不同值作为变量,修正后的查询如下:

from(bucket: "Vbuck")
  |> range(start: -30d)
  |> filter(fn: (r) => r["_measurement"] == "VMwareRawData14")
  |> filter(fn: (r) => r["_field"] == "Policy_Type") // 过滤出目标字段
  |> distinct(column: "_value") // 提取字段的唯一值(字段值存在于_value列)
  |> keep(columns: ["_value"])
  |> rename(columns: {_value: "Policy_Type"}) // 可选:将列名重命名为直观名称

原查询失效的原因:

  1. 未过滤目标字段_field,导致查询包含该measurement下所有字段的数据,逻辑混乱
  2. InfluxDB中字段值实际存储在_value列,而非直接以字段名作为列名,原查询针对错误的列执行distinct
  3. 多余的group操作无意义,可直接省略

内容的提问来源于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:48