Saltar para o conteúdo

Monitorização de cron jobs e heartbeat que apanha falhas silenciosas.

Um cron job morto não gera nenhum erro nem escreve nenhum registo — só se descobre quando se precisa da cópia de segurança. Dê a cada tarefa um URL de ping e a Uptimia abre um incidente num minuto após o prazo falhado.

Teste gratuito de 30 dias · 50 monitores heartbeat Sem cartão de crédito Pronto para o RGPD
Da falha ao incidente
60s
Canais de alerta
12
Agentes para instalar
0
Linhas para integrar
1

A cópia de segurança que não foi executada

Uma cópia de segurança noturna da base de dados, agendada para as 03:30. O script morreu antes de conseguir enviar o ping — sem erro, sem registo, e o único sinal foi o ping que nunca chegou.

03:30 O ping noturno do db-backup nunca chegaO script morreu — nada dá sinal última cópia: desatualizada
03:33 Tolerância esgotada — o incidente abreA verificação por minuto apanha-o: Slack, SMS, PagerDuty última cópia: desatualizada
03:41 A pessoa de prevenção confirma a partir do alertaUm clique na ligação assinada — sem início de sessão às 4 da manhã · MTTA 8 min última cópia: desatualizada
09:12 É o próprio ping de sucesso que o encerraA tarefa reparada corre — prova da correção, não uma promessa cópias de segurança: em dia
3 minsilêncio → alarme
Ninguém foi verificar.09:12
Um cron job morto não consegue soar o próprio alarme — por isso o silêncio foi o alarme. O incidente encontrou a equipa às 03:33, e a correção provou-se sozinha: o ping de sucesso encerrou-o, e ninguém teve de voltar a verificar nada.
silêncio detetado em 3 minconfirmado através de ligação assinadaencerrado pelo ping de sucessoagendamentos cron ou de intervalo + tolerância
E sem o heartbeat? Uma tarefa de cópia de segurança morta é invisível — cada noite em que não corre parece exatamente igual a cada noite em que correu. Só se descobre no dia em que se precisa da restauração que não existe. sem restauro

Monitorize tarefas agendadas onde quer que corram

Se conseguir enviar um pedido HTTP, a Uptimia consegue vigiá-lo — os pings são só de saída, por isso as tarefas atrás de firewall ou NAT reportam sem problemas.

Crontab do Linux e systemdUma linha de curl no fim da tarefa
Agendador de Tarefas do WindowsExcerto de PowerShell já incluído
Kubernetes e DockerCronJobs e contentores, ambos
GitHub Actions e JenkinsExcertos de CI já incluídos
1 um URL de ping por tarefa silêncio para lá da tolerância = alarme
Sidekiq, Celery e serverlessTambém queue workers e funções
wp-cron e HerokuPlataformas geridas também enviam ping
Atrás de firewall, NAT e IoTSó de saída — sem portas abertas
As tarefas do outro lado são aquelas que não se pode dar ao luxo de perder: cópias de segurança de bases de dados, execuções de faturação, ETL e sincronizações de dados, relatórios, renovações de certificados, queue workers e resumos por e-mail. uma linha de curl

Agendamentos, sinais e o registo de pings

Alerta

Alertado num minuto

Cada monitor é verificado a cada 60 segundos. Um prazo falhado para lá da tolerância abre um único incidente e os alertas são enviados — sem tempestades de repetições, e só encerra quando chega um ping real.

  • Cadeias de escalonamento e ligações de confirmação com um clique — sem necessidade de iniciar sessão
  • Aviso de recuperação quando a tarefa volta
  • Janelas de manutenção e pausa — sem alertas falsos durante deployments
Alerte a próxima pessoa até alguém confirmar
Ping falhado03:32:00
db-backup · noturno — esperado às 03:30 + 2 min de tolerância. A verificação de 60 segundos apanhou o silêncio; um incidente, sem tempestade de repetições.
SlackE-mailSMS+ PagerDuty…
1
Primeira pessoa de prevenção alertada
03:32:00 · Slack, SMS e e-mail
por confirmar
2
Segunda pessoa de prevenção confirma
03:41 · ligação assinada, sem início de sessão
MTTA 9 m
Recuperado — ping de sucesso
09:12:04 · aviso de recuperação enviado
encerrado
Vai fazer deploy esta noite? As janelas de manutenção e a pausa impedem que um silêncio planeado alerte alguém. sem alerta
Agendamentos

