Saiba quando uma tarefa agendada nunca chegou a correr
Uma cópia de segurança que deixa de correr em silêncio parece exatamente uma que funciona — até ao dia em que precisa dela. A sua tarefa faz ping ao AlertSleep quando termina; nós alertamos quando esse ping não chega.
Faturação noturna
OK0 3 * * * /usr/local/bin/billing-run \
&& curl -fsS https://api.alertsleep.com/v1/ping/YOUR-TOKEN
Uma linha no seu crontab
Sem agente, sem biblioteca, sem regras de firewall além de HTTPS simples. Se a máquina chega à internet, consegue reportar.
Crie uma verificação
Descreva quando a tarefa deve correr e quanto atraso é aceitável antes de querer saber. Recebe um URL de ping único.
Chame o URL quando a tarefa terminar
Acrescente uma única chamada curl ao comando que já executa. Nada mais muda na tarefa.
Nós vigiamos o silêncio
O AlertSleep verifica a cada minuto as tarefas em atraso. Passada a janela, o alerta sai — incluindo da primeira vez que uma tarefa deixa de correr.
Duas formas de dizer quando uma tarefa deve correr
Escolha a que corresponde à forma como pensa a tarefa.
A cada N minutos
Para tarefas por intervalo: esvaziar uma fila a cada cinco minutos, sincronizar a cada hora. Indica o intervalo e mais nada.
Uma expressão cron
Para tarefas ligadas ao relógio ou ao calendário. Cole a mesma expressão que o seu crontab usa e a verificação segue-a exatamente.
O seu fuso horário, não o nosso
Um agendamento cron é avaliado no fuso que escolher, pelo que uma tarefa fixada às 03:00 locais continua às 03:00 depois da mudança da hora.
Um período de tolerância
As tarefas reais começam atrasadas e prolongam-se. Defina quanto atraso é normal e só os excessos genuínos levantam um alerta.
Três sinais, qualquer cliente HTTP
GET, POST e HEAD funcionam todos, por isso curl, wget, PowerShell ou duas linhas de HTTP dentro da tarefa valem o mesmo.
Sucesso
A tarefa terminou. É o único sinal de que uma verificação precisa — tudo o resto é opcional.
https://api.alertsleep.com/v1/ping/YOUR-TOKEN
Início
Chame-o quando a tarefa começa e o AlertSleep regista quanto tempo demora cada execução, não apenas que aconteceu.
https://api.alertsleep.com/v1/ping/YOUR-TOKEN/start
Falha
A tarefa correu e soube que tinha falhado. Uma falha explícita alerta de imediato, em vez de esperar que o agendamento expire.
https://api.alertsleep.com/v1/ping/YOUR-TOKEN/fail
Detalhe opcional
Envie um código de saída, uma duração ou uma mensagem curta com o ping. Um campo que não conseguimos ler é descartado e a pulsação fica registada à mesma — um extra malformado nunca lhe custa o próprio sinal.
curl -fsS -X POST \
https://api.alertsleep.com/v1/ping/YOUR-TOKEN \
-d exit_code=0 \
-d duration_ms=48213 \
-d message="1482 invoices"
Quando o ping não chega
As verificações de cron alertam por e-mail e no seu painel AlertSleep.
Alerta por e-mail
Enviado uma vez quando a verificação cai, com o agendamento, a tolerância e a hora do último ping recebido.
Notificação na aplicação
O mesmo alerta chega à sua lista de notificações, pelo que uma verificação que caiu de madrugada continua visível de manhã.
Aviso de recuperação
Quando a tarefa volta a reportar, é informado de que recuperou. Nenhum alerta se repete enquanto uma verificação está em baixo.
Verificações de cron em todos os planos
Incluindo o gratuito. Sem cartão para descobrir se as suas tarefas correm mesmo.
Perguntas frequentes
O que é a monitorização de cron?
A monitorização de cron — também chamada monitorização por pulsação ou interruptor de homem morto — espera por um sinal que deve chegar. A sua tarefa agendada chama um URL ao terminar; se essa chamada não chegar a tempo, é alertado. É o inverso da monitorização de disponibilidade, em que somos nós a chamar.
Porque não basta verificar o código de saída no meu script?
Um código de saída só existe se a tarefa correu. As falhas que doem são aquelas em que nada correu: a entrada do crontab foi apagada, o servidor reconstruído, o contentor nunca arrancou, o disco encheu. Uma tarefa sem saída e sem erro é indistinguível de uma saudável, a não ser que algo vigie a sua ausência.
Funciona com CronJobs do Kubernetes, temporizadores systemd ou o Agendador de Tarefas do Windows?
Sim. A verificação não pressupõe crontab — precisa apenas que a tarefa faça um pedido HTTPS ao terminar. Qualquer agendador capaz de correr curl, e qualquer programa capaz de uma chamada HTTP, consegue reportar.
E se a tarefa correr mas demorar muito mais do que o habitual?
Chame o endpoint de início no começo e o de sucesso no fim, e a duração de cada execução fica registada. O período de tolerância decide quanto atraso é aceite antes de a verificação ser dada como em baixo.
O URL de ping é um segredo?
Sim. O token no URL é a única credencial de um endpoint que aceita chamadas não autenticadas, por isso trate-o como uma palavra-passe: fora de repositórios públicos e fora dos registos que partilha.
Saiba esta noite, não no próximo trimestre
Acrescente uma chamada curl à sua tarefa agendada mais importante e saiba da próxima vez que ela não correr.
Start Free Monitoring