monitoring: Alerting vorbereitet - Alertmanager, 6 Alert-Regeln, Matrix-Receiver (gitops#32)
Regeln decken die real erlebten Fehlerklassen ab: TargetDown (coturn-Klasse), KubePodRestartLoop (36k-Restarts-Klasse), OOM-Kills, RAM-/Swap-/Disk-Druck. Zustellung in den wartung-Raum ueber einen minimalen Stdlib-Webhook-Receiver (gleiche Machart wie maintenance-notify, gitops Issue #24); Bot-Token kommt beim Deploy per .env (Vorlage in .env.example). UNGETESTET/DEPLOY-PENDING: promtool/amtool-Lint auf dem Mac an haengendem Docker-Hub-Pull gescheitert - vor dem Deploy auf CFGMON ausfuehren (Images liegen dort bereits): docker run --rm -v $PWD/monitoring/prometheus:/cfg:ro --entrypoint promtool prom/prometheus:v3.3.1 check rules /cfg/alerts.yml docker run --rm -v $PWD/monitoring/alertmanager:/cfg:ro --entrypoint amtool prom/alertmanager:v0.28.1 check-config /cfg/alertmanager.yml Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
b067c93677
commit
9594ec80ec
@@ -5,6 +5,7 @@ services:
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro
|
||||
- ./prometheus/alerts.yml:/etc/prometheus/alerts.yml:ro
|
||||
- prometheus_data:/prometheus
|
||||
command:
|
||||
- '--config.file=/etc/prometheus/prometheus.yml'
|
||||
@@ -20,6 +21,36 @@ services:
|
||||
networks:
|
||||
- traefik
|
||||
|
||||
alertmanager:
|
||||
image: prom/alertmanager:v0.28.1
|
||||
container_name: alertmanager
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./alertmanager/alertmanager.yml:/etc/alertmanager/alertmanager.yml:ro
|
||||
- alertmanager_data:/alertmanager
|
||||
command:
|
||||
- '--config.file=/etc/alertmanager/alertmanager.yml'
|
||||
- '--storage.path=/alertmanager'
|
||||
# bewusst kein oeffentlicher Port - nur Prometheus/Receiver im traefik-Netz
|
||||
networks:
|
||||
- traefik
|
||||
|
||||
# Alertmanager-Webhook -> Matrix (wartung-Raum), gleiche Machart wie
|
||||
# maintenance-notify (gitops Issue #24). Secrets kommen aus .env.
|
||||
matrix-alerts:
|
||||
image: python:3.13-slim
|
||||
container_name: matrix-alerts
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- MATRIX_HOMESERVER=${MATRIX_ALERT_HOMESERVER}
|
||||
- MATRIX_ROOM_ID=${MATRIX_ALERT_ROOM_ID}
|
||||
- MATRIX_TOKEN=${MATRIX_ALERT_TOKEN}
|
||||
volumes:
|
||||
- ./alertmanager/matrix-alerts.py:/app/matrix-alerts.py:ro
|
||||
command: python3 /app/matrix-alerts.py
|
||||
networks:
|
||||
- traefik
|
||||
|
||||
loki:
|
||||
image: grafana/loki:3.7.1
|
||||
container_name: loki
|
||||
@@ -105,6 +136,7 @@ services:
|
||||
|
||||
volumes:
|
||||
prometheus_data:
|
||||
alertmanager_data:
|
||||
grafana_data:
|
||||
loki_data:
|
||||
alloy_data:
|
||||
|
||||
Reference in New Issue
Block a user