Pular para o conteúdo

Monitoramento de cron jobs e heartbeat que pega falhas silenciosas.

Um cron job morto não gera nenhum erro nem escreve nenhum registro — 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 Não é necessário cartão de crédito Pronto para o GDPR
Da falha ao incidente
60s
Canais de alertas
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 do banco de dados, agendada para as 03:30. O script morreu antes de conseguir enviar o ping — sem erro, sem registro, 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 — abre-se o incidenteA verificação por minuto pega-o: Slack, SMS, PagerDuty última cópia: desatualizada
03:41 A pessoa de plantão confirma a partir do alertaUm clique no link assinado — sem login às 4 da manhã · MTTA 8 min última cópia: desatualizada
09:12 É o próprio ping de sucesso que o encerraA tarefa reparada roda — 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 equipe à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 detectado em 3 minconfirmado através de link assinadoencerrado 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 roda parece exatamente igual a cada noite em que rodou. Só se descobre no dia em que se precisa da restauração que não existe. sem restauração

Monitore tarefas agendadas onde quer que rodem

Se conseguir enviar uma requisição 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 contêineres, ambos
GitHub Actions e JenkinsExcertos de CI já incluídos
1 um URL de ping por tarefa silêncio além da tolerância = alarme
Sidekiq, Celery e serverlessTambém queue workers e funções
wp-cron e HerokuPlataformas gerenciadas 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 bancos de dados, execuções de faturamento, 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 registro de pings

Alerta

Alertado num minuto

Cada monitor é verificado a cada 60 segundos. Um prazo falhado além da tolerância abre um único incidente e envia os alertas — sem avisos repetidos em cascata, e só encerra quando chega um ping real.

  • Cadeias de escalonamento e links de confirmação com um clique — sem necessidade de entrar
  • Aviso de recuperação quando a tarefa volta
  • Janelas de manutenção e pausa — sem falsos alarmes durante deployments
Alerte a próxima pessoa até alguém confirmar →
Ping falhou03:32:00
db-backup · noturno — esperado às 03:30 + 2 min de tolerância. A verificação de 60 segundos pegou o silêncio; um incidente, sem avisos repetidos em cascata.
SlackE-mailSMS+ PagerDuty…
1
Primeira pessoa de plantão alertada
03:32:00 · Slack, SMS e e-mail
a confirmar
2
Segunda pessoa de plantão confirma
03:41 · link assinado, sem login
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 planejado alerte alguém. sem alerta
Agendamentos

Seu cron, 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 salvar
Evite que trabalho planejado 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 diante do horário de verãoverificação a cada 60 s
Agendamento impossível? Um cron como 0 0 31 2 * nunca pode acionar — é rejeitado ao salvar, não ignorado silenciosamente. rejeitado
Registro de pings

Cada execução, registrada

Abra um monitor e veja quando a tarefa rodou pela última vez, se vem atrasando semana após semana, e quanto tempo demorou cada execução — sem precisar de acessar a máquina.

  • Faixa de pulso de 12 horas e um gráfico de pings por hora em relação à taxa esperada
  • Duração da execução em cada ping quando a tarefa envia um sinal de início
  • Pings atrasados assinalados no registro — sem acionar alerta
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 · registrado
intervalo das 09:15 — silêncio além da tolerânciafalhou
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 registro mostra a própria lacuna, não só os pings ao redor dela.
Faixa de heartbeat de 12 horas
Pings por hora vs. esperado
esperados 4 / hora — às 09:00 chegaram 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 além do seu limiar de atraso é assinalado no registro — assinalado, mas sem alerta. só registrado
Sinais

Captura 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 registro, mais detecçã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 ativadocaptura bloqueios
successSaída limpasó o URL de ping · GET ou POSTcontagem reiniciada
/failSaída com errosem período de tolerânciaalerta imediatamente
3modos
de falha
Tarefa bloqueada capturada03:50:01
/start chegou — sem sucesso dentro do limite de 20 minutos. A tarefa nunca terminou, e o alerta é acionado mesmo assim.
bloqueio → limiarfalha → /failsilêncio → falhou
Uma linha de curl — o URL de ping é tudo o que a tarefa tem que contatar. Sem agente, sem biblioteca, nada para instalar. curl -fsS

Como funciona o monitoramento 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 salvar é 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

