Monitorização de cron

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

OK
Agendamento Todos os dias às 03:00 Europe/Lisbon
Último ping há 3 minutos · exit 0 · 48 s
Próximo previsto daqui a 23 horas
Período de tolerância 15 minutos
0 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.

1

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.

2

Chame o URL quando a tarefa terminar

Acrescente uma única chamada curl ao comando que já executa. Nada mais muda na tarefa.

3

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.

Gratuito
2
verificações de cron
Basic
10
verificações de cron
Professional
50
verificações de cron

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