I normali controlli di uptime interrogano un servizio dall’esterno. Questo non funziona per uno script di backup, un’importazione notturna o un worker di una coda: non hanno un indirizzo da controllare e, quando si fermano, nulla si rompe visibilmente finché qualcuno non ha bisogno dei dati. Un heartbeat ribalta la domanda: è il job a dare notizie di sé, e il silenzio è l’avviso.
Il job chiama il proprio URL quando termina, spesso con curl alla fine della riga del crontab. Il monitor conosce la pianificazione e concede un periodo di tolleranza ai job con tempi di esecuzione variabili. I ping all’avvio e in caso di errore rilevano anche i job che si bloccano, durano troppo o vengono eseguiti ma falliscono.
Esempio
0 3 * * * /usr/local/bin/backup.sh && curl -fsS -m 10 --retry 3 https://YOUR-PING-URL
Viene eseguito ogni giorno alle 03:00 e invia il ping solo se il backup riesce (&&). Se nessun ping è arrivato entro le 03:00 più il periodo di tolleranza, il job risulta down.