Aller au contenu

Monitoring & alerting

Stack technique : monitoring. Ici : qui surveille quoi, et par quel canal l'alerte arrive.

Trois canaux d'alerte (redondants)

1) Interne HA      : health-alerter / raid-monitor ── webhook ──▶ Home Assistant (notifs)
2) Interne e-mail  : Gatus ── SMTP mailu ──▶ e-mail (indépendant de HA)
3) Externe         : Healthchecks.io ── e-mail externe ──▶ (indépendant du NUC ET de mailu)

Détail

Source Surveille Déclencheur Canal
Prometheus + Grafana métriques (hôte, conteneurs, GPU) dashboards / règles visualisation
Loki + Promtail logs conteneurs recherche Grafana
Gatus up/down : HA, MQTT/EMQX, bases, Grafana, Jellyfin, mailu… service down e-mail via mailu
health-alerter events Docker unhealthy conteneur unhealthy webhook HA
autoheal conteneurs unhealthy unhealthy redémarre le conteneur
raid-monitor RAID md0 (/proc/mdstat) DEGRADED/MISSING/MISMATCH webhook HA
Healthchecks.io NUC (inconditionnel), HA, Z2M (si répondent) ping manqué (grâce ~5-10 min) e-mail externe

Healthchecks.io (dead-man's switch)

Conteneur healthchecks-ping (ping toutes les 120 s). Si le NUC tombe (courant/réseau/crash), le ping NUC s'arrête → Healthchecks.io alerte. HA et Z2M ne sont pingés que s'ils répondent → leur silence est détecté. URLs dans compose/monitoring/.env (HC_NUC_URL, HC_HA_URL, HC_Z2M_URL).

Pourquoi 3 canaux ?

Chaque canal couvre l'angle mort des autres : si HA tombe, l'e-mail Gatus passe ; si mailu tombe, Healthchecks passe ; si le NUC entier tombe, seul Healthchecks (externe) alerte.