Cronjob-monitoringEén URL per job

Cronjob-monitoring
voor gemiste runs.

Heartbeat-monitoring voor back-ups, rapporten en elke geplande taak. Elke job roept aan het eind zijn eigen URL aan, en je team krijgt een melding als een run uitblijft.

In elk abonnement, ook Free. Geen creditcard nodig.

Vertrouwd door teams waar uptime op één staat.

Lees klantverhalen

Zes manieren waarop een cronjob stil faalt. Elk ervan mist zijn ping.

Cronjob-monitoring maakt van stilte een melding. Elke job pingt Hyperping als hij draait, en een ping die niet op tijd binnenkomt, geldt als downtime. Het vangt wat logs niet kunnen: een job die nooit startte, schrijft helemaal geen fout weg.

  • 0 2 * * * · rebooted at 01:58no ping by 02:30 · alert

    De job die nooit startte

    Een reboot, een container die niet terugkwam, een crontab die bij een redeploy verloren ging. Er draait niets, dus er wordt ook geen fout gelogd. De ontbrekende ping is het enige spoor, en dat is genoeg.

    Zo werken healthchecks
  • backup.sh · exit 1&& curl skipped · alert

    De job die crashte

    Zet de ping met && achter het commando, en een run die met een fout eindigt, pingt nooit. Hyperping waarschuwt je zodra de respijtperiode voorbij is.

    Alleen pingen bij succes
  • /start 02:00 · no end pingdeadline passed · alert

    De job die blijft hangen

    Een lock die nooit vrijkomt, een query die vastzit op een tabel. Ping /start als de job begint en de URL als hij klaar is: de duur van elke run wordt gelogd, en een run die nooit eindigt, mist zijn deadline.

    Looptijd meten
  • 0 2 * * * · read as UTCcron mode · Europe/Paris

    Het schema in de verkeerde tijdzone

    Geef de healthcheck de eigen cron-expressie en tijdzone van de job. De deadline schuift mee met de zomertijd, dus een job die om 2:00 in Parijs draait, wordt om 2:00 in Parijs verwacht.

    Cron-expressiegenerator
  • worker · last ping 47 min agoevery 15 min · alert

    De worker die stilletjes stopte

    Een queue-consumer, een sync-loop, een scheduler in Laravel of Rails. Alles wat in een loop draait, kan bij elke ronde pingen, en de eenvoudige modus waarschuwt zodra de pings uitblijven.

    Eenvoudige modus
  • GitHub Actions · schedule offno ping · alert

    De geplande workflow die ongemerkt uitging

    GitHub schakelt geplande workflows in openbare repositories uit na 60 dagen zonder activiteit, en een CI-runner kan in de wachtrij blijven hangen. Een ping als laatste stap van de workflow laat je weten wanneer hij niet meer draait.

    Voorbeeld voor GitHub Actions

Eén URL per job. Eén regel in je crontab.

Geen agent en geen SDK. Een healthcheck is een URL die je job aanroept, en Hyperping houdt de klok in de gaten.

  1. 1

    Maak een healthcheck aan

    Noem hem naar de job en geef hem het schema van de job: een interval, of dezelfde cron-expressie en tijdzone. Voeg een respijtperiode toe die iets langer is dan een normale run.

  2. 2

    Ping de URL als de job klaar is

    Een HEAD-, GET- of POST-request vanuit alles wat HTTP spreekt. Koppel hem in een crontab met &&, zodat alleen een geslaagde run pingt. Voeg aan het begin /start toe om te loggen hoe lang elke run duurt.

  3. 3

    Krijg een melding als een run uitblijft

    Geen ping vóór het verwachte tijdstip plus de respijtperiode? Dan gaat de healthcheck offline: er opent een incident en je kanalen krijgen binnen enkele seconden een melding. De volgende ping sluit het af en stuurt een herstelmelding.

crontab -ebash
# Back up at 2:00 every night, ping Hyperping only if it succeeds
0 2 * * * /usr/local/bin/backup.sh && curl -fsS --retry 3 https://hc.hyperping.io/tok_8f3kq2Lm9xV4

Eenvoudig of cron. In de eigen tijdzone van de job.

