Saltar al contenido

Monitoreo de tareas cron & heartbeat que detecta los fallos silenciosos.

Una tarea cron muerta no lanza ningún error ni escribe ningún registro — se entera cuando necesita la copia de seguridad. Asigne a cada tarea una URL de ping y Uptimia abrirá un incidente en menos de un minuto desde el plazo incumplido.

Prueba gratuita de 30 días · 50 monitores heartbeat Sin tarjeta de crédito Conforme al GDPR
De fallo a incidente
60s
Canales de alertas
12
Agentes que instalar
0
Líneas que integrar
1

La copia que no se ejecutó

Una copia de seguridad nocturna de la base de datos, programada para las 03:30. El script murió antes de poder hacer ping — nada dio error, nada quedó registrado, y la única señal fue el ping que nunca llegó.

03:30 El ping nocturno de db-backup nunca llegaEl script murió — nada hace ruido última copia: obsoleta
03:33 Se agota el margen de gracia — se abre el incidenteEl barrido cada minuto lo detecta: Slack, SMS, PagerDuty última copia: obsoleta
03:41 El responsable de guardia lo reconoce desde la alertaUn clic en el enlace firmado — sin iniciar sesión a las 4 de la madrugada · MTTA 8 min última copia: obsoleta
09:12 El propio ping de éxito lo cierraLa tarea reparada se ejecuta — prueba de la solución, no una promesa copias de seguridad: al día
3 minsilencio → alerta
Nadie se puso a buscar.09:12
Una tarea cron muerta no puede enviar su propia alarma — así que el silencio fue la alarma. El incidente encontró al equipo a las 03:33, y la solución se demostró sola: el ping de éxito lo cerró, nadie tuvo que volver a comprobar nada.
silencio detectado en 3 minreconocido mediante enlace firmadocerrado por el ping de éxitocron o intervalo + margen de gracia
¿Y sin el heartbeat? Una tarea de copia de seguridad muerta es invisible — cada noche que no se ejecuta se parece exactamente a cada noche que sí lo hizo. Se entera el día que necesita la restauración que no existe. sin restauración

Monitoree tareas programadas estén donde estén

Si puede enviar una solicitud HTTP, Uptimia puede vigilarla — los pings son solo de salida, así que las tareas detrás de firewalls y NAT informan sin problema.

Crontab de Linux & systemdUna línea de curl al final de la tarea
Programador de tareas de WindowsFragmento de PowerShell incluido
Kubernetes & DockerCronJobs y contenedores por igual
GitHub Actions & JenkinsFragmentos de CI incluidos
1 URL de ping por tarea silencio tras el margen de gracia = alarma
Sidekiq, Celery & serverlessTambién workers de colas y funciones
wp-cron & HerokuLas plataformas gestionadas también hacen ping
Con firewall, NAT & IoTSolo salida — sin puertos abiertos
Las tareas al otro lado son las que no puede permitirse perder: copias de seguridad de bases de datos, procesos de facturación, ETL y sincronizaciones de datos, informes, renovaciones de certificados, workers de colas y resúmenes por correo. una línea de curl

Horarios, señales y el registro de pings

Alertas

Avisado en menos de un minuto

Cada monitor se comprueba cada 60 segundos. Un plazo incumplido más allá de su margen de gracia abre un único incidente y se envían las alertas — sin tormentas de repetición, y solo se cierra cuando llega un ping real.

  • Cadenas de escalado y enlaces de reconocimiento con un clic — sin necesidad de iniciar sesión
  • Aviso de recuperación cuando la tarea vuelve
  • Ventanas de mantenimiento y pausa — sin falsas alarmas durante los despliegues
Avisa a la siguiente persona hasta que alguien lo reconozca →
Missed ping03:32:00
db-backup · nocturna — esperado 03:30 + 2 min de margen. El barrido de 60 s detectó el silencio; un solo incidente, sin repeticiones.
SlackEmailSMS+ PagerDuty…
1
Se avisa al primer responsable de guardia
03:32:00 · Slack, SMS y correo electrónico
sin reconocer
2
El segundo responsable de guardia lo reconoce
03:41 · enlace firmado, sin iniciar sesión
MTTA 9 m
✓
Recuperado — ping de éxito
09:12:04 · aviso de recuperación enviado
cerrado
¿Despliegue esta noche? Las ventanas de mantenimiento y la pausa evitan que un silencio planeado avise a nadie. sin alerta
Horarios

