Een heartbeatmonitor bewaakt een cron job, back-upscript of geplande taak door te wachten tot deze zich meldt — bedoeld voor iedereen die wil weten wanneer een achtergrondtaak stilletjes stopt met draaien.
Overzicht
- De meeste monitors benaderen zelf iets om te controleren; een heartbeatmonitor werkt andersom — je taak roept InfraNest aan telkens wanneer deze klaar is.
- Als de melding niet op tijd binnenkomt, waarschuwt InfraNest je.
- Dit is de beste manier om een taak te betrappen die stopt met draaien zonder een duidelijke fout te geven.
Eén instellen
- Ga naar Monitoring en selecteer Monitor toevoegen.
- Kies Heartbeat / Cron-monitor als het type.
- Geef het een Monitornaam die je herkent in een melding — “Nachtelijke databaseback-up” is beter dan “job 1”.
- Stel het Controleer-interval in op hoe vaak de taak zou moeten draaien.
- Stel een Respijtperiode (seconden) in — extra tijd die is toegestaan voordat de taak als te laat wordt beschouwd. Een back-up die meestal vier minuten duurt maar soms acht, heeft een respijtperiode nodig die ruim langer is dan die overschrijding.
- Selecteer Monitor aanmaken.
Je voert voor dit type geen URL in — InfraNest maakt er een voor je aan zodra je opslaat.
Laat je taak zich melden
- Open de monitor en zoek de Ping-URL, samen met een kant-en-klare one-liner om te plakken.
- Voeg die regel toe aan het einde van je script of cron job, zodat deze alleen wordt uitgevoerd wanneer de taak daadwerkelijk is geslaagd:
0 3 * * * /usr/local/bin/backup.sh && curl -fsS -m 10 --retry 3 https://your-infranest-url/api/heartbeat/your-uuid
De && is belangrijk: dit betekent dat de melding alleen plaatsvindt als de back-up zelf succesvol is afgerond. Een mislukte taak blijft dan stil, en die stilte is wat de waarschuwing veroorzaakt.
- Gebruik Kopiëren in plaats van de URL over te typen — de identifier erin is uniek voor deze monitor.
Wat er daarna gebeurt
- Elke melding markeert de monitor als Actief en registreert het tijdstip als Laatste ping.
- Een gloednieuwe monitor blijft in afwachting totdat het eerste venster is verstreken, zodat je tijd hebt om de melding aan te sluiten zonder daarover gewaarschuwd te worden.
- Als er niets binnenkomt binnen het Controleer-interval plus de Respijtperiode (seconden), gaat de monitor Offline en wordt er een incident geopend, waardoor je gebruikelijke meldingskanalen worden geactiveerd.
- De volgende melding lost het incident op en laat je weten dat alles weer werkt — je hoeft het niet handmatig te sluiten.
NoteMonitor pauzeren kan veilig worden gebruikt bij een heartbeatmonitor: de ping-URL blijft normaal reageren, dus een taak die er nog steeds naartoe belt zal geen fouten gaan rapporteren. InfraNest stopt gewoon met kijken totdat je Monitor hervatten selecteert.
TipBehandel de ping-URL als een geheim. Iedereen die deze heeft, kan je taak als gezond rapporteren — waardoor een echte storing verborgen zou blijven.
Problemen oplossen
- Nog geen heartbeat ontvangen bij de monitor betekent dat InfraNest helemaal niets van de taak heeft gehoord. Voer de curl-regel handmatig uit vanaf dezelfde machine: als de monitor daardoor groen wordt, ligt het probleem in je script, niet hier.
- Als de machine geen uitgaande internetverbinding heeft, kan de melding niet aankomen — sta uitgaande HTTPS naar InfraNest toe.
- Een monitor die elke nacht op hetzelfde tijdstip een waarschuwing geeft, heeft meestal een Respijtperiode (seconden) die korter is dan de werkelijke worstcase-uitvoeringstijd van de taak.
Was dit artikel nuttig?