A sua expressão cron, o seu fuso horário

Cole a linha que já tem no seu crontab, ou defina um intervalo simples entre 30 segundos e 90 dias. Os prazos ajustam-se com o horário de verão, por isso uma tarefa das 03:30 continua a ser uma tarefa das 03:30 em outubro.

  • Qualquer expressão cron de cinco campos — intervalos, passos, nomes, macros no estilo @daily
  • Um período de tolerância definido por tarefa — uma que às vezes demora mais não alerta ninguém
  • Agendamentos inválidos ou impossíveis são rejeitados ao guardar
Evite que trabalho planeado alerte alguém
CRONCron de cinco campos*/15 * * * 1-5próximo 09:45
INTIntervalo simples30 s até 90 diaspróximo 09:30:30
@Macro @daily@hourly · @weekly tambémpróximo 00:00
interpretado
no seu fuso
Prazo ativado09:45:00
A Uptimia passa a esperar um ping até às 09:45 + 2 min de tolerância — os prazos seguem o fuso horário da sua conta, incluindo os ajustes do horário de verão.
tolerância de 2 minseguro face ao horário de verãoverificação a cada 60 s
Agendamento impossível? Um cron como 0 0 31 2 * nunca pode disparar — é rejeitado ao guardar, não ignorado silenciosamente. rejeitado
Registo de pings

Todas as execuções no registo de pings

Abra um monitor e veja quando a tarefa correu pela última vez, se tem vindo a atrasar-se semana após semana, e quanto tempo demorou cada execução — sem precisar de aceder à máquina.

  • Faixa de pulso de 12 horas e um gráfico de pings por hora face à taxa esperada
  • Duração da execução em cada ping quando a tarefa envia um sinal de início
  • Pings atrasados assinalados no registo — nunca alertados
Vigie a máquina onde a tarefa corre
LOGweb-cron · a cada 15 min
uma linha por ping · mais recente primeiro
09:45:03 · +3 s · 212.47.163.9run 2.1 s
09:30:14 · +14 s · curl/8.5.0atrasado · registado
intervalo das 09:15 — silêncio para lá da tolerânciafalhado
09:00:02 · +2 s · 212.47.163.9run 2.0 s
Os intervalos falhados são reconstituídos onde esteve o silêncio — o registo mostra a própria lacuna, não só os pings à volta dela.
Faixa de pulso de 12 horas
Pings por hora vs. esperado
esperados 4 / hora — às 09:00 obteve 3
Duração da execução — início → sucesso
start 09:45:01 · success 09:45:03 → run 2.1 s
Atrasado mas vivo? Um ping para lá do seu limiar de atraso é assinalado no registo — assinalado, nunca alertado. só registado
Sinais

Apanha bloqueios e falhas, não só o silêncio

Três sinais cobrem todas as formas de uma tarefa falhar. O sucesso reinicia a contagem decrescente; o início ativa um limite de duração, por isso uma tarefa bloqueada alerta mesmo que nunca termine; a falha alerta de imediato.

  • /start — duração da execução no registo, mais deteção de duração máxima
  • /fail — incidente imediato, sem período de tolerância
  • Funciona a partir de qualquer cliente HTTP — curl, wget, PowerShell ou o seu próprio código
Verifique a API que a tarefa chama, passo a passo
/startExecução iniciada03:30:01 · limite de duração ativadoapanha bloqueios
successSaída limpaURL de ping simples · GET ou POSTcontagem reiniciada
/failSaída com errosem período de tolerânciaalerta imediatamente
3modos
de falha
Tarefa bloqueada apanhada03:50:01
/start chegou — sem sucesso dentro do limite de 20 minutos. A tarefa nunca terminou, e o alerta dispara na mesma.
bloqueio → limitefalha → /failsilêncio → falhado
Uma linha de curl — o URL de ping é tudo o que a tarefa tem de contactar. Sem agente, sem biblioteca, nada para instalar. curl -fsS

Como funciona a monitorização heartbeat

Um URL por tarefa — sem agente, sem biblioteca.

Passo 120 segundos

Crie um monitor

Dê nome à tarefa e defina o seu agendamento — intervalo ou cron. Ao guardar é gerado um URL de ping privado.

Nome do monitor
db-backup · nightly
Agendamento
IntervaloExpressão cron
30 3 * * *
Todos os dias às 03:30 · fuso horário da conta
Período de tolerância
2 min
CancelarCriar monitor →
Passo 210 segundos

