Een cron-jobmonitor werkt precies andersom dan een websitecheck: je job roept bij elke run een URL aan. Komt die aanroep niet op tijd binnen, dan krijg je een alert. Gebruik het voor back-ups, nachtelijke imports, queue workers en alles wat draait zonder dat iemand meekijkt.
De cron-jobmonitor aanmaken
Open Monitors, kies het filter Cron jobs en daarna New cron job.Kies onder The job runs voor On an interval of On a cron schedule.Vul bij een cron-schema de Cron expression uit je crontab in, bijvoorbeeld 0 3 * * *, en de Time zone waarin de crontab van de server draait. Het formulier toont tijdens het typen al de volgende runs, en houdt rekening met zomer- en wintertijd.Stel de Grace period in: hoe laat de ping mag zijn voordat we een alert sturen.Stel eventueel een Maximum run time in, zodat je een alert krijgt als een run te lang duurt.Vink de alertkanalen aan en kies Create monitor. Kopieer de Ping URL op de pagina die opent.
De URL aanroepen vanuit je job
De eenvoudigste opzet pingt als de job slaagt:
0 3 * * * /usr/local/bin/backup.sh && curl -fsS -m 10 –retry 3 -o /dev/null https://app.uptimecheck.com/api/hb/your-token
Met && ertussen gaat de ping alleen uit als de job slaagt. Een GET-, POST- of HEAD-request telt allemaal mee.
Looptijd, exitcodes en output
Roep de ping-URL met /start erachter aan zodra de job begint. Je ziet dan hoe lang elke run duurde, en de maximale looptijd kan een alert geven.Roep hem aan met /fail, of met de exitcode zoals /1, om door te geven hoe de run eindigde. /0 betekent geslaagd.POST de output van de job, dan zie je die bij mislukte runs en in de alert. We bewaren er 10.000 tekens van, het begin en het eind, en requests boven 64 kB worden geweigerd. Stuur van een lang log dus het laatste deel, zoals hieronder.
0 3 * * * curl -fsS -m 10 –retry 3 -o /dev/null https://app.uptimecheck.com/api/hb/your-token/start; /usr/local/bin/backup.sh > /tmp/backup.log 2>&1; code=$?; tail -c 60000 /tmp/backup.log | curl -fsS -m 10 –retry 3 –data-binary @- -o /dev/null https://app.uptimecheck.com/api/hb/your-token/$code
De pagina van de cron-job toont beide voorbeelden met je eigen ping-URL; kopieer ze daar. Voor Laravel, Kubernetes, GitHub Actions, systemd en Windows, zie voorbeelden van cron-job-pings. Meer over cron-job monitoring, en cron-jobs monitoren met heartbeats.