Health Monitoring
Definiere Health-Probes für deine Dienste und werde benachrichtigt, wenn etwas ausfällt.
Probe-Typen
| Typ | Zielformat | Was geprüft wird |
|---|---|---|
http | URL | HTTP-Statuscode, Antwortinhalt, Latenz |
port | host:port | TCP-Konnektivität |
command | Shell-Befehl | Exit-Code stimmt mit erwartetem überein (Standard: 0) |
file | Dateipfad | Datei existiert und ist nicht älter als max_age_secs |
Konfiguration
config.toml
[health]
enabled = true
tick_interval_secs = 30
result_retention_days = 7
[[health.probes]]
name = "API Server"
probe_type = "http"
target = "https://api.example.com/health"
schedule = "every 5m"
consecutive_failures_alert = 3
latency_threshold_ms = 2000
alert_session_ids = ["123456789"]
[[health.probes]]
name = "Database"
probe_type = "port"
target = "localhost:5432"
schedule = "every 1m"HTTP-Probe-Optionen
| Key | Type | Default | Description |
|---|---|---|---|
timeout_secs | integer | 10 | Anfrage-Timeout in Sekunden |
expected_status | integer | 200 | Erwarteter HTTP-Statuscode |
expected_body | string | null | Erwarteter Teilstring im Antwortinhalt |
method | string | "GET" | HTTP-Methode |
headers | object | {} | Benutzerdefinierte HTTP-Header |
Alarmierung
Wenn ein Probe consecutive_failures_alert Mal hintereinander fehlschlägt, wird ein Alarm an alle Session-IDs in alert_session_ids gesendet.
Hintergrundaufgaben
- Tick-Schleife — läuft alle
tick_interval_secs(Standard 30), führt fällige Probes aus - Bereinigung — läuft um 3:40 Uhr UTC, entfernt alte Ergebnisse
Dynamische Probes
Probes können auch zur Laufzeit vom Agent über das
health_probe-Tool erstellt werden.