Get started with InfluxDB
InfluxDB 2.7 is the platform purpose-built to collect, store, process and visualize time series data. 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 InfluxDB 2.7, querying that data, processing and alerting on the data, and then visualizing the 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 data model organizes time series data into buckets and measurements. A bucket can contain multiple measurements. Measurements contain multiple tags and fields.
- Bucket: Named location where time series data is stored. A bucket 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 with values that differ, but do not change often. Tags are meant for storing metadata for each point–for example, something to identify the source of the data like host, location, station, etc.
- Fields: Key-value pairs with values that change over time–for example: temperature, pressure, stock price, etc.
- Timestamp: Timestamp associated with the data. When stored on disk and queried, all data is ordered by time.
- 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.
For detailed information and examples of the InfluxDB data model, see Data elements.
Important definitions
The following are important definitions 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 tag values.
Example InfluxDB query results
_time | _measurement | city | country | _field | _value |
---|---|---|---|---|---|
2022-01-01T12:00:00Z | weather | London | UK | temperature | 12.0 |
2022-02-01T12:00:00Z | weather | London | UK | temperature | 12.1 |
2022-03-01T12:00:00Z | weather | London | UK | temperature | 11.5 |
2022-04-01T12:00:00Z | weather | London | UK | temperature | 5.9 |
_time | _measurement | city | country | _field | _value |
---|---|---|---|---|---|
2022-01-01T12:00:00Z | weather | Cologne | DE | temperature | 13.2 |
2022-02-01T12:00:00Z | weather | Cologne | DE | temperature | 11.5 |
2022-03-01T12:00:00Z | weather | Cologne | DE | temperature | 10.2 |
2022-04-01T12:00:00Z | weather | Cologne | DE | temperature | 7.9 |
Tools to use
Throughout this tutorial, there are multiple tools you can use to interact with InfluxDB 2.7. Examples are provided for each of the following:
InfluxDB user interface (UI)
The InfluxDB UI provides a web-based visual interface for interacting with and managing InfluxDB. The UI is packaged with InfluxDB and runs as part of the InfluxDB service. To access the UI, with InfluxDB running, visit localhost:8086 in your browser.
influx
CLI
The influx
CLI lets you interact with and manage InfluxDB 2.7 from a command line. The CLI is packaged separately from InfluxDB and must be downloaded and installed separately. For detailed CLI installation instructions, see Use the influx CLI.
InfluxDB HTTP API
The InfluxDB API provides a simple way to interact with the InfluxDB 2.7 using HTTP(S) clients. Examples in this tutorial use cURL, but any HTTP(S) client will work.
InfluxDB client libraries
InfluxDB client libraries are language-specific clients that interact with the InfluxDB HTTP API. Examples for client libraries are not provided in this tutorial, but these can be used to perform all the actions outlined in this tutorial.
Authorization
InfluxDB 2.7 requires authentication using API tokens. Each API token is associated with a user and a specific set of permissions for InfluxDB resources.
InfluxDB Essentials
Learn how to write, query, and visualize data in InfluxDB in this free InfluxDB University course.