Kapacitor is a real-time streaming data processing engine.
Kapacitor is a native data processing engine for InfluxDB 1.x and is an integrated component in the InfluxDB 2.0 platform.Kapacitor can process both stream and batch data from InfluxDB, acting on this data in real-time via its programming language TICKscript.
This article describes collection of metrics from AWS Cloudwatch through Telegraf(a plugin-driven server agent for collecting and reporting metrics for all kinds of data), storing in InfluxDB ,analysing to detect anomalies and raise alerts and visualising using Chronograf.
Kapacitor listens on TCP port 9092 for all API and write calls.
Kapacitor has two binaries:
The quickest way to start using the InfluxB 1.x platform (TICK stack) OSS is to download and deploy the InfluxData Sandbox. The InfluxData Sandbox uses Docker containers to deploy the InfluxData Platform components. The InfluxData Sandbox provides a containerized, ready-to-use TICK stack, built using Dockerand Docker Compose, to capture data from your local machine and the Docker containers.
git clone https://github.com/influxdata/sandbox.git
cd sandbox #cd into the sandbox directory
Once started, Chronograf tab will open in your browser at localhost:8888.
Chronograf is the web-based user interface for the TICK stack and can be used to:
1. Telegraf
#on cd into sandbox directory
cd telegraf
vi telegraf.conf #Edit telegraf.cong file
Add Amazon CloudWatch Statistics Input Plugin
[[inputs.cloudwatch]]
region = “AWS_REGION”
access_key = “AWS_ACCESS_KEY”
secret_key = “AWS_SECRET_KEY”
period = “5m”
delay = “5m”
interval = “5m”
namespace = “AWS_NAMESPACE” #Ex: AWS/ELB
[[inputs.cloudwatch.metrics]]
names = [“Latency”] #list of specific metrics to collect.
2. Kapacitor
#on cd into sandbox directory
cd kapacitor
cd config
vi kapacitor.conf #Edit kapacitor.conf file
Kapacitor integrates with multiple event handlers like HipChat, OpsGenie, Alerta, Sensu, PagerDuty, Slack, and more.
To configure Slack event handler:
[slack]
enabled = true
url = “SLACK_WEBHOOK_URL”
channel = “CHANNEL_NAME”
username = “kapacitor”
icon-emoji = “”
global = false
state-changes-only = false
Once the tools have been configured, cd into root directory.The Sandbox repo includes a sandbox binary used to provision and manage the Sandbox’s containers and data.
Information Source – https://medium.com/@solve_today/getting-started-with-kapacitor-7b120fa1de78