monit-docker

MONIT-DOCKER / v0.0.64

Notifications

Prometheus évalue les alertes ; Alertmanager les groupe et les transmet par email ou Slack.

1. Comprendre le circuit

L’agent expose les mesures, il n’envoie pas directement d’email ou de message Slack. Installez d’abord la stack monitoring. Les exemples avancés du dépôt proposent aussi Redis et des API DWho.

2. Préparer les destinations

Dans examples/monitoring, suivez le fichier de configuration Alertmanager fourni par le dépôt et remplacez ses destinataires d’exemple. Préparez les fichiers de secrets indiqués dans compose.notifications.yaml, y compris le fichier vide de la destination inutilisée. Placez-les dans le répertoire privé prévu par l’exemple, avec ses permissions ; ne les commitez pas.

Le mot de passe SMTP se lit via auth_password_file et l’URL Slack via api_url_file. Alertmanager ne remplace pas automatiquement les variables d’environnement dans son YAML. Utilisez les paramètres SMTP de votre fournisseur et une URL webhook Slack réelle uniquement dans le fichier secret.

Sur une installation neuve, préparez les deux canaux :

mkdir -m 700 notifications.local
cp alertmanager.email-slack.yml notifications.local/alertmanager.yml
touch notifications.local/smtp_password notifications.local/slack_webhook_url
chmod 644 notifications.local/*

Choisissez alertmanager.email.yml ou alertmanager.slack.yml à la place pour un seul canal. Gardez le répertoire en mode 0700 ; les fichiers 0644 restent inaccessibles aux autres utilisateurs de l’hôte grâce à ce répertoire privé.

Dans notifications.local/alertmanager.yml, renseignez to, from, smarthost et auth_username. Le SMTP doit prendre en charge STARTTLS. Avec votre éditeur, placez le mot de passe sur une ligne dans notifications.local/smtp_password et le webhook sur une ligne dans notifications.local/slack_webhook_url.

3. Valider avant envoi

GRAFANA_ADMIN_PASSWORD=validation-only docker compose \
  -f compose.yaml -f compose.notifications.yaml \
  run --rm --no-deps --entrypoint /bin/amtool alertmanager \
  check-config /etc/alertmanager/alertmanager.yml

4. Activer les envois

sh start.sh --notifications

Cette commande active de vrais envois vers les destinations configurées. Ouvrez Alertmanager sur localhost:9093 et contrôlez les journaux ainsi que les alertes Prometheus. Une condition doit durer pendant le délai for de sa règle avant de devenir une alerte déclenchée.

Le routage fourni utilise une attente initiale de 30 secondes, un intervalle de groupe de cinq minutes et une répétition toutes les quatre heures. Les résolutions sont envoyées lorsque send_resolved est activé.

5. Arrêter la stack

docker compose -f compose.yaml -f compose.notifications.yaml down