在Grafana中将InfluxQL转换为FLUX查询

问题描述

在Grafana中,我有一个仪表板,该仪表板使用InfluxDB 1.x作为数据源,我正在迁移它以使用InfluxDB 2.0数据源和Flux查询。

在Grafana仪表板中,有一个名为“服务器”的变量,该变量定义了以下查询:

SHOW TAG VALUES ON telegraf WITH KEY = "host"

我真的很努力地用Flux查询创建类似的变量。 任何想法如何做到这一点? 谢谢

解决方法

这对我有用:

from(bucket: "telegraf")
 |> range(start: -15m)
 |> group(columns: ["host"],mode:"by")
 |> keyValues(keyColumns: ["host"])

注意:如果您希望返回更多时间(例如-30d),性能将会降低,您可以通过仅加载一次此查询(在grafana变量中可用)来解决此问题,或者最好添加一些过滤器和选择器

例如:

from(bucket: "telegraf")
  |> range(start: -30d)
  |> filter(fn: (r) => r._field == "you field")
  |> filter(fn: (r) => /* more filter*/)
  |> group(columns: ["host"],mode:"by")
  |> first()
  |> keyValues(keyColumns: ["host"])
,

尝试一下:

import "influxdata/influxdb/schema"

schema.measurementTagValues(
  bucket: "my_bucket",tag: "host",measurement: "my_measurement"
)
,

我正在使用以下通量代码来提取存储桶“telegraf”的所有主机标记值 - 就像您发布的 InfluxQL:

import "influxdata/influxdb/schema"

schema.tagValues(bucket: "telegraf",tag: "host")

InfluxDB 在他们的文档中对此有一些说明: https://docs.influxdata.com/influxdb/v2.0/query-data/flux/explore-schema/#list-tag-values

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...