执行 Flux 查询
有多种方法可以使用InfluxDB Enterprise和Chronograf v1.8+执行Flux查询。 本指南涵盖了不同的选项:
在尝试这些方法之前,请确保通过在您的 InfluxDB 配置文件的
[http]部分中设置flux-enabled = true来启用 Flux。
Chronograf的数据探索器
Chronograf v1.8+ 支持在其数据探索器中使用 Flux。可以在 Chronograf 用户界面内构建、执行和可视化 Flux 查询。
Influx CLI
要使用 InfluxDB Enterprise 1.10+ 的 influx CLI 启动一个交互式 Flux 读评打印循环 (REPL),请运行带有以下标志的 influx 命令:
-type=flux-path-prefix=/api/v2/query
如果 启用身份验证 在您的 InfluxDB 实例上,使用 -username 标志来提供您的 InfluxDB 用户名和 -password 标志来提供您的密码。
输入交互式Flux REPL
influx -type=flux -path-prefix=/api/v2/query
influx -type=flux \
-path-prefix=/api/v2/query \
-username myuser \
-password PasSw0rd
任何 Flux 查询都可以在 REPL 中执行。
通过参数提交Flux查询
Flux 查询也可以作为参数传递给 Flux REPL,使用 influx CLI 的 -type=flux 选项和 -execute 参数。
附带的字符串作为 Flux 查询执行,结果将在您的终端中输出。
influx -type=flux \
-path-prefix=/api/v2/query \
-execute '<flux query>'
influx -type=flux \
-path-prefix=/api/v2/query \
-username myuser \
-password PasSw0rd \
-execute '<flux query>'
通过STDIN提交Flux查询
Flux 查询可以通过 STDIN 被传入 influx CLI。查询结果将输出到您的终端。
echo '<flux query>' | influx -type=flux -path-prefix=/api/v2/query
echo '<flux query>' | influx -type=flux \
-path-prefix=/api/v2/query \
-username myuser \
-password PasSw0rd
InfluxDB API
Flux 可以通过 InfluxDB 的 /api/v2/query 端点查询 InfluxDB。查询的数据以注释的 CSV 格式返回。
在您的请求中,设置以下内容:
Accept头部设置为application/csvContent-type头部设为application/vnd.flux- 如果 认证已启用 在您的 InfluxDB 实例上,
Authorization头为Token <username>:<password>
这允许您以纯文本形式发送Flux查询并接收注释过的CSV响应。
以下是一个使用 Flux 查询 InfluxDB 的示例 curl 命令:
curl -XPOST localhost:8086/api/v2/query -sS \
-H 'Accept:application/csv' \
-H 'Content-type:application/vnd.flux' \
-d 'from(bucket:"telegraf")
|> range(start:-5m)
|> filter(fn:(r) => r._measurement == "cpu")'
curl -XPOST localhost:8086/api/v2/query -sS \
-H 'Accept:application/csv' \
-H 'Content-type:application/vnd.flux' \
-H 'Authorization: Token <username>:<password>' \
-d 'from(bucket:"telegraf")
|> range(start:-5m)
|> filter(fn:(r) => r._measurement == "cpu")'