Een healthcheck weet wanneer de volgende run verwacht wordt, dus hij meldt de run die niet plaatsvond, niet pas uren later als iemand het opmerkt.

  1. 1

    Eenvoudige modus, voor loops en workers

    Verwacht een ping om de zoveel minuten, uren of dagen, vanaf 1 minuut. De klok begint bij elke ping opnieuw, wat past bij workers en syncs die in een loop draaien.

  2. 2

    Cron-modus, voor geplande jobs

    Plak de expressie van vijf velden van de job en kies de tijdzone. Elke run wordt verwacht op het moment dat cron hem zou starten, inclusief weekenden en de overgang naar zomer- en wintertijd. Twijfel je over de syntax? Gebruik de cron-expressiegenerator.

  3. 3

    Respijt voor trage runs

    Hoe lang er na het verwachte tijdstip wordt gewacht voordat er een melding uitgaat: 10 minuten, tenzij je dat aanpast. Een back-up die meestal 4 minuten duurt, kan er 30 krijgen, zodat niemand wordt opgeroepen voor een trage nacht.

Schedule · Nightly database backupCron mode
Mode
Cron
Expression
0 2 * * *
Timezone
Europe/Paris
Grace period
30 minutes
Down if no ping by
Oct 7, 02:30 CEST
Next expected runs
  • Wed, Oct 7 · 02:00 CEST
  • Thu, Oct 8 · 02:00 CEST
  • Fri, Oct 9 · 02:00 CEST

In de cron-modus volgt de deadline de expressie, niet de laatste ping. Een back-up die vannacht om 02:04 pingt, wordt morgen nog steeds om 02:00 verwacht, met 30 minuten respijt.

Een gemiste run is een incident. Je team hoort het als eerste.

Healthchecks worden om de paar seconden getoetst aan hun deadline, dus de melding gaat uit zodra de respijtperiode afloopt, en het incident staat in dezelfde lijst als je andere monitors.

  1. Onlinepinged on schedule

    De laatste run pingde op tijd. De volgende deadline volgt uit het schema: de volgende ping in de eenvoudige modus, de volgende cron-run in de cron-modus.

  2. Respijtdue, no ping yet

    De run is verwacht en heeft nog niet gepingd. De healthcheck blijft up en er gaat niets weg tot het respijt afloopt, dus een job die een paar minuten uitloopt blijft stil.

  3. Offlinemissed its scheduled ping

    De respijtperiode is voorbij. Er opent een incident, elk kanaal krijgt tegelijk een melding, en de healthcheck blijft offline tot de job weer pingt: één melding per gemiste run, niet één per minuut.

  4. Hersteldback on schedule

    De volgende ping sluit het incident en stuurt een herstelmelding via dezelfde kanalen. Meldingen in PagerDuty en Opsgenie sluiten vanzelf.

Waar je team werkt.Overal tegelijk, zodra hij te laat is.

E-mail en SMS bereiken elk lid van het project, Slack, Discord en Telegram de kanalen die je hebt gekoppeld. Stuur de melding naar PagerDuty of Opsgenie om daar de piketdienst op te roepen.

  • Slack
  • PagerDuty
  • Opsgenie
  • Discord
  • Telegram
  • E-mail
  • SMS

Naast je uptimechecks. Op dezelfde statuspagina.

Healthchecks staan in hetzelfde account als je monitors, incidenten en statuspagina’s, dus een gemiste import en een trage API zie je in hetzelfde dashboard.

  • Oct 06 02:48:21 · OK · 4m 09slast 20 pings kept

    Elke run, gelogd

    Elke ping legt het tijdstip, het IP-adres, de methode en de user agent vast, en de duur van de run als die met /start begon. Een grafiek over 24 uur toont de runs uur per uur.

    Pinggeschiedenis
  • Nightly database backup · 99.93%uptime bars · status page

    Op je statuspagina

    Zet een healthcheck op een statuspagina, naast je websites en API’s. Klanten zien de import, de sync of het rapport als nog een dienst, online of offline, met de uptime erbij.

    Statuspagina’s
  • 30 days · uptime · CSVweekly report email

    In je rapporten

    De uptime van een healthcheck wordt berekend uit zijn storingen, standaard over 30 dagen, is te exporteren naar CSV en staat in het wekelijkse rapport naast je monitors.

    Rapportage

Healthchecks als code. Via de API, Terraform of je AI-agent.

  1. 1

    Maak ze aan via de API

    POST name, een cron-expressie en de timezone, of period_value en period_type, plus de respijtperiode. Het antwoord bevat de ping-URL die je aan je job meegeeft.

  2. 2

    Of declareer ze in Terraform

    De resource hyperping_healthcheck houdt de healthcheck van elke job naast de infrastructuur die hem draait, en geeft de ping-URL terug als gevoelige waarde.

  3. 3

    Vraag je AI-agent of de back-up gedraaid heeft

    De MCP-server toont je healthchecks met hun status, laatste ping en volgende deadline, zodat Claude, Cursor of een andere agent kan antwoorden op “zijn de jobs van vannacht gedraaid?”.

