Los trabajos cron fallan silenciosamente. Un script de copia de seguridad deja de ejecutarse después de un movimiento del servidor, una rotación de contraseña interrumpe la importación nocturna o un disco lleno hace que el trabajo de facturación se bloquee a las 3 a. m. Nada falla, por lo que un monitor de tiempo de actividad normal permanece verde y solo se entera semanas después cuando necesita la copia de seguridad o cuando un cliente pregunta dónde está su factura. La monitorización de los latidos del corazón cierra esa brecha. Esta guía muestra cómo funciona y cómo configurarlo de forma gratuita en unos minutos.
¿Qué es la monitorización de los latidos del corazón?
Un monitor de funcionamiento regular comprueba su sitio web desde el exterior. Un monitor de latidos funciona al revés: su trabajo programado se registra. Obtiene una URL única y su trabajo la llama cada vez que finaliza. Si la llamada no llega a tiempo, el monitor sabe que algo salió mal y le avisa.
Esto detecta todo tipo de fallo silencioso a la vez:
- El trabajo nunca comenzó. La entrada
crontabse perdió, el servidor se reinició sin el programador o se reemplazó el contenedor. - El trabajo fracasó. Un error detuvo el script antes de que llegara al final.
- El trabajo cuelga. Comenzó pero está atascado en una base de datos bloqueada o en una API lenta y nunca termina.
- Todo el servidor ha desaparecido. Sin servidor ni ping, por lo que te enterarás incluso si no hay nadie más mirando.
¿Qué tareas programadas deberías monitorear?
Empieza por los trabajos que más te cuestan cuando se detienen sin que nadie se dé cuenta:
- Copias de seguridad de bases de datos y archivos. Una copia de seguridad que nunca verificas es una copia de seguridad que quizás no tengas.
- Guiones de facturación y facturación, renovaciones de suscripciones y conciliación de pagos.
- Importaciones y sincronizaciones de datos entre su tienda, su CRM, su almacén o un feed de proveedores.
- Colas de correo electrónico y boletines informativos enviados por un trabajador programado.
- Trabajos de renovación de certificados, como renovaciones SSL automáticas, y trabajos de limpieza que evitan que el disco se llene.
- El cron de WordPress o aplicación que publica publicaciones programadas y ejecuta tareas de mantenimiento.
El plan gratuito incluye 5 monitores de latidos, lo que es suficiente para cubrir los trabajos críticos de una pequeña empresa típica o de un puñado de sitios de clientes.
Cómo configurar el monitoreo gratuito de trabajos cron
1. Crea una cuenta gratuita
Regístrese en My Site Alerts con su dirección de correo electrónico. No hay tarjeta de crédito ni período de prueba.
2. Crea un latido
Abra Heartbeats en su panel y elija Crear latido. Asígnele un nombre claro, como Copia de seguridad nocturna de la base de datos, para que una alerta le indique exactamente qué falló.
3. Establecer el cronograma esperado y un período de gracia.
En Esperar un latido cada, ingrese la frecuencia con la que se ejecuta el trabajo: cada 15 minutos, cada hora, una vez al día. Luego, establezca el período de gracia aproximadamente en el tiempo que tarda en ejecutarse el trabajo, más un margen de seguridad. Una copia de seguridad que se ejecuta a las 2:00 y normalmente demora 20 minutos necesita un período de gracia de aproximadamente 30 a 40 minutos, por lo que una noche lenta no desencadena una falsa alarma.
4. Copie la URL de su latido
Cada latido tiene su propia URL secreta. Su trabajo le envía una solicitud GET o POST cada vez que se ejecuta. También puedes abrir la URL en tu navegador una vez para probarla: el latido debería subir.
5. Elija dónde van las alertas
El correo electrónico funciona de inmediato. También puedes enviar alertas a Slack, Discord, Telegram, Microsoft Teams o tu propio webhook, para que una carrera perdida llegue al lugar donde realmente buscas.
Cómo hacer ping a los latidos del corazón desde tu trabajo
crontab de Linux
Agregue la solicitud después de su comando, unida con &&, para que el ping solo se envíe cuando el trabajo se realice correctamente:
0 2 * * * /usr/local/bin/backup.sh && curl -fsS -m 10 --retry 3 https://mysitealerts.com/webhook-heartbeat/YOUR-CODE La opción -m 10 evita que curl se cuelgue si la red es lenta y --retry 3 cubre un breve problema de conexión. Si su servidor tiene wget en lugar de curl, wget -q -O /dev/null seguido de la URL hace el mismo trabajo.
Dentro de un guión
Coloque el ping en la última línea del script, una vez realizado el trabajo real. En un script de shell, agregue set -e en la parte superior para que cualquier comando fallido detenga el script antes de que llegue al ping. En Python, PHP o Node.js, realice una solicitud HTTP simple a la URL del latido como paso final del trabajo.
Paneles de control de alojamiento
En alojamiento compartido, agregue el mismo comando curl al final del trabajo cron en su panel de control. La mayoría de los paneles le permiten pegar una línea de comando completa, por lo que el mismo patrón && también funciona allí.
cron de WordPress
WordPress sólo ejecuta tareas programadas cuando alguien visita el sitio. Para una programación confiable, desactive el disparador incorporado, llame a wp-cron.php desde un trabajo cron de servidor real y agregue el ping de latido a esa misma línea. Ahora sabes que el cronograma se activa y se completa.
Errores comunes que provocan falsas alarmas (o que se pasan por alto)
- Hacer ping al inicio del trabajo. Eso sólo prueba que el trabajo comenzó. Haga ping al final, después de que el trabajo haya sido exitoso.
- Un período de gracia demasiado corto. Los trabajos se vuelven más lentos a medida que crecen los datos. Revise el período de gracia cada pocos meses.
- Ignorando las zonas horarias. Si el reloj del servidor y su horario no coinciden, un trabajo diario puede verse retrasado una hora. Establezca el intervalo esperado, no la hora del reloj de pared, y deje que la primera ejecución inicie el cronómetro.
- Haciendo ping con demasiada frecuencia. Los latidos están diseñados para trabajos que se ejecutan como máximo una vez por minuto; Los pings adicionales dentro del mismo minuto se ignoran.
- Compartir un latido entre trabajos. Cada trabajo necesita su propia URL; de lo contrario, un trabajo en buen estado oculta otro que se detuvo.
- Olvidar hacer una pausa durante el mantenimiento. Pause el latido mientras migra un servidor, para que el historial muestre solo incidentes reales.
Los latidos funcionan mejor junto con las comprobaciones de tiempo de actividad
Los latidos del corazón le indican que se está llevando a cabo el trabajo detrás de su sitio; Las comprobaciones de tiempo de actividad le indican que los visitantes pueden acceder a él. Juntos cubren ambas mitades. Si aún no ha configurado las comprobaciones del sitio web, siga nuestra guía sobre cómo monitorear el tiempo de actividad del sitio web de forma gratuita y agregue SSL y monitoreo de vencimiento del dominio mientras esté allí. Puede comprobar cualquier certificado ahora mismo con el verificador SSL.
Se necesitan unos cinco minutos para proteger su trabajo más importante. Cree su cuenta gratuita, agregue un latido para su respaldo y permítanos vigilarlo para que usted no tenga que hacerlo.
Preguntas frecuentes
¿Cuál es la diferencia entre el monitoreo cron y el monitoreo del tiempo de actividad?
El monitoreo del tiempo de actividad verifica una URL desde el exterior para ver si su sitio responde. El monitoreo cron o de latidos espera a que se registre su trabajo programado y le avisa cuando no llega a tiempo.
¿La monitorización de los latidos del corazón es realmente gratuita?
Sí. El plan gratuito incluye 5 monitores de latidos con correo electrónico, Slack, Discord, Telegram, Microsoft Teams y alertas de webhook. No hay tarjeta de crédito ni prueba que se agote.
¿Necesito instalar un agente en mi servidor?
No. Su trabajo solo necesita realizar una solicitud HTTP a su URL de latido, por ejemplo con curl o wget, que están disponibles en casi todos los servidores.
¿Cuánto debería durar el período de gracia?
Configúrelo al tiempo de ejecución normal del trabajo más un margen de seguridad. Un trabajo que normalmente dura 10 minutos se beneficia con un período de gracia de 15 a 20 minutos.
¿Puedo monitorear trabajos que se ejecutan una vez al día o una vez a la semana?
Sí. Establezca el intervalo esperado según la programación del trabajo, como 1 día o 7 días, y recibirá una alerta cuando se pierda una ejecución.