docs-v2/content/v2.0/query-data/execute-queries.md

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
v2_0
name parent
Execute queries Query data
query

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.

Data Explorer with Flux

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 or orgID URL parameters.
  • Authorization header to Token + your authentication token.
  • Accept header to application/csv.
  • Content-type header to application/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 >}}