Heartbeat de cron
Um monitor de heartbeat acompanha se um job avisou que executou dentro do prazo esperado. Ele não faz uma requisição ao seu servidor: o próprio job envia o ping para o Farol.
Crie o monitor
- Abra Uptime, crie um monitor e selecione Heartbeat.
- Dê um nome ao job e defina o intervalo esperado.
- Configure a tolerância, considerando a duração do job e variações normais do agendamento. Ela deve cobrir pelo menos o intervalo configurado.
- Salve e copie a URL exibida. O segredo da URL é mostrado no momento da emissão.
Guarde a URL como um segredo do ambiente, por exemplo FAROL_HEARTBEAT_URL. Não publique o endereço em logs ou no repositório.
Envie depois de uma execução bem-sucedida
No script do job:
#!/usr/bin/env bash
set -euo pipefail
/opt/minha-aplicacao/executar-job
curl -fsS --max-time 10 "$FAROL_HEARTBEAT_URL" >/dev/null
Defina a variável no ambiente que executa o script. No cron, o ambiente pode ser diferente daquele do seu terminal.
Com set -e, a falha do job impede o ping. Adaptar somente o exemplo de curl para executar independentemente do job provaria a execução do cron, mas não o sucesso do trabalho.
Confirme no Farol
Execute o job uma vez e confira a amostra no monitor. Depois, valide se a rotina agendada também envia o ping. A ausência de ping pode indicar falha do job, agendamento incorreto ou problema de rede.
O heartbeat não comprova a integridade do resultado do job. Para um backup, por exemplo, ele confirma o aviso da execução; a recuperação dos dados exige uma validação própria.