Kapacitor is a Real-Time Streaming Data Processing Engine
Kapacitor is a native data processing engine in the TICK Stack. It is build on an Open Source core, providing integrations through our Telegraf plugin to a variety of databases, services, applications for your metrics needs. Through our Chronograf interface, users can create custom logic or user-defined functions to create queries for their time based operations. Users can process alerts with dynamic thresholds, match metrics for patterns, compute statistical anomalies, and perform specific actions based on these alerts like dynamic load rebalancing.
Today’s modern applications require more than just dashboarding and operator alerts—they need the ability to trigger actions. Kapacitor’s alerting system follows a publish-subscribe design pattern. Alerts are published to
handlers subscribe to a topic. This pub/sub model and the ability for these to call User Defined Functions make Kapacitor very flexible to act as the control plane in your environment, performing tasks like auto-scaling, stock reordering, and IoT device control.
Kapacitor is designed to process streaming data in real-time. It can be deployed across the infrastructure as both a pre-processor to downsample and perform advanced analytics before shipping the data to InfluxDB, and a post-processor allowing older high-precision data to be stored in data stores like Hadoop (for example) for further analysis. Kapacitor is very easy to use and is also very powerful. It allows the scripting to be done using lambda expressions to define transformations on data points as well as define boolean conditions that act as the filter.
Kapacitor provides a simple plugin architecture, or interface, that allows it to integrate with any anomaly detection engine. This means that Kapacitor can integrate with machine learning libraries, pattern matching engines, rules engines, and the like. Kapacitor treats these plugins as User Defined Functions which allow the flexibility to yield the stream to an arbitrary function and resume processing on the output of that function. This makes Kapacitor a powerful control system, calling User Defined Functions that automate the complete system.