Migrate continuous queries to tasks

InfluxDB OSS 2.0 replaces 1.x continuous queries (CQs) with InfluxDB tasks. To migrate continuous queries to InfluxDB 2.0 tasks, do the following:

  1. Output all InfluxDB 1.x continuous queries
  2. Convert continuous queries to Flux queries
  3. Create new InfluxDB tasks

Output all InfluxDB 1.x continuous queries

To output and save all continuous queries that exist in your InfluxDB 1.x instance, do the following:

  1. Use the InfluxDB 1.x influx interactive shell to run show continuous queries:

    1. $ influx
    2. Connected to http://localhost:8086 version 1.8.3
    3. InfluxDB shell version: 1.8.3
    4. > show continuous queries
  2. Copy and save the displayed continuous queries.

Convert continuous queries to Flux queries

To migrate InfluxDB 1.x continuous queries to InfluxDB 2.0 tasks, convert the InfluxQL query syntax to Flux. The majority of continuous queries are simple downsampling queries and can be converted quickly using the aggregateWindow() function. For example:

Example continuous query
  1. CREATE CONTINUOUS QUERY "downsample-daily" ON "my-db"
  2. BEGIN
  3. SELECT mean("example-field")
  4. INTO "average-example-measurement"
  5. FROM "example-measurement"
  6. GROUP BY time(1h)
  7. END
Equivalent Flux query
  1. from(bucket: "my-db/")
  2. |> range(start: -1d)
  3. |> filter(fn: (r) => r._measurement == "example-measurement")
  4. |> filter(fn: (r) => r._field == "example-field")
  5. |> aggregateWindow(every: 1h, fn: mean)
  6. |> set(key: "_measurement", as: "average-example-measurement")
  7. |> to(
  8. org: "example-org",
  9. bucket: "my-db/downsample-daily"
  10. )

Create new InfluxDB tasks

After converting your continuous query to Flux, use the Flux query to create a new task.

Other helpful resources

The following resources are available and may be helpful when converting continuous queries to Flux tasks.

Documentation
Community