Kapacitor
Kapacitor is a data processing engine. It can process both stream (subscribe realtime) and batch (bulk query) data from InfluxDB. Kapacitor lets you define custom logic to process alerts with dynamic thresholds, match metrics for patterns, compute statistical anomalies, etc.
Installation
wget https://s3.amazonaws.com/influxdb/kapacitor_0.10.0-1_amd64.deb sudo dpkg -i kapacitor_0.10.0-1_amd64.deb
Configuration
Standalone
kapacitord config > kapacitor.conf
Editer le fichier kapacitor.conf pour modifier l'adresse du serveur influxdb stockant la base de données telegraf.
Service
Editer le fichier /etc/kapacitor/kapacitor.conf pour modifier l'adresse du serveur influxdb stockant la base de données telegraf.
Lancement
Standalone
kapacitord -config ./kapacitor.conf
Service
sudo service kapacitor start sudo service kapacitor status
Utilisation
kapacitor help
record record the result of a query or a snapshot of the current stream data. define create/update a task. replay replay a recording to a task. enable enable and start running a task with live data. disable stop running a task. reload reload a running task with an updated task definition. push publish a task definition to another Kapacitor instance. Not implemented yet. delete delete a task or a recording. list list information about tasks or recordings. show display detailed information about a task. help get help for a command. level sets the logging level on the kapacitord server. version displays the Kapacitor version info.
Installer et démarrer Telegraf sur une ou plusieurs machines à monitorer
Depuis un autre terminal, Créer le fichier cpu_alert.tick
stream .from().measurement('cpu_usage_idle') .groupBy('host') .window() .period(1m) .every(1m) .mapReduce(influxql.mean('value')) .eval(lambda: 100.0 - "mean") .as('used') .alert() .message('{{ .Level}}: {{ .Name }}/{{ index .Tags "host" }} has high cpu usage: {{ index .Fields "used" }}') .warn(lambda: "used" > 70.0) .crit(lambda: "used" > 85.0)
Définir et démarrer la tache cpu_alert.tick
kapacitor define \ -name cpu_alert \ -type stream \ -dbrp telegraf.default \ -tick ./cpu_alert.tick kapacitor list tasks # Start the task kapacitor enable cpu_alert kapacitor list tasks kapacitor show cpu_alert
Recording
TODO
kapacitor help recording kapacitor list recordings kapacitor record stream -name cpu_alert -duration 1m kapacitor list recordings
Replay
TODO
kapacitor help replay kapacitor list recordings kapacitor replay -id 6f68d222-0873-44ad-9d46-7b4b03d8acee -name cpu_alert -rec-time
Arrêt d'une tâche
Arrêter la tâche cpu_alert.tick
kapacitor disable cpu_alert
Remarque: en cas d'arrêt et de redémarrage de kapacitord, les taches actives avant l'arrêt sont activées.