Kapacitor

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.

What Exactly is a Time Series Database?

Time Series Databases typically need to solve two problems: high write throughput and high query rates. Let’s go into more depth on these points.

Write throughput : The amount of time series generated by, say, monitoring a fleet of servers can quickly grow from thousands of new values per second to millions of new values per second. Inserting that amount of data into a regular relational database, like MySQL and PostgreSQL, quickly knocks over most systems without careful tuning. Even then, there are limits to the amount of data a system can accept at any one time.

: The amount of time series generated by, say, monitoring a fleet of servers can quickly grow from thousands of new values per second to millions of new values per second. Inserting that amount of data into a regular relational database, like MySQL and PostgreSQL, quickly knocks over most systems without careful tuning. Even then, there are limits to the amount of data a system can accept at any one time. Query throughput: One aspect of time series data is that new data is almost always more valuable than the old data. Again, think of a fleet of servers. Knowing that one server has started to use up all its CPU is much more useful than looking at the evidence even minutes after the CPU spiked. The real-time nature of time series makes it necessary to expose new data in queries as fast as possible. Additionally, not every point matters in a time series. Like the bitcoin chart above, most time series data is summarized into intermediate values because trends provide more information than individual data points.

Because a Time Series Database specializes in processing timestamped data, there are many optimizations available to address the two fundamental issues above along with a few others.

Compression : Since all time series consist of timestamped data, a significant amount of compression is possible.

: Since all time series consist of timestamped data, a significant amount of compression is possible. Query functions: Speed is not the only important thing in queries.