Surveillance de Santé
Définissez des sondes de santé pour vos services et soyez alerté lorsque quelque chose tombe en panne.
Types de Sondes
| Type | Format de la Cible | Ce Qui Est Vérifié |
|---|---|---|
http | URL | Code de statut HTTP, corps de la réponse, latence |
port | host:port | Connectivité TCP |
command | Commande shell | Le code de sortie correspond à l'attendu (par défaut : 0) |
file | Chemin de fichier | Le fichier existe et n'est pas plus ancien que max_age_secs |
Configuration
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"Options de Sonde HTTP
| Key | Type | Default | Description |
|---|---|---|---|
timeout_secs | integer | 10 | Délai d'expiration de la requête en secondes |
expected_status | integer | 200 | Code de statut HTTP attendu |
expected_body | string | null | Sous-chaîne attendue dans le corps de la réponse |
method | string | "GET" | Méthode HTTP |
headers | object | {} | En-têtes HTTP personnalisés |
Alertes
Lorsqu'une sonde échoue consecutive_failures_alert fois consécutivement, une alerte est envoyée à tous les ID de session dans alert_session_ids.
Tâches en Arrière-plan
- Boucle de tick — s'exécute toutes les
tick_interval_secs(par défaut 30), exécute les sondes dues - Nettoyage — s'exécute à 3h40 UTC, supprime les anciens résultats
Sondes Dynamiques
Les sondes peuvent aussi être créées au moment de l'exécution par l'agent via l'outil
health_probe.