UStackUStack
FerrisPulse icon

FerrisPulse

FerrisPulse monitoriza jobs en segundo plano con pings de heartbeat y alerta cuando se detienen cron/colas/backup; envía recuperación al reanudarse.

FerrisPulse

¿Qué es FerrisPulse?

FerrisPulse es un servicio de monitorización de heartbeats para trabajos en segundo plano y automatizaciones programadas. En lugar de verificar si una app responde a solicitudes HTTP, espera un “ping” de éxito de tus cron jobs, workers de cola, backups y otros scripts.

Si el siguiente heartbeat esperado no llega en el intervalo configurado, FerrisPulse envía una alerta de caída y luego un email de recuperación automáticamente cuando los pings se reanudan. El objetivo es convertir el “fallo silencioso” (un job que deja de ejecutarse mientras el resto del sistema parece saludable) en un incidente visible con una línea temporal del incidente.

Características clave

  • Monitorización de heartbeats para cadencias de jobs esperadas: FerrisPulse vigila un ping de éxito entrante según un horario (p. ej., horario o nocturno) y trata los pings faltantes como una condición de caída.
  • URL de ping de éxito por monitor: copias una URL de ping específica del monitor y la llamas vía HTTP POST solo después de que el job finalice con éxito, para que el “heartbeat” refleje trabajo completado.
  • Alertas de caída más emails de recuperación: cuando falta un heartbeat, FerrisPulse envía una alerta de caída; cuando llega el siguiente ping, envía un email de recuperación y cierra el incidente.
  • Línea temporal de incidentes e historial de heartbeats: el dashboard muestra estado, historial de heartbeats e intervalos de incidentes en lugar de requerir reconstruir fallos desde logs.
  • Soporte para cadencia configurable y período de gracia: los monitores incluyen un intervalo esperado y pueden incluir un período de gracia para variabilidad en tiempo de ejecución.

Cómo usar FerrisPulse

  1. Crea un monitor para el job que quieres rastrear, establece el intervalo esperado (cadencia) y añade un período de gracia si es necesario.
  2. Copia la URL de ping del monitor.
  3. En tu automatización, envía un HTTP POST a la URL de ping solo después de que el job se complete con éxito.
  4. Deja FerrisPulse ejecutándose; detectará heartbeats faltantes, enviará alertas de caída y luego emails de recuperación cuando los pings se reanuden.

Casos de uso

  • Cron job que debe ejecutarse cada hora: Establece un monitor horario y haz ping a la URL después de que el script finalice. Si el script deja de ejecutarse silenciosamente durante varias horas, FerrisPulse envía una alerta de caída con la cadencia esperada y un enlace al dashboard.
  • Verificación de snapshots de backup: Para backups nocturnos, configura un monitor diario y emite el ping solo después de que el backup se complete con éxito. Esto ayuda a detectar casos donde la tubería de backup se atasca sin activar alarmas de uptime de la app más amplias.
  • Salud de workers de cola (trabajo completado, no solo salud del servidor): Al usar workers de cola, envía el ping de éxito después de que el procesamiento finalice. FerrisPulse puede alertar cuando la cadencia esperada de trabajo exitoso se detiene.
  • Tubería ETL/reporting programada: Para sincronizaciones de facturación o informes horarios/diarios, haz ping al final del workflow. FerrisPulse mantiene una línea temporal de incidentes para que las ejecuciones fallidas sean un evento rastreable.
  • Scripts de automatización activados por infraestructura programada: Ya sea que el horario sea interno o externo, el workflow es el mismo: envía un ping después de que el script se complete con éxito y deja que FerrisPulse detecte el silencio.

Preguntas frecuentes

¿Cómo notifico a FerrisPulse que un job se ejecutó?

Llamas a una URL de ping HTTP POST específica del monitor después de que el job finalice con éxito. FerrisPulse espera pings en la cadencia configurada.

¿Qué activa una alerta?

Una alerta se activa cuando el siguiente heartbeat/ping esperado no llega en la cadencia monitorizada (con soporte para período de gracia).

¿FerrisPulse alerta repetidamente durante un incidente?

La página describe una alerta de caída por incidente y un email de recuperación separado cuando el ping regresa, evitando una tormenta de alertas duplicadas.

¿Dónde puedo ver qué pasó?

FerrisPulse proporciona una vista de dashboard que incluye estado, historial de heartbeats, intervalos de incidentes y comportamiento de alertas en un solo lugar.

¿Qué sistemas de jobs soporta?

El sitio indica que se puede usar con cron, systemd timers y ecosistemas de workers/schedulers como BullMQ, Sidekiq, Celery, GitHub Actions, más lenguajes/entornos como Bash, Node.js, Python y Ruby.

Alternativas

  • Monitorización de uptime/comprobaciones de salud (verificaciones de endpoints HTTP): Útil para la disponibilidad de la app, pero puede pasar por alto el “fallo silencioso” donde el servidor web está sano mientras los jobs en segundo plano (cron/colas/backups) no se ejecutan.
  • Alertas basadas en logs: Las alertas se activan por mensajes de error a posteriori, pero aún puede requerir revisar logs activamente y no detecta ejecuciones faltantes tan directamente como un heartbeat.
  • Notificaciones de programadores de jobs (alertas integradas de cron/systemd/GitHub Actions): Algunos entornos notifican fallos, pero el flujo de trabajo difiere porque FerrisPulse se centra en un ping explícito de éxito y monitoriza el ritmo esperado.
  • Herramientas de monitorización de colas enfocadas en backlog/throughput: Estas rastrean el comportamiento de workers y colas, pero FerrisPulse monitoriza específicamente la presencia de heartbeats de éxito en el momento en que finaliza el trabajo.
FerrisPulse | UStack