Adicione 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á habilitado
Passo 3automático

Seja alertado quando ficar em silêncio

Prazo falhado mais tolerância = um incidente. A sua equipe é 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 sabendo 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 gratuitamente →
30 dias grátis não é necessário cartão de crédito cancele quando quiser

Também incluído

API REST completa

Crie, edite, coloque em pausa e exclua heartbeats a partir do seu pipeline — mais um endpoint de 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

Redefinição do token com um clique

O URL antigo deixa de funcionar assim que o regenerar.

hb_9f2…c41→hb_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

Acione um a partir do dashboard e veja-o chegar ao registro.

manual · registrado · nunca ativa

Todos os tipos de monitor numa só conta

Os mesmos grupos, a mesma lista de contatos e os mesmos papéis 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 perdida chega às mesmas pessoas, pelos mesmos canais, que um site indisponível.

De plantão e escalonamento
Direto

12 canais, uma lista de contatos — 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 falhou — 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 plantão · via integração Uptimia

O que é o monitoramento de cron jobs e heartbeat?

O monitoramento de cron jobs — também chamado monitoramento heartbeat — verifica se as tarefas agendadas realmente correm. Em vez de ser a Uptimia sondando o seu servidor, cada tarefa envia uma pequena requisição 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 o alerta.

De fora para dentro

Monitoramento de disponibilidade

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

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

De dentro para fora

Monitoramento heartbeat

O seu cron job
mesmo atrás de uma firewall
ping · em cada execução
Uptimia
esperado 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

Todo monitor heartbeat da Uptimia é isso — agendamentos que entendem cron, período de tolerância e alertas onde sua equipe trabalha.

Os pings continuam chegando — 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

01O que a minha tarefa tem mesmo que 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é o primeiro ping real, por isso não pode alertar enquanto ainda está sendo configurado.
02Quando aciona exatamente um alerta?+
Quando o horário esperado mais a tolerância passa sem um ping. Os monitores são verificados a cada minuto, por isso a detecçã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 é capturado?+
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 registro.
04Por que meu cron job não rodou?+
Os suspeitos do costume: o daemon do cron não está rodando, o PATH ou o ambiente da tarefa é diferente do da sua shell, as permissões mudaram, ou o agendamento está errado. O monitoramento não corrige a causa — garante que você fica sabendo em um minuto, e o registro de pings mostra exatamente quando as execuções pararam.
05Posso monitorar CronJobs do Kubernetes, GitHub Actions ou tarefas do Windows?+
Sim. Tudo o que conseguir enviar uma requisição HTTP consegue enviar um ping — adicione um passo de curl a um CronJob ou workflow, ou use o trecho 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 é salvo sobre cada ping?+
Sinal, data e hora, desvio em relação ao agendamento, IP de origem, user agent e duração da execução. Os corpos das requisições não são salvos — não envie segredos nem registros.
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 compartilhados e frotas de workers não colidem.
08Em que fuso horário rodam 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 gerenciar heartbeats sem usar a interface?+
Sim — a API REST cria, edita, coloca em pausa e exclui monitores, regenera tokens, envia pings de teste e visualiza expressões cron (validade e as três próximas execuções).
10Uma visualização de link pode, sem querer, fazer uma tarefa morta parecer viva?+
Não. As visualizações do Slack e do Teams, os SafeLinks do Outlook, as reanálises do Mimecast e do Proofpoint e outros bots de visualização são reconhecidos pelo seu user agent: o toque fica registrado no registro de pings para que você possa vê-lo, mas nunca ativa um monitor nem adia o prazo. Só um cliente real — curl, wget, PowerShell, seu próprio código — conta como uma execução.
11O monitoramento heartbeat é um extra pago?+
Não. Todos os planos pagos incluem monitoramento heartbeat junto com o monitoramento 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-os (até 50 monitores), não é necessário cartão de crédito.

Sua próxima tarefa falhada devia alertar você.

Uma linha no fim de uma tarefa coloca-a sob vigilância — junto com seu monitoramento de disponibilidade, SSL e servidores.

Teste gratuito de 30 dias 50 heartbeats incluídos Não é necessário cartão de crédito Pronto para o GDPR
O monitoramento heartbeat está incluído em todos os planos pagos, junto de todos os outros tipos de monitor.