3.3 KiB
| title | seotitle | description | weight | aliases | menu | influxdb/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
orgororgIDURL parameters. Authorizationheader toToken+ your authentication token.Acceptheader toapplication/csv.Content-typeheader 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 >}}