Adicione uma linha à tarefa

Acrescente um curl, ou copie um excerto já pronto — Crontab, Bash, PowerShell, GitHub Actions ou PHP. O monitor ativa-se sozinho com o primeiro ping.

crontab -e
30 3 * * * /usr/local/bin/db-backup.sh \
  && curl -fsS -m 10 --retry 3 \
     https://uptimia.com/p/hb_9f2…c41 >/dev/null
# o primeiro ping real ativa o monitor:
 ping recebido — db-backup · noturno está ativado
Passo 3automático

Seja alertado quando ficar em silêncio

Prazo falhado mais tolerância = um incidente. A sua equipa é alertada num minuto, nos canais que já usa.

#ops-alerts
Uptimia 03:33
⚠ Ping falhado — db-backup · noturno
esperado às 03:30tolerância de 2 minúltimo ping há 24 h
Também enviado a E-mailSMSPagerDuty

Adicione uma linha à tarefa.Fique a saber na mesma noite em que parar.

Todas as tarefas, todos os pings, todos os canais de alerta — grátis durante 30 dias, sem nenhum extra pago.

Comece o seu teste gratuito de 30 dias
30 dias grátis sem cartão de crédito cancele quando quiser

Também incluído

API REST completa

Crie, edite, coloque em pausa e elimine heartbeats a partir do seu pipeline — mais um endpoint de pré-visualização cron que valida expressões antes de irem para produção.

POST /api/v2/heartbeat 201 · ping_url: https://uptimia.com/p/hb_3d7…b52

Excertos com o seu token já preenchido

Crontab, Bash, PowerShell, GitHub Actions e PHP.

CrontabBashPowerShellActionsPHP

Reposição do token com um clique

O URL antigo deixa de funcionar assim que o regenerar.

hb_9f2…c41hb_e81…a07

Limites de taxa compatíveis com NAT

Contados por monitor, não por IP — frotas de workers são bem-vindas.

300 pings / 10 min
por monitor

Pings de teste

Dispare um a partir do painel e veja-o chegar ao registo.

manual · registado · nunca ativa

Todos os tipos de monitor numa só conta

Os mesmos grupos, a mesma lista de contactos e as mesmas funções que qualquer outro tipo de monitor.

db-backup · nightlyHEARTBEAT www.caldmont.comUPTIME api.caldmont.comSSL

Onde os seus alertas chegam

Uma cópia de segurança falhada chega às mesmas pessoas, pelos mesmos canais, que um site que ficou indisponível.

De prevenção e escalonamento
Direto

12 canais, uma lista de contactos — configure uma vez, todos os tipos de monitor usam-na.

Ver o diretório completo de integrações
03:33 · incidente aberto — ping falhado · db-backup · noturno
#ops-alertsSlack
⚠ Ping falhado — db-backup · nightly
esperado às 03:30tolerância de 2 minConfirmar ↩
+371 ··· 4082SMS
Uptimia: PING FALHADO db-backup · noturno. Esperado 03:30 +2m de tolerância. Último ping há 24h.
Caixa de entradaE-mail
⚠ Ping falhado — db-backup · noturno
Esperado 03:30 (+2 min de tolerância) · último ping ontem às 03:30:07 · confirme com um clique…
ProductionPagerDuty
TRIGGEREDPing falhado — db-backup · noturno
atribuído à pessoa de prevenção · via integração Uptimia

O que é a monitorização de cron jobs e heartbeat?

A monitorização de cron jobs — também chamada monitorização heartbeat — verifica se as tarefas agendadas realmente correm. Em vez de ser a Uptimia a sondar o seu servidor, cada tarefa envia um pequeno pedido HTTP ("ping") para o seu próprio URL único quando é executada. Se o ping não chegar dentro do prazo mais a tolerância, a Uptimia abre um incidente e alerta-o.

De fora para dentro

Monitorização de disponibilidade

Uptimia
171+ sondas
verificação HTTP · a cada 30 s
O seu site
responde a pedidos

Funciona quando há algo a perguntar. Sites e APIs respondem; um cron job não.

De dentro para fora

Monitorização heartbeat

O seu cron job
mesmo atrás de uma firewall
ping · em cada execução
Uptimia
espera-o conforme o agendamento

sem ping até às 03:32 → o incidente abre · um ping /fail alerta de imediato

Também conhecido como

Um interruptor de homem morto para o cron

