Alertmanager gère les alertes envoyées par les applications clientes telles que Prometheus. Il se charge de les dédupliquer, de les regrouper et de les acheminer vers les intégrations telles que l'e-mail, PagerDuty, Slack ou de nombreux autres mécanismes grâce au webhook.
Via Docker :
docker run -d \
--name alertmanager \
--network monitoring \
-p 9093:9093 \
quay.io/prometheus/alertmanager
On va maintenant appliquer une configuration à prometheus :
prometheus
:❯ mkdir rules
❯ vim rules/alerts.yaml
Ajouter l'alerte suivante :
groups:
- name: default
rules:
- alert: cpu_load
expr: node_load1 >= 0.5
for: 10s
labels:
severity: critical
annotations:
summary: "{{ $labels.instance }} - load trop élevé"
description: "Trop de load (1m) sur le serveur."
prometheus.yml
:global:
scrape_interval: 15s
evaluation_interval: 15s
rule_files:
- /prometheus/rules/alerts.yml
scrape_configs:
- job_name: prometheus
static_configs:
- targets: ['localhost:9090']
- job_name: node_exporter
static_configs:
- targets: ['node-exporter:9100']
curl -X POST http://localhost:9090/-/reload
On devrait voir apparaitre notre règle dans prometheus :
Dans Grafana > Alerting :