InfluxDB is a time series database designed to handle high write and query loads.
What is InfluxDB 1.x?
InfluxDB is the open source time series database that is part of the TICK (Telegraf, InfluxDB, Chronograf, Kapacitor) stack.
Why use InfluxDB 1.x?
InfluxDB works with InfluxQL, a SQL-like query language for interacting with data. It has been lovingly crafted to feel familiar to those coming from other SQL or SQL-like environments while also providing features specific to storing and analyzing time series data. InfluxQL supports regular expressions, arithmetic expressions, and time series-specific functions to speed up data processing.
Downsampling and data retention
InfluxDB can handle millions of data points per second. Working with that much data over a long period can lead to storage concerns. InfluxDB automatically compacts data to minimize your storage space. In addition, you can easily downsample the data; keeping high-precision raw data for a limited time and storing the lower-precision, summarized data for much longer or until the end of time. InfluxDB has two features that help to automate the downsampling and data expiration processes — Continuous Queries and Retention Policies.
The TICK Stack
Collectively, Telegraf, InfluxDB, Chronograf and Kapacitor are known as the TICK Stack.
The TICK Stack is a loosely coupled yet tightly integrated set of open source projects designed to handle massive amounts of time-stamped information to support your metrics analysis needs.
Components of the TICK Stack
Telegraf is a plugin-driven server agent for collecting and reporting metrics. Telegraf plugins source a variety of metrics directly from the systems it runs on, pulling metrics from third-party APIs or even to listen for metrics via a StatsD and Kafka consumer service. It also has output plugins to send metrics to a variety of other datastores, services, and message queues, including InfluxDB, Graphite, OpenTSDB, Datadog, Librato, Kafka, MQTT, NSQ and many others.
InfluxDB is a time series database built from the ground up to handle high write and query loads. InfluxDB is a custom high-performance datastore written specifically for time-stamped data, and especially helpful for use cases such as DevOps monitoring, IoT monitoring, and real-time analytics. Conserve space on your machine by configuring InfluxDB to keep data for a defined period of time, and to automatically expire and delete unwanted data from the system. InfluxDB also offers a SQL-like query language for interacting with data.
Chronograf is the administrative user interface and visualization engine of the stack. It makes it easy to setup and maintain the monitoring and alerting for your infrastructure. It’s simple to use and includes templates and libraries that allow you to rapidly build dashboards with real-time visualizations of your data and to easily create alerting and automation rules.
Kapacitor is a native data processing engine. It can process both stream and batch data from InfluxDB. Kapacitor lets you plug in your own custom logic or user-defined functions to process alerts with dynamic thresholds, match metrics for patterns, compute statistical anomalies, and perform specific actions based on these alerts, like dynamic load rebalancing. Kapacitor integrates with HipChat, OpsGenie, Alerta, Sensu, PagerDuty, Slack and more.
Community Highlight: How Supralog Built an Online Incremental Machine Learning Pipeline with InfluxDB OSS for Capacity Planning
GETTING STARTED WITH INFLUXDB
This training will show you how to setup Telegraf to pull metrics into InfluxDB and will give a brief overview of how to use InfluxQL to query the data. After this training, you should be well on your way to using InfluxDB.
Available as InfluxDB open source, InfluxDB Cloud & InfluxDB Enterprise