Todos os monitores heartbeat da Uptimia são isso mesmo — agendamentos que reconhecem cron, um período de tolerância e alertas onde quer que a sua equipa trabalhe.

Os pings continuam a chegar — o interruptor mantém-se fechado. Tudo tranquilo.
Os pings param — o interruptor solta-se. O incidente abre, os alertas são enviados.

Perguntas frequentes sobre monitorização heartbeat

01O que é que a minha tarefa tem mesmo de fazer?+
Pedir o seu URL de ping uma vez por execução — curl -fsS -m 10 --retry 3 https://uptimia.com/p/hb_… no fim da linha do crontab já chega. GET, POST e HEAD funcionam todos. O monitor mantém-se dormente até ao primeiro ping real, por isso não pode alertar enquanto ainda está a ser configurado.
02Quando é que um alerta é exatamente acionado?+
Quando o horário esperado mais a tolerância passa sem um ping. Os monitores são verificados a cada minuto, por isso a deteção acrescenta no máximo 60 segundos. Um ping /fail alerta de imediato, e nada volta a alertar enquanto um incidente estiver aberto.
03A minha tarefa bloqueia em vez de falhar — isso é apanhado?+
Sim — envie um ping a /start quando a execução começa e defina uma duração máxima. Se não houver sucesso dentro desse limite, um incidente abre. Também tem a duração de cada execução no registo.
04Porque é que o meu cron job não correu?+
Os suspeitos do costume: o daemon do cron não está a correr, o PATH ou o ambiente da tarefa é diferente da sua shell, as permissões mudaram, ou o agendamento está errado. A monitorização não corrige a causa — garante que fica a saber num minuto, e o registo de pings mostra exatamente quando as execuções pararam.
05Posso monitorizar CronJobs do Kubernetes, GitHub Actions ou tarefas do Windows?+
Sim. Tudo o que conseguir enviar um pedido HTTP consegue enviar um ping — adicione um passo de curl a um CronJob ou workflow, ou use o excerto de PowerShell incluído para o Agendador de Tarefas do Windows. Ambientes atrás de firewall e NAT também funcionam, porque os pings são só de saída.
06O que é guardado sobre cada ping?+
Sinal, data e hora, desvio face ao agendamento, IP de origem, user agent e duração da execução. Os corpos dos pedidos não são guardados — não envie segredos nem registos.
07Enviamos pings de centenas de workers atrás de um único NAT — isso é um problema?+
Não. Os limites de taxa são contados por monitor — 300 pings por 10 minutos — não por IP de origem, por isso endereços de saída partilhados e frotas de workers não colidem.
08Em que fuso horário correm os agendamentos cron?+
No fuso horário da sua conta, com ajuste automático ao horário de verão. Atualmente não existe um fuso horário por monitor; os agendamentos por intervalo contornam a questão.
09Posso gerir heartbeats sem usar a interface?+
Sim — a API REST cria, edita, coloca em pausa e elimina monitores, regenera tokens, envia pings de teste e pré-visualiza expressões cron (validade mais as três próximas execuções).
10Uma pré-visualização de ligação pode, por acidente, fazer parecer que uma tarefa morta continua viva?+
Não. As pré-visualizações do Slack e do Teams, os SafeLinks do Outlook, as reanálises do Mimecast e do Proofpoint e outros bots de pré-visualização são reconhecidos pelo seu user agent: o toque fica registado no registo de pings para que possa vê-lo, mas nunca ativa um monitor nem adia o prazo. Só um cliente real — curl, wget, PowerShell, o seu próprio código — conta como uma execução.
11A monitorização heartbeat é um extra pago?+
Não. Todos os planos pagos incluem monitorização heartbeat a par da monitorização de disponibilidade, SSL, transações, DNS e servidores — nunca como um extra pago. Os planos diferem apenas na quantidade de monitores heartbeat incluídos. O plano gratuito não inclui heartbeats; o teste gratuito de 30 dias inclui (até 50 monitores), sem necessidade de cartão de crédito.

A sua próxima tarefa falhada devia acionar um alerta.

Uma linha no fim de uma tarefa coloca-a sob vigilância — junto da sua monitorização de disponibilidade, SSL e servidores.

Teste gratuito de 30 dias 50 monitores heartbeat incluídos Sem cartão de crédito Pronto para o RGPD
A monitorização heartbeat está incluída em todos os planos pagos, junto de todos os outros tipos de monitor.