Su expresión cron, su zona horaria

Pegue la línea que ya tiene en su crontab, o establezca un intervalo simple de entre 30 segundos y 90 días. Los plazos se ajustan con el horario de verano, así que una tarea de las 03:30 sigue siendo una tarea de las 03:30 en octubre.

  • Cualquier expresión cron de cinco campos — rangos, pasos, nombres, macros al estilo @daily
  • Un margen de gracia que define por tarea — una que a veces se alarga no avisará a nadie
  • Los horarios no válidos o imposibles se rechazan al guardar
Evite que el trabajo planificado avise a nadie →
CRONCron de cinco campos*/15 * * * 1-5siguiente 09:45
INTIntervalo simplede 30 s a 90 díassiguiente 09:30:30
@@daily macro@hourly · @weekly tambiénsiguiente 00:00
✓analizado en
su zona horaria
Deadline armed09:45:00
Uptimia ahora espera un ping antes de las 09:45 + 2 min de margen — los plazos siguen su zona horaria, con cambios de horario incluidos.
grace 2 minDST safe60 s sweep
¿Horario imposible? Un cron como 0 0 31 2 * nunca puede dispararse — se rechaza al guardar, no se ignora en silencio. rechazado
Registro de pings

Cada ejecución, registrada

Abra un monitor y compruebe cuándo se ejecutó la tarea por última vez, si se ha ido retrasando semana a semana, y cuánto duró cada ejecución — sin tener que entrar por SSH en la máquina.

  • Franja de pulso de 12 horas y un gráfico de pings por hora frente a la frecuencia esperada
  • Duración de la ejecución en cada ping cuando la tarea envía una señal de inicio
  • Los pings tardíos se marcan en el registro — nunca avisan
Vigile la máquina en la que se ejecuta la tarea →
LOGweb-cron · cada 15 min
una fila por ping · el más reciente primero
09:45:03 · +3 s · 212.47.163.9run 2.1 s
09:30:14 · +14 s · curl/8.5.0tarde · registrado
franja de las 09:15 — silencio tras el margen de graciaperdido
09:00:02 · +2 s · 212.47.163.9run 2.0 s
Las franjas perdidas se generan donde hubo silencio: el registro muestra el hueco en sí, no solo los pings alrededor.
Franja de pulso de 12 horas
Pings por hora frente a lo esperado
se esperaban 4/hora — a las 09:00 hubo 3
Duración de la ejecución — inicio → éxito
start 09:45:01 · success 09:45:03 → run 2.1 s
¿Tarde pero vivo? Un ping que supera su umbral de retraso se marca en el registro — marcado, nunca avisa. solo registrado
Señales

Detecta cuelgues y caídas, no solo silencio

Tres señales cubren todas las formas en que una tarea puede fallar. El éxito reinicia la cuenta atrás; el inicio activa un límite de duración, así que una tarea colgada avisa aunque nunca termine; el fallo avisa de inmediato.

  • /start — duración de la ejecución en el registro, además de detección de duración máxima
  • /fail — incidente inmediato, sin margen de gracia
  • Funciona desde cualquier cliente HTTP — curl, wget, PowerShell o su propio código
Compruebe la API que llama la tarea, paso a paso →
/startLa ejecución comenzó03:30:01 · límite de duración activadodetecta cuelgues
successSalida limpiaURL de ping simple · GET o POSTreinicia la cuenta atrás
/failSalida distinta de cerosin margen de graciaavisa ya
3modos de
fallo
Hung job caught03:50:01
Llegó /start — sin éxito dentro del límite de 20 minutos. La tarea nunca terminó, y aun así recibe un aviso.
hang → capcrash → /failsilence → missed
Una línea de curl — la URL de ping es todo lo que la tarea necesita alcanzar. Sin agente, sin biblioteca, nada que instalar. curl -fsS

Cómo funciona el monitoreo heartbeat

Una URL por tarea — sin agente, sin biblioteca.

Paso 120 segundos

Cree un monitor

Dé nombre a la tarea y defina su horario — intervalo o cron. Al guardar se genera una URL de ping privada.

