Execute Flux queries
This page documents an earlier version of InfluxDB OSS. InfluxDB OSS v2 is the latest stable version. See the equivalent InfluxDB v2 documentation: Execute queries.
There are multiple ways to execute Flux queries with InfluxDB and Chronograf v1.8+. This guide covers the different options:
Before attempting these methods, make sure Flux is enabled by setting
flux-enabled = true
in the[http]
section of your InfluxDB configuration file.
Chronograf’s Data Explorer
Chronograf v1.8+ supports Flux in its Data Explorer. Flux queries can be built, executed, and visualized from within the Chronograf user interface.
Influx CLI
To start an interactive Flux read-eval-print-loop (REPL) with the InfluxDB 1.8+
influx
CLI, run the influx
command with the following flags:
-type=flux
-path-prefix=/api/v2/query
If authentication is enabled
on your InfluxDB instance, use the -username
flag to provide your InfluxDB username and
the -password
flag to provide your password.
Enter an interactive Flux REPL
influx -type=flux -path-prefix=/api/v2/query
influx -type=flux \
-path-prefix=/api/v2/query \
-username myuser \
-password PasSw0rd
Any Flux query can be executed within the REPL.
Submit a Flux query via parameter
Flux queries can also be passed to the Flux REPL as a parameter using the influx
CLI’s -type=flux
option and the -execute
parameter.
The accompanying string is executed as a Flux query and results are output in your terminal.
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>'
Submit a Flux query via via STDIN
Flux queries an be piped into the influx
CLI via STDIN.
Query results are otuput in your terminal.
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 can be used to query InfluxDB through InfluxDB’s /api/v2/query
endpoint.
Queried data is returned in annotated CSV format.
In your request, set the following:
Accept
header toapplication/csv
Content-type
header toapplication/vnd.flux
- If authentication is enabled
on your InfluxDB instance,
Authorization
header toToken <username>:<password>
This allows you to POST the Flux query in plain text and receive the annotated CSV response.
Below is an example curl
command that queries InfluxDB using Flux:
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")'
Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for InfluxDB and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.