Monitoramento de Saúde
Defina sondas de saúde para seus serviços e receba alertas quando algo falhar.
Tipos de Sonda
| Tipo | Formato do Alvo | O Que Verifica |
|---|---|---|
http | URL | Código de status HTTP, corpo da resposta, latência |
port | host:port | Conectividade TCP |
command | Comando shell | Código de saída corresponde ao esperado (padrão: 0) |
file | Caminho do arquivo | Arquivo existe e não é mais antigo que max_age_secs |
Configuração
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"Opções de Sonda HTTP
| Key | Type | Default | Description |
|---|---|---|---|
timeout_secs | integer | 10 | Timeout da requisição em segundos |
expected_status | integer | 200 | Código de status HTTP esperado |
expected_body | string | null | Substring esperada no corpo da resposta |
method | string | "GET" | Método HTTP |
headers | object | {} | Cabeçalhos HTTP personalizados |
Alertas
Quando uma sonda falha consecutive_failures_alert vezes consecutivas, um alerta é enviado para todos os IDs de sessão em alert_session_ids.
Tarefas em Segundo Plano
- Loop de tick — roda a cada
tick_interval_secs(padrão 30), executa sondas pendentes - Limpeza — roda às 3:40 AM UTC, remove resultados antigos
Sondas Dinâmicas
Sondas também podem ser criadas em tempo de execução pelo agente via a ferramenta
health_probe.