Alerting¶
Dreifaches Alerting-System: Prometheus-Alerts via ntfy, externe Überwachung via Uptime Kuma, Heartbeat via Healthchecks. Container-Update-Benachrichtigungen via MqDockerUp.
Alertmanager¶
GitHub · prom/alertmanager:v0.31.1
| URL | https://alertmanager.home.robinwerner.net |
| Speicher | /mnt/ssd/container-data/monitoring-stack/alertmanager (<100 MB) |
| User | nobody:nobody |
ntfy-alertmanager Adapter¶
Codeberg · xenrox/ntfy-alertmanager:v1.0.0
Formatiert Alertmanager-Webhooks zu ntfy-Benachrichtigungen mit Titel, Priority und Tags (statt rohem JSON).
| Netzwerk | monitoring (nur intern erreichbar) |
| Config | secrets/ntfy-alertmanager.scfg (enthält ntfy-Credentials) |
| Healthcheck | http://localhost:8080/health |
Nachrichtenfluss¶
Label-Mapping¶
| Severity | ntfy Priority | Tags | ntfy Topic |
|---|---|---|---|
| critical | 5 (urgent) | rotating_light |
homelab-critical |
| warning | 3 (default) | warning |
homelab-alerts |
| resolved | 1 (min) | white_check_mark |
(wie Original) |
Resolved-Alerts aktualisieren die bestehende Benachrichtigung (update-notification: true).
Routing¶
| Severity | Repeat-Interval |
|---|---|
| critical | 1 Stunde |
| warning | 4 Stunden |
Alert-Rules¶
Critical (Push sofort)¶
| Alert | Bedingung | For |
|---|---|---|
| DiskAlmostFull | Filesystem < 10% frei | 5m |
| ContainerDown | Wichtige Container absent | 5m |
| NfsMountLost | NFS-Mountpoint nicht verfügbar | 2m |
Überwachte NFS-Mounts: /mnt/unas (Media), /mnt/paperless (Dokumente), /mnt/monitoring (Langzeit-Metriken).
Wichtige Container (Critical bei Ausfall): traefik, homeassistant, grafana, prometheus, pihole.
Warning (Dashboard + Push nach 4h)¶
| Alert | Bedingung | For |
|---|---|---|
| HighCPU | CPU > 80% | 10m |
| HighMemory | RAM > 85% | 10m |
| DiskSpaceLow | Filesystem < 20% frei | 10m |
| ContainerRestarting | Restart-Count > 3 in 15m | 15m |
Konfigurationsdateien¶
| Datei | Inhalt |
|---|---|
configs/prometheus/rules/node-alerts.yml |
DiskAlmostFull, DiskSpaceLow, HighCPU, HighMemory, NfsMountLost |
configs/prometheus/rules/container-alerts.yml |
ContainerDown, ContainerRestarting |
configs/alertmanager/alertmanager.yml |
Routing zu ntfy-alertmanager |
secrets/ntfy-alertmanager.scfg |
ntfy-alertmanager Config (Label-Mapping, ntfy-Auth) |
Dreifaches Alerting¶
Pfad 1: Prometheus -> Alertmanager -> ntfy-alertmanager -> ntfy -> Handy
Pfad 2: Uptime Kuma (Hetzner) -> ntfy -> Handy (bei NUC-Ausfall)
Pfad 3: NUC Heartbeat-Cronjob -> Healthchecks (Hetzner) -> ntfy -> Handy
- Pfad 1 erkennt Service-Probleme auf dem NUC
- Pfad 2 erkennt einen kompletten NUC-Ausfall (extern überwacht)
- Pfad 3 erkennt Netzwerk- oder Cronjob-Probleme (Dead-Man's-Switch)
MqDockerUp¶
GitHub · micrib/mqdockerup:v1.23.7
Container-Update-Benachrichtigungen via MQTT an Home Assistant.
| Netzwerk | proxy_network (Zugriff auf Mosquitto) |
| Speicher | /mnt/ssd/container-data/monitoring-stack/mqdockerup (SQLite) |
| Docker-Socket | Read-Only gemountet |
Konfiguration¶
| Parameter | Wert |
|---|---|
| Container-Check | alle 5 Minuten |
| Update-Check | stündlich |
| MQTT-Discovery | homeassistant (Auto-Discovery für HA) |
| GitHub Token | Fine-grained PAT für GHCR-Image-Checks (optional) |