Monitoramento de cron jobs

Seu cron falhou às 3h da manhã. Você descobre às 3h01.

O cron não reporta falhas. Um job quebra, o cronograma segue em frente, e você fica sabendo dias depois por um cliente. O Cronitorex espera um ping de cada execução e te alerta em 60 segundos quando um deles não chega.

db-backup últimas 30 execuções · uma falha silenciosa detectada

Três estados cobrem toda a execução

Cada execução reporta run ao começar, depois complete ou fail ao terminar. Duas chamadas extras no seu crontab já bastam. Sem agente, sem daemon, nenhuma biblioteca para instalar.

A partir desses pings, o Cronitorex constrói uma linha do tempo por job: durações, exit codes, histórico de falhas. Uma execução que começa e nunca termina também conta como falha.

/etc/crontab
*/5 * * * * root cronitorex ping db-backup run; /opt/backup.sh && cronitorex ping db-backup complete || cronitorex ping db-backup fail

O silêncio também é uma falha

Um servidor que travou não envia nenhum ping fail. O Cronitorex conhece o intervalo esperado de cada job e espera um período de tolerância extra para absorver variações normais. Quando essa janela se fecha sem nenhum ping, você recebe um alerta de execução perdida.

Os dois valores são definidos por você, por monitor. Um backup noturno com 15 minutos de tolerância se comporta diferente de um job de sincronização que roda a cada 5 minutos com 60 segundos de tolerância.

invoice-sync a cada 5 minutos, conforme previsto
nightly-backup uma execução atrasada, uma perdida, um alerta

Um wrapper em vez de três pings

O cliente cronitorex.sh envolve seu comando: envia run, executa o job, mede a duração, captura o exit code e as últimas linhas do stderr, e finaliza com complete ou fail. Você muda uma palavra no crontab, não o seu script.

Já tem um crontab completo rodando? O comando discover o lê e cria um monitor para cada job encontrado, com o horário tirado diretamente da expressão cron.

bash
# envolva qualquer job: exit code, duração e stderr capturados
cronitorex.sh run db-backup -- /opt/backup.sh

# importe seu crontab existente como monitores
cronitorex.sh discover /etc/crontab

Perguntas frequentes sobre monitoramento de cron

Funciona com agendadores além do cron?

Sim. Qualquer coisa capaz de enviar uma requisição HTTP pode fazer ping: timers do systemd, CronJobs do Kubernetes, tarefas do Airflow, GitHub Actions, Agendador de Tarefas do Windows. O Cronitorex só vê os pings, não o agendador por trás deles.

O que conta como um evento?

Cada ping é um evento: run, complete, fail ou skip. Um job que envia run e complete uma vez por hora produz cerca de 1.440 eventos por mês, então os 50.000 eventos do plano Free cobrem dezenas de jobs.

O que acontece se eu atingir minha cota de eventos?

A API passa a retornar HTTP 402 e novos pings deixam de ser aceitos até o mês reiniciar ou você fazer upgrade de plano. Nada é apagado; o painel e seu histórico continuam disponíveis o tempo todo.

Comece a monitorar em 60 segundos

Cadastre-se, gere uma API key, cole o curl no seu cron. É só isso.