Alertas e monitoramento
O Salvo avisa quando algo precisa de atenção, por três canais: e-mail, webhook e Zabbix. Os três seguem as mesmas regras da tela de Alertas do painel.
Quando o Salvo avisa
| Nível | Situação |
|---|---|
| erro | um job terminou com item sem backup novo |
| erro | uma conta coberta por um job está sem backup novo além do limite |
| erro | um destino com menos de 5% livre |
| erro | um job com agenda que não rodou no horário |
| aviso | um destino com menos de 10% livre, ou enchendo em menos de 7 dias |
| aviso | uma execução interrompida |
Um problema é avisado quando começa, quando se resolve e uma vez por dia enquanto continua, numa mensagem só.
E-mail
/var/lib/salvo/salvo alert-channel --type email --to ops@example.com --levels erro,aviso
Sem --smtp, a mensagem sai pelo servidor de e-mail do próprio servidor (sendmail). Com um servidor SMTP:
/var/lib/salvo/salvo alert-channel --type email --to ops@example.com \
--smtp smtp.example.com:587 --user alerts@example.com --password-from /root/senha-smtp
A senha vem de um arquivo, nunca de um argumento (argumentos aparecem no ps).
Webhook
/var/lib/salvo/salvo alert-channel --type webhook --url https://hooks.example.com/salvo --secret-from /root/segredo-webhook --levels erro
O Salvo envia um POST com JSON. Com um segredo, a requisição leva a assinatura no cabeçalho
X-Salvo-Assinatura: sha256=<HMAC> (HMAC-SHA256 do corpo), para quem recebe conferir que veio do Salvo.
Zabbix
O Salvo mantém o <estado>/zabbix.json atualizado (permissão 0644, sem segredos). O agente do Zabbix lê com um
UserParameter:
UserParameter=salvo.estado,cat /ESTADO/zabbix.json
| Campo | O que é |
|---|---|
atualizado, atualizado_unix | quando o arquivo foi gravado; alerte se parar de mudar (executor parado) |
problemas, erros, avisos | problemas atuais, por nível |
contas_sem_backup | contas sem backup recente |
jobs_com_falha | jobs com falha |
jobs_atrasados | jobs que não rodaram no horário |
destinos_com_pouco_espaco | destinos com pouco espaço |
titulos | os títulos dos problemas, separados por ; |
Testar e conferir
/var/lib/salvo/salvo alert-channel --list # os canais
/var/lib/salvo/salvo alert-test # envia uma mensagem de teste para cada canal
/var/lib/salvo/salvo alerts # os problemas de agora
/var/lib/salvo/salvo zabbix # mostra o zabbix.json