Nombre del monitor
db-backup · nightly
Horario
IntervaloExpresión cron
30 3 * * *
Todos los días a las 03:30 · zona horaria de la cuenta
Margen de gracia
2 min
CancelarCrear monitor →
Paso 210 segundos

Agregue una línea a la tarea

Agregue un curl, o copie un fragmento ya preparado — Crontab, Bash, PowerShell, GitHub Actions o PHP. El monitor se activa con el primer 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
# el primer ping real activa el monitor:
✓ ping recibido — db-backup · nightly está activado
Paso 3automático

Reciba una alerta cuando enmudezca

Plazo incumplido más margen de gracia = un incidente. Su equipo recibe una alerta en menos de un minuto, por los canales que ya usan.

#ops-alerts
Uptimia 03:33
⚠ Ping perdido — db-backup · nightly
esperado 03:30grace 2 minúltimo ping hace 24 h
También enviado a EmailSMSPagerDuty

Agregue una línea a la tarea.Entérese la noche en que deje de funcionar.

Cada tarea, cada ping, cada canal de alertas — gratis durante 30 días, y nada de eso es un complemento de pago.

Empiece su prueba gratuita de 30 días →
30 días gratis sin tarjeta de crédito cancele cuando quiera

También incluido

API REST completa

Cree, edite, pause y elimine heartbeats desde su pipeline — además de un endpoint de vista previa de cron que valida las expresiones antes de publicarlas.

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

Fragmentos con su token ya incluido

Crontab, Bash, PowerShell, GitHub Actions y PHP.

CrontabBashPowerShellActionsPHP

Restablecimiento del token con un clic

La URL antigua deja de funcionar en cuanto la regenera.

hb_9f2…c41→hb_e81…a07

Límites de frecuencia adaptados a NAT

Se cuentan por monitor, no por IP — las flotas de workers son bienvenidas.

300 pings / 10 min
por monitor

Pings de prueba

Dispare uno desde el panel para verlo llegar al registro.

manual · registrado · nunca activa

Todos los tipos de monitor en una sola cuenta

Los mismos grupos, la misma lista de contactos y los mismos roles que cualquier otro tipo de monitor.

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

Dónde llegan sus alertas

Una copia de seguridad perdida llega a las mismas personas, por los mismos canales, que un sitio caído.

Guardia y escalado
Directo

12 canales, una lista de contactos — configúrela una vez, todos los tipos de monitor la usan.

Explore el directorio completo de integraciones →
03:33 · incidente abierto — ping perdido · db-backup · nightly
#ops-alertsSlack
⚠ Missed ping — db-backup · nightly
esperado 03:30grace 2 minReconocer ↩
+371 ··· 4082SMS
Uptimia: PING PERDIDO db-backup · nightly. Esperado 03:30 +2m de gracia. Último ping hace 24h.
Bandeja de entradaEmail
⚠ Ping perdido — db-backup · nightly
Esperado a las 03:30 (+2 min de gracia) · último ping ayer a las 03:30:07 · reconozca con un clic…
ProductionPagerDuty
TRIGGEREDPing perdido — db-backup · nightly
asignado al responsable de guardia · vía integración con Uptimia

¿Qué es el monitoreo de tareas cron & heartbeat?

El monitoreo de tareas cron — también llamado monitoreo heartbeat — comprueba que las tareas programadas realmente se ejecutan. En vez de que Uptimia sondee su servidor, cada tarea envía una breve solicitud HTTP ("ping") a su propia URL única cuando se ejecuta. Si el ping no llega dentro del plazo más el margen de gracia, Uptimia abre un incidente y le avisa.

De fuera hacia dentro

Monitoreo de disponibilidad

Uptimia
Más de 171 sondas
comprobación HTTP · cada 30 s
Su sitio web
responde a las solicitudes

Funciona cuando hay algo que preguntar. Los sitios web y las APIs responden; una tarea cron no.

De dentro hacia fuera

Monitoreo heartbeat

Su tarea cron
incluso detrás de un firewall
ping · en cada ejecución
Uptimia
lo espera según lo programado

sin ping antes de las 03:32 → se abre el incidente · un ping /fail avisa al instante

También conocido como

Un interruptor de hombre muerto para cron

Cada monitor heartbeat de Uptimia es uno — horarios que entienden cron, un margen de gracia y alertas allí donde trabaja su equipo.

