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

kapacitord config > config.yaml

Editer le fichier config.yaml pour modifier l'adresse du serveur influxdb stockant la base de données telegraf.

Lancement

kapacitord -config config.yaml

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