Documentation

Get started with InfluxDB Clustered

Limited availability

InfluxDB Clustered is currently only available to a limited group of InfluxData customers. If interested in being part of the limited access group, please contact the InfluxData Sales team.

InfluxDB Clustered is a highly available InfluxDB cluster hosted and managed on your own infrastructure and is the platform purpose-built to collect, store, and query time series data. It is powered by the InfluxDB 3.0 storage engine which provides a number of benefits including nearly unlimited series cardinality, improved query performance, and interoperability with widely used data processing tools and platforms.

Time series data is a sequence of data points indexed in time order. Data points typically consist of successive measurements made from the same source and are used to track changes over time. Examples of time series data include:

  • Industrial sensor data
  • Server performance metrics
  • Heartbeats per minute
  • Electrical activity in the brain
  • Rainfall measurements
  • Stock prices

This multi-part tutorial walks you through writing time series data to your InfluxDB cluster, querying, and then visualizing that data.

Key concepts before you get started

Before you get started using InfluxDB, it’s important to understand how time series data is organized and stored in InfluxDB and some key definitions that are used throughout this documentation.

Data organization

The InfluxDB Clustered data model organizes time series data into databases and measurements.

A database can contain multiple measurements. Measurements contain multiple tags and fields.

  • Database: Named location where time series data is stored. A database can contain multiple measurements.
    • Measurement: Logical grouping for time series data. All points in a given measurement should have the same tags. A measurement contains multiple tags and fields.
      • Tags: Key-value pairs that provide metadata for each point–for example, something to identify the source or context of the data like host, location, station, etc. Tag values may be null.
      • Fields: Key-value pairs with values that change over time–for example, temperature, pressure, stock price, etc. Field values may be null, but at least one field value is not null on any given row.
      • Timestamp: Timestamp associated with the data. When stored on disk and queried, all data is ordered by time. A timestamp is never null.

Schema on write

When using InfluxDB, you define your schema as you write your data. You don’t need to create measurements (equivalent to a relational table) or explicitly define the schema of the measurement. Measurement schemas are defined by the schema of data as it is written to the measurement.

Important definitions

The following definitions are important to understand when using InfluxDB:

  • Point: Single data record identified by its measurement, tag keys, tag values, field key, and timestamp.
  • Series: A group of points with the same measurement, tag keys and values, and field key.
  • Primary key: Columns used to uniquely identify each row in a table. Rows are uniquely identified by their timestamp and tag set. A row’s primary key tag set does not include tags with null values.
Example InfluxDB query results

name: weather

time city country temperature humidity
2022-01-01T12:00:00Z London UK 12.0 88.4
2022-01-01T12:00:00Z Cologne DE 13.2 88.5
2022-02-01T12:00:00Z London UK 12.1 94.0
2022-02-01T12:00:00Z Cologne DE 11.5 87.8
2022-03-01T12:00:00Z London UK 11.5 82.1
2022-03-01T12:00:00Z Cologne DE 10.2 76.4
2022-04-01T12:00:00Z London UK 5.9 87.6
2022-04-01T12:00:00Z Cologne DE 7.9 93.3

Tools to use

The following table compares tools that you can use to interact with InfluxDB Clustered. This tutorial covers many of the recommended tools.

Tool Administration Write Query
Chronograf - -
influx CLI - - -
influxctl CLI*
influx3 data CLI* -
InfluxDB HTTP API* -
InfluxDB user interface - - -
InfluxDB v3 client libraries* -
InfluxDB v2 client libraries - -
InfluxDB v1 client libraries -
Telegraf* - -
Third-party tools
Flight SQL clients - -
Grafana - -
Superset - -
Tableau - -
* Covered in this tutorial

Avoid using the influx CLI with InfluxDB Clustered. While it may coincidentally work, it isn’t supported.

influxctl admin CLI

The influxctl command line interface (CLI) writes, queries, and performs administrative tasks, such as managing databases and authorization tokens in a cluster.

influx3 data CLI

The influx3 data CLI is a community-maintained tool that lets you write and query data in InfluxDB Clustered from a command line. It uses the HTTP API to write data and uses Flight gRPC to query data.

InfluxDB HTTP API

The InfluxDB HTTP API provides a simple way to let you manage InfluxDB Clustered and write and query data using HTTP(S) clients. Examples in this tutorial use cURL, but any HTTP(S) client will work.

The /write and /query v1-compatible endpoints work with the username/password authentication schemes and existing InfluxDB 1.x tools and code. The /api/v2/write v2-compatible endpoint works with existing InfluxDB 2.x tools and code.

InfluxDB client libraries

InfluxDB client libraries are community-maintained, language-specific clients that interact with InfluxDB APIs.

InfluxDB v3 client libraries are the recommended client libraries for writing and querying data InfluxDB Clustered. They use the HTTP API to write data and use Flight gRPC to query data.

InfluxDB v2 client libraries can use /api/v2 HTTP endpoints to manage resources such as buckets and API tokens, and write data in InfluxDB Clustered.

InfluxDB v1 client libraries can write data to InfluxDB Clustered.

Authorization

InfluxDB Clustered requires authentication using tokens.

There are two types of tokens:

  • Database token: A token that grants read and write access to InfluxDB databases.

  • Management token: A short-lived (1 hour) Auth0 token used to administer your InfluxDB cluster. These are generated by the influxctl CLI and do not require any direct management. Management tokens authorize a user to perform tasks related to:

    • Account management
    • Database management
    • Database token management
    • Pricing

Was this page helpful?

Thank you for your feedback!


The future of Flux

Flux is going into maintenance mode. You can continue using it as you currently are without any changes to your code.

Flux is going into maintenance mode and will not be supported in InfluxDB 3.0. This was a decision based on the broad demand for SQL and the continued growth and adoption of InfluxQL. We are continuing to support Flux for users in 1.x and 2.x so you can continue using it with no changes to your code. If you are interested in transitioning to InfluxDB 3.0 and want to future-proof your code, we suggest using InfluxQL.

For information about the future of Flux, see the following: