Entérese cuando una tarea programada no llegó a ejecutarse
Una copia de seguridad que deja de ejecutarse en silencio se parece exactamente a una que funciona, hasta que la necesita. Su tarea hace ping a AlertSleep al terminar; nosotros avisamos cuando ese ping no llega.
Facturación nocturna
OK0 3 * * * /usr/local/bin/billing-run \
&& curl -fsS https://api.alertsleep.com/v1/ping/YOUR-TOKEN
Una línea en su crontab
Sin agente, sin biblioteca, sin reglas de firewall más allá de HTTPS normal. Si la máquina llega a internet, puede dar parte.
Cree un check
Describa cuándo debe ejecutarse la tarea y cuánto puede retrasarse antes de que quiera enterarse. Recibe una URL de ping única.
Llame a la URL cuando la tarea termine
Añada una sola llamada curl al comando que ya ejecuta. Nada más cambia en la tarea.
Nosotros vigilamos el silencio
AlertSleep comprueba cada minuto las tareas vencidas. Si se pasa la ventana, sale el aviso, incluida la primera vez que una tarea deja de ejecutarse.
Dos formas de decir cuándo debe ejecutarse una tarea
Elija la que encaje con su manera de pensar la tarea.
Cada N minutos
Para tareas por intervalo: vaciar una cola cada cinco minutos, sincronizar cada hora. Indique el intervalo y nada más.
Una expresión cron
Para tareas atadas al reloj o al calendario. Pegue la misma expresión que usa su crontab y el check la sigue exactamente.
Su zona horaria, no la nuestra
La programación cron se evalúa en la zona que elija, así que una tarea fijada a las 03:00 locales sigue a las 03:00 tras el cambio de hora.
Un periodo de gracia
Las tareas reales empiezan tarde y se alargan. Defina cuánto retraso es normal y solo los excesos auténticos generan un aviso.
Tres señales, cualquier cliente HTTP
GET, POST y HEAD funcionan, así que curl, wget, PowerShell o dos líneas de HTTP desde dentro de la tarea valen igual.
Éxito
La tarea terminó. Es la única señal que necesita un check; todo lo demás es opcional.
https://api.alertsleep.com/v1/ping/YOUR-TOKEN
Inicio
Llámelo al empezar y AlertSleep registra cuánto dura cada ejecución, no solo que ocurrió.
https://api.alertsleep.com/v1/ping/YOUR-TOKEN/start
Fallo
La tarea se ejecutó y supo que había fallado. Un fallo explícito avisa de inmediato en vez de esperar a que venza la programación.
https://api.alertsleep.com/v1/ping/YOUR-TOKEN/fail
Detalle opcional
Envíe un código de salida, una duración o un mensaje breve junto al ping. Un campo que no podamos leer se descarta y el latido se registra igualmente: un extra mal formado nunca le cuesta la señal.
curl -fsS -X POST \
https://api.alertsleep.com/v1/ping/YOUR-TOKEN \
-d exit_code=0 \
-d duration_ms=48213 \
-d message="1482 invoices"
Cuando el ping no llega
Los checks de cron avisan por correo y en su panel de AlertSleep.
Aviso por correo
Se envía una vez cuando el check cae, con la programación, el periodo de gracia y la hora del último ping recibido.
Notificación en la aplicación
El mismo aviso llega a su lista de notificaciones, así que un check caído de madrugada sigue visible por la mañana.
Aviso de recuperación
Cuando la tarea vuelve a dar parte, se le informa de la recuperación. Ningún aviso se repite mientras un check sigue caído.
Checks de cron en todos los planes
También en el gratuito. Sin tarjeta para averiguar si sus tareas se ejecutan de verdad.
Preguntas frecuentes
¿Qué es la monitorización de cron?
La monitorización de cron —también llamada de latido u hombre muerto— vigila una señal que debería llegar. Su tarea programada llama a una URL al terminar; si esa llamada no llega a tiempo, recibe un aviso. Es lo contrario de la monitorización de disponibilidad, donde los que llamamos somos nosotros.
¿Por qué no basta con comprobar el código de salida en mi script?
Un código de salida solo existe si la tarea se ejecutó. Los fallos que duelen son aquellos en los que no se ejecutó nada: se borró la entrada del crontab, se reconstruyó el servidor, el contenedor nunca arrancó, el disco se llenó. Una tarea sin salida ni error es indistinguible de una sana, salvo que algo vigile su ausencia.
¿Funciona con CronJobs de Kubernetes, temporizadores de systemd o el Programador de tareas de Windows?
Sí. El check no presupone crontab: solo necesita que la tarea haga una petición HTTPS al terminar. Cualquier planificador capaz de ejecutar curl, y cualquier programa capaz de una llamada HTTP, puede dar parte.
¿Y si la tarea se ejecuta pero tarda mucho más de lo normal?
Llame al endpoint de inicio al empezar y al de éxito al terminar, y se registrará la duración de cada ejecución. El periodo de gracia decide cuánto retraso se tolera antes de dar el check por caído.
¿La URL de ping es un secreto?
Sí. El token de la URL es la única credencial de un endpoint que acepta llamadas sin autenticar, así que trátelo como una contraseña: fuera de repositorios públicos y fuera de los registros que comparta.
Entérese esta noche, no el trimestre que viene
Añada una llamada curl a su tarea programada más importante y entérese la próxima vez que no se ejecute.
Comenzar monitoreo gratis