Monitores Heartbeat (tareas cron)

Qué es un monitor Heartbeat

Un monitor Heartbeat es un interruptor de hombre muerto pasivo para trabajos que se supone que deben ejecutarse según una programación — tareas cron, copias de seguridad nocturnas, pipelines ETL, workers de colas y tareas en segundo plano similares. En lugar de que LoadFocus llame a tu servicio, tu tarea llama a LoadFocus cada vez que finaliza correctamente. Si el ping esperado no llega a tiempo, el monitor pasa a estado DOWN y se disparan las alertas.

A diferencia de las verificaciones activas, un monitor Heartbeat no sondea nada y no tiene regiones — simplemente espera a que tu tarea se reporte. Eso lo hace ideal para verificar que el trabajo programado realmente se ejecutó, no solo que un endpoint es accesible.

Cómo funciona

  1. Creas un monitor Heartbeat y estableces un intervalo de ping esperado y un período de gracia.
  2. LoadFocus te proporciona una URL de ping única.
  3. Tu tarea hace ping a esa URL en cada ejecución exitosa.
  4. Si un ping llega dentro de la ventana esperada, el monitor permanece UP.
  5. Si no llega ningún ping dentro de intervalo + período de gracia, el monitor pasa a DOWN y se disparan las alertas.
  6. El siguiente ping exitoso recupera el monitor de nuevo a UP.

Todos los tiempos e intervalos se expresan en segundos.

Crear un monitor Heartbeat

  1. Abre la página de Nueva Verificación de API.
  2. Elige el tipo Heartbeat.
  3. Establece el intervalo de ping esperado en segundos — con qué frecuencia se supone que tu tarea debe reportarse (por ejemplo, 3600 para una tarea horaria).
  4. Establece un período de gracia en segundos — el margen adicional que permites antes de declarar la tarea retrasada (por ejemplo, 300).
  5. Copia la URL de ping única que LoadFocus genera.
  6. Elige tus canales de alerta y guarda.

Hacer ping a la URL desde tu tarea

Haz que tu tarea llame a la URL de ping después de que finalice correctamente. Funcionan indistintamente GET, POST o HEAD.

La forma más sencilla es añadir una llamada curl al final de tu script o entrada cron:

curl -fsS https://apimonitor.loadfocus.com/heartbeat/<your-ping-id>

La opción -f hace que curl falle ante errores HTTP, -s lo mantiene silencioso y -S aun así muestra los errores reales. Ejecuta esto solo en caso de éxito — por ejemplo, como última línea de la tarea — para que una ejecución fallida no haga ping y el monitor detecte correctamente la ausencia.

Alertas y recuperación

  • Cuando transcurre intervalo + gracia sin ping, el monitor cambia a DOWN y se notifica a tus canales de alerta.
  • Cuando llega el siguiente ping, el monitor se recupera a UP y se envía una notificación de recuperación.

Esto te da una confirmación rápida y fiable de que tu trabajo programado realmente se está ejecutando — y una alerta clara en el momento en que se detiene silenciosamente.

Para verificaciones activas basadas en regiones, consulta en su lugar Cómo Crear una Nueva Verificación de API.