Kapacitor

From air
Jump to navigation Jump to search

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 config.yaml

Service

sudo service kapacitor start
sudo service kapacitor version
sudo service kapacitor status

Utilisation

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
# Start the task
kapacitor enable cpu_alert

Arrêter la tache 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.