Los pings siguen llegando — el interruptor permanece cerrado. Todo tranquilo.
Los pings se detienen — el interruptor se libera. Se abre el incidente, se envían las alertas.

Preguntas frecuentes

01¿Qué tiene que hacer exactamente mi tarea?+
Solicitar su URL de ping una vez por ejecución — con curl -fsS -m 10 --retry 3 https://uptimia.com/p/hb_… al final de la línea del crontab es suficiente. GET, POST y HEAD funcionan todos. El monitor permanece inactivo hasta su primer ping real, así que no puede avisar mientras lo está configurando.
02¿Cuándo se dispara exactamente una alerta?+
Cuando pasa la hora esperada más el margen de gracia sin que llegue un ping. Los monitores se comprueban cada minuto, así que la detección agrega como máximo 60 segundos. Un ping /fail avisa de inmediato, y nada vuelve a avisar mientras un incidente está abierto.
03Mi tarea se cuelga en vez de fallar — ¿lo detectarán?+
Sí — haga ping a /start cuando comience la ejecución y defina una duración máxima. Si no llega ningún éxito dentro de ese límite, se abre un incidente. También obtiene la duración de cada ejecución en el registro.
04¿Por qué no se ejecutó mi cron?+
Los sospechosos habituales: el daemon de cron no se está ejecutando, el PATH o el entorno de la tarea difiere del de su shell, cambiaron los permisos o el horario está mal. El monitoreo no soluciona la causa: se asegura de que se entere en menos de un minuto, y el registro de pings muestra exactamente cuándo dejaron de ejecutarse las tareas.
05¿Puedo monitorear CronJobs de Kubernetes, GitHub Actions o tareas de Windows?+
Sí. Cualquier cosa que pueda enviar una solicitud HTTP puede hacer ping — agregue un paso de curl a un CronJob o a un flujo de trabajo, o use el fragmento de PowerShell incluido para el Programador de tareas de Windows. Los entornos con firewall y NAT también funcionan, porque los pings son solo de salida.
06¿Qué guardan de cada ping?+
Señal, marca de tiempo, desviación del horario, IP de origen, user agent y duración de ejecución. Los cuerpos de las solicitudes no se guardan: no envíe secretos ni registros.
07Hacemos ping desde cientos de workers detrás de una sola NAT — ¿es un problema?+
No. Los límites se cuentan por monitor —300 pings cada 10 min— no por IP de origen, así que las IPs de salida compartidas y las flotas de workers no chocan entre sí.
08¿En qué zona horaria se ejecutan los horarios cron?+
En la zona horaria de su cuenta, con horario de verano incluido. Hoy no hay huso horario por monitor; los horarios de intervalo no se ven afectados.
09¿Puedo gestionar los heartbeats sin la interfaz?+
Sí — la API REST crea, edita, pausa y elimina monitores, regenera tokens, envía pings de prueba y previsualiza expresiones cron (validez y las próximas tres ejecuciones).
10¿Puede una vista previa de enlace hacer que una tarea muerta parezca viva?+
No. Las vistas previas de Slack y Teams, los SafeLinks de Outlook, los reanálisis de Mimecast y Proofpoint y otros bots se reconocen por su user agent: el toque queda registrado en el registro de pings para que lo vea, pero nunca activa un monitor ni adelanta el plazo. Solo un cliente real — curl, wget, PowerShell, su propio código — cuenta como una ejecución.
11¿Es de pago el monitoreo heartbeat?+
No. Todos los planes de pago incluyen el monitoreo heartbeat junto con el de disponibilidad, SSL, transacciones, DNS y servidores — nunca como complemento de pago. Los planes solo difieren en cuántos monitores heartbeat incluyen. El plan gratuito no incluye heartbeats; la prueba gratuita de 30 días sí (hasta 50 monitores), sin tarjeta de crédito.

Su próxima tarea fallida debería avisarle.

Una línea al final de una tarea la pone bajo vigilancia — junto a su monitoreo de disponibilidad, SSL y servidores.

Prueba gratuita de 30 días 50 monitores heartbeat incluidos Sin tarjeta de crédito Conforme al GDPR
El monitoreo heartbeat está incluido en todos los planes de pago, junto a cualquier otro tipo de monitor.