Aller au contenu

Alertes

Le système d’alertes livre les alertes Prometheus dans des salons Matrix (et par e-mail pour les incidents). Un provisionnement unique du bot suffit : ensuite tout est déclaratif. Le fonctionnement d’ensemble est décrit dans Monitoring & Alertes.

Pré-requisPourquoi
prometheus + monitoring sur le collecteurporte Alertmanager et les règles
Service matrix joignablehéberge le bot et les salons
Secret d’enregistrement en sops (matrix-rss-password)crée le compte bot
Clé admin sops présenteécrit les secrets du bot

Une seule commande, idempotente (rejouable sans risque) : elle crée le compte bot, les salons, et écrit l’identité dans var/generated/matrix.nix.

  1. Déclarer l’administrateur humain (partie locale) dans la configuration :

    etc/config.yaml
    network:
    matrix:
    admin: "alice"
  2. Lancer le provisionnement :

    Fenêtre de terminal
    just configure-alert-bot

    La commande, en s’appuyant sur la clé admin sops :

    • crée le compte @alertbot:domain.tld (flux nonce + HMAC sur le secret partagé) ;
    • crée ou résout les salons #alert-warnings et #alert-incidents, y fait entrer le bot et invite l’admin ;
    • écrit bot + les ID de salons dans var/generated/matrix.nix ;
    • stocke mot de passe, jeton d’accès et secret de webhook dans sops.
  3. Déployer le collecteur :

    Fenêtre de terminal
    just generate
    just apply <collecteur>

    L’alerting s’active tout seul dès que les salons existent (var/generated/matrix.nix rempli). Pour le désactiver malgré tout : darkone.service.prometheus.alerting.enable = false;.

Le provisionnement dépose trois secrets dans usr/secrets/secrets.yaml :

Clé sopsRôle
alertmanager-matrix-passwordmot de passe du compte bot (reconnexion)
alertmanager-matrix-tokenjeton d’accès du bot (envoi des messages)
alertmanager-webhook-secretauthentifie Alertmanager auprès du pont Matrix
  1. Sur un nœud supervisé, couper un service surveillé :

    Fenêtre de terminal
    sudo systemctl stop <unité>
  2. Sous une minute, un message ServiceDown (ou SystemdUnitFailed) apparaît dans #alert-warnings, #alert-incidents et un e-mail si le nœud est critique. Le lien de l’alerte pointe vers https://prometheus.<zone>.domain.tld.

  3. Relancer le service : l’alerte se résout (notification de résolution).

    Fenêtre de terminal
    sudo systemctl start <unité>

Le flux de déploiement pose un drapeau de maintenance pour ne pas déclencher de fausses alertes pendant un nixos-rebuild. Manuellement :

Fenêtre de terminal
dnf-maintenance on # inhibe les alertes du nœud
dnf-maintenance off # les réactive
SymptômeCause probableRemède
Aucun message dans un salonbot absent du salon ou jeton expirérejouer just configure-alert-bot
Création de salon en 403filtre anti-bots de Caddydéjà géré (agent neutre) ; ne pas utiliser curl brut
admin API not public/_synapse/admin fermélaisser le tunnel SSH automatique opérer (hôte Matrix joignable)
Lien d’alerte non résoluDNS ou certificat du vhost prometheus absentdéployer la passerelle / le HCS pour le nouveau sous-domaine
matrix.nix ignoré au déploiementfichier non lisible par nixle script fait un chmod 644 ; vérifier les permissions de var/generated/
Pas de mail d’incidentrelais Postfix local inactifl’alerting l’active par défaut ; vérifier darkone.service.prometheus.alerting.email