POST /v2/healthchecksbash
curl -X POST https://api.hyperping.io/v2/healthchecks \
  -H "Authorization: Bearer $API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Nightly database backup",
    "cron": "0 2 * * *",
    "timezone": "Europe/Paris",
    "grace_period_value": 30,
    "grace_period_type": "minutes"
  }'

Een gids voor je scheduler. Waar de ping hoort, en hoe hij faalt.

Elke scheduler verbergt fouten op zijn eigen manier. Elke gids is een geteste setup: wat er misgaat, hoe je het ziet met de tools van de scheduler zelf, en de healthcheck die de gemiste run opvangt. Gidsen in het Engels.

Een dienst die altijd moet antwoorden? Dat is uptime-monitoring.

Healthchecks wachten tot je jobs zich melden. Uptime-monitors roepen je websites en API’s tot elke 30 seconden aan, vanuit maximaal 17 regio’s. De meeste teams gebruiken beide, in hetzelfde abonnement.

Wat 50 of 500 jobs kosten. Gratis abonnementen inbegrepen.

Monitor je alleen cronjobs, dan is Healthchecks.io goedkoper. Hyperping loont als hetzelfde abonnement ook je websites en API’s bewaakt en je statuspagina draait: healthchecks tellen mee in de monitors van het abonnement, er wordt niets per job gerekend, en Essentials bevat 3 gebruikers.

Prijzen voor cronjob-monitoring: Hyperping, Healthchecks.io en Cronitor, gratis en bij 50 of 500 jobs
MaandprijsUSD, maandelijkse facturatie, één gebruikerHyperpingHealthchecks tellen als monitorsHealthchecks.ioCron-monitoring, open sourceCronitorGefactureerd per monitor en per gebruiker
Gratis abonnement
20 jobsGedeeld met de uptime-monitors
20 jobsHobbyist
5 jobsHacker, 1 gebruiker
50 jobs
$29Essentials, $24 bij jaarlijkse betaling
$20Business, tot 100 jobs
$10550 × $2, plus $5 per gebruiker
500 jobs
$299Business, $249 bij jaarlijkse betaling
$80Business Plus, tot 1.000 jobs
$1,005500 × $2, plus $5 per gebruiker
Ook in de prijs
Uptime-monitors, statuspagina’s, piketdienst voor monitorsBinnen hetzelfde aantal monitors
Alleen cron-monitoringOpen source, gratis zelf te hosten
Uptime-checks, statuspaginaOok per monitor gefactureerd

Prijzen gecontroleerd op 8 oktober 2026 op de prijspagina van elke aanbieder. Alle tools en hun limieten naast elkaar: de beste tools voor cronjob-monitoring (in het Engels).

Wat teams zeggen over Hyperping.

Guillermo Rauch
CEO, Vercel
@hyperping is echt geweldig
Fabrice Gregoire
Site Reliability Engineer, Alma
Binnen ons bedrijf staat Hyperping erom bekend dat het sneller reageert dan Datadog. We krijgen meldingen van Hyperping meestal eerder dan van Datadog.
Pierre Renaudin
CTO, Slite
We kozen voor Hyperping om onze gebruikers een hoogwaardig dashboard voor incidenten en statusrapportage te bieden.
Moritz Dausinger
CEO & Founder, Refiner
We krijgen realtime meldingen van Hyperping als de app plat ligt. Die komen soms zelfs binnen voordat AWS het merkt of ons waarschuwt.
Gary Gaspar
CEO & Founder, Marker.io
We kunnen ons niet meer voorstellen dat we ons SaaS-bedrijf zonder Hyperping zouden runnen.
Jakob Bo Storjohann
CEO, Ideanote
Hyperping scoort op alle fronten: van een soepele setup tot gemoedsrust en attente klantenservice.

Vragen over cronjob-monitoring.

Wat is cronjob-monitoring?

Cronjob-monitoring controleert of geplande taken echt draaien. Elke job pingt een unieke URL als hij klaar is, en de monitoringdienst waarschuwt je als een ping niet op tijd binnenkomt. Het vangt wat logs niet kunnen: een job die nooit startte, schrijft helemaal geen fout weg. Hyperping noemt deze monitors healthchecks.

Hoe monitor ik een cronjob?

Maak een healthcheck aan met het schema van de job, als interval of als cron-expressie met tijdzone, en een respijtperiode. Kopieer de ping-URL en voeg aan het eind van de job een request toe, bijvoorbeeld && curl -fsS gevolgd door de URL in je crontab. Komt de ping niet binnen vóór het verwachte tijdstip plus de respijtperiode, dan waarschuwt Hyperping je.

Wat is heartbeat-monitoring, of een dead man’s switch?

Hetzelfde idee onder andere namen. In plaats van dat een monitor je dienst controleert, stuurt je job bij elke run een signaal, de heartbeat, en de melding gaat af zodra dat signaal wegvalt. Het past bij alles zonder URL om te controleren: cronjobs, back-ups, queue-workers, ETL-pipelines en geplande CI-workflows.

Komt u van de heartbeats in Opsgenie?

Opsgenie stopt op 5 april 2027, heartbeats inbegrepen. Elke heartbeat wordt een healthcheck met hetzelfde interval, en de ping-URL ervan vervangt de Opsgenie-ping in uw job. Eén verschil: een gemiste run alarmeert alle kanalen tegelijk in plaats van via uw on-callrooster te lopen. Moet er iemand gewekt worden, stuur de healthcheck-alerts dan naar PagerDuty. De migratiegids voor Opsgenie bevat een script dat ze allemaal opnieuw aanmaakt.

Hoe weet ik of een cronjob is mislukt?

Ping alleen als de job slaagt: zet in een shell het request met && achter het commando, en roep in code de URL aan als het werk klaar is. Een job die crasht, met een fout eindigt of nooit start, stuurt dan niets, en Hyperping waarschuwt je zodra de respijtperiode voorbij is. Hyperping slaat de exitcode en de output van de job niet op, dus bewaar je logs voor het waarom.

Wat is een respijtperiode bij cron-monitoring?

Dat is hoe lang Hyperping na het verwachte tijdstip wacht voordat er een melding uitgaat. Een back-up die om 2:00 gepland staat met een respijtperiode van 30 minuten, mag pingen tot 2:30. Stel hem iets ruimer in dan de gebruikelijke duur van de job, zodat niemand wordt opgeroepen voor een trage run. Hij begint bij 1 minuut en staat in het dashboard standaard op 10 minuten.

Begrijpt Hyperping cron-expressies en tijdzones?

Ja. Geef een healthcheck in de cron-modus de expressie van vijf velden van de job, zoals 0 9 * * 1-5, en de tijdzone, zoals America/New_York. Hyperping berekent daaruit elke verwachte run, dus weekenden zonder runs geven geen melding en de overgang naar zomer- of wintertijd gaat vanzelf goed. Stel een expressie op of controleer hem met de cron-expressiegenerator.

Kan ik zien hoe lang mijn cronjobs duren?

Ja. Ping de URL met /start erachter als de job begint, en de gewone URL als hij eindigt. De geschiedenis van de healthcheck toont de duur van elke run, met het tijdstip, het IP-adres, de methode en de user agent van elke ping. Een run die start maar nooit eindigt, mist zijn deadline en geeft een melding, net als een gemiste run.

Kan ik Kubernetes CronJobs, GitHub Actions of geplande taken in Windows monitoren?

Ja. Alles wat een HTTP-request kan doen, kan een healthcheck pingen: curl of wget in een crontab, een systemd-timer of een Kubernetes CronJob, een stap aan het eind van een workflow in GitHub Actions of GitLab CI, Invoke-WebRequest in een geplande taak in Windows, of een request vanuit je code in een scheduler van Laravel, Rails, Django of Node.js.

Wat is het verschil tussen cronjob-monitoring en uptime-monitoring?

Uptime-monitoring controleert een dienst van buitenaf: Hyperping roept je website of API tot elke 30 seconden aan en waarschuwt als die niet meer antwoordt. Cronjob-monitoring werkt andersom: je job roept Hyperping aan, en stilte is de storing. De meeste teams hebben beide nodig, en Hyperping draait ze naast elkaar. Zie uptime-monitoring.

Is cronjob-monitoring gratis?

Healthchecks zitten in elk abonnement, ook in het gratis abonnement. Elke healthcheck telt als een van de monitors van je abonnement: 20 bij Free, 50 bij Essentials, 250 bij Pro en 1.000 bij Business, gedeeld met je uptimechecks. Zie de prijzen.

Hoe verhoudt Hyperping zich tot Cronitor of Healthchecks.io?

Cronitor gaat dieper in op analyses van jobs, en Healthchecks.io is open source en gratis te self-hosten. Hyperping houdt cron-monitoring bij elkaar met uptimechecks, statuspagina’s en incidenten, in één account. Zie Hyperping vs. Cronitor en Hyperping vs. Healthchecks.io, of alle tools naast elkaar in de beste tools voor cronjob-monitoring.

Je cronjobs bewaakt, binnen een minuut.