3.2 KiB
title | seotitle | description | weight | menu | v2.0/tags | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
Execute queries | Different ways to query InfluxDB | There are multiple ways to query data from InfluxDB including the InfluxDB UI, CLI, and API. | 103 |
|
|
There are multiple ways to execute queries with InfluxDB. This guide covers the different options:
Data Explorer
Queries can be built, executed, and visualized in InfluxDB UI's Data Explorer.
Influx REPL
The influx repl
command starts an interactive
read-eval-print-loop (REPL) where you can write and execute Flux queries.
influx repl --org org-name
{{% note %}}
ctrl-d
will close the REPL.
{{% /note %}}
Influx query command
You can pass queries to the influx query
command
as either a file or raw Flux via stdin.
Run a query from a file
influx query --file /path/to/query.flux
Pass raw Flux via stdin pipe
influx query - # Return to open the pipe
data = from(bucket: "example-bucket") |> range(start: -10m) # ...
# ctrl-d to close the pipe and submit the query
InfluxDB API
The InfluxDB v2 API provides a programmatic
interface for all interactions with InfluxDB.
Query InfluxDB through the /api/v2/query
endpoint.
Queried data is returned in annotated CSV format.
In your request, set the following:
- Your organization via the
org
ororgID
URL parameters. Authorization
header toToken
+ your authentication token.Accept
header toapplication/csv
.Content-type
header toapplication/vnd.flux
.- Your plain text query as the request's raw data.
InfluxDB returns the query results in annotated CSV.
{{% note %}}
Use gzip to compress the query response
To compress the query response, set the Accept-Encoding
header to gzip
.
This saves network bandwidth, but increases server-side load.
{{% /note %}}
Below is an example curl
command that queries InfluxDB:
{{< code-tabs-wrapper >}} {{% code-tabs %}} Without compression With compression {{% /code-tabs %}}
{{% code-tab-content %}}
curl http://localhost:9999/api/v2/query?org=my-org -XPOST -sS \
-H 'Authorization: Token YOURAUTHTOKEN' \
-H 'Accept: application/csv' \
-H 'Content-type: application/vnd.flux' \
-d 'from(bucket:"example-bucket")
|> range(start: -12h)
|> filter(fn: (r) => r._measurement == "example-measurement"
|> aggregateWindow(every: 1h, fn: mean)'
{{% /code-tab-content %}}
{{% code-tab-content %}}
curl http://localhost:9999/api/v2/query?org=my-org -XPOST -sS \
-H 'Authorization: Token YOURAUTHTOKEN' \
-H 'Accept: application/csv' \
-H 'Content-type: application/vnd.flux' \
-H 'Accept-Encoding: gzip' \
-d 'from(bucket:"example-bucket")
|> range(start: -12h)
|> filter(fn: (r) => r._measurement == "example-measurement"
|> aggregateWindow(every: 1h, fn: mean)'
{{% /code-tab-content %}} {{< /code-tabs-wrapper >}}