Heartbeat-Monitoring
Das nächtliche Backup, das leise nicht mehr läuft, ist der Ausfall, den niemand sieht. Lassen Sie jeden Job sich selbst melden und erfahren Sie vom Lauf, der ausblieb.
Die Prüfung, die in Ihrer Infrastruktur läuft
Jede andere unserer Prüfungen fragt von außen: Ist der Port offen, antwortet die Seite, existiert der Eintrag noch. Ein Cronjob beantwortet keine davon — er läuft auf einer Maschine, die niemand erreicht, er erzeugt keinen Endpunkt, und wenn er leise aussetzt, ist das einzige Symptom ein Backup, das niemand gemacht hat, oder eine Rechnung, die niemand verschickt hat. Heartbeat dreht das um. Pulsitor gibt dem Job ein privates Token, der Job schickt es am Ende jedes erfolgreichen Laufs in einem Header an eine feste Adresse, und wir beobachten die Uhr. Verstreicht das Fenster ohne Ping, öffnet sich der Vorfall von selbst — über dieselben Kanäle wie bei jeder anderen Prüfung.
0 3 * * * /usr/local/bin/backup.sh && curl -fsS -m 10 --retry 3 -H "X-Heartbeat-Token: YOUR-TOKEN" https://external-services.pulsitor.com/heartbeat/ping
Hinter den Befehl gehängt, damit ein fehlgeschlagenes Backup niemals Erfolg meldet.
So funktioniert eine Heartbeat-Prüfung
Was Pulsitor vom ersten Tag an stark macht.
Der Job meldet sich selbst
Fügen Sie eine Zeile am Ende Ihres Cron-Eintrags, Workers oder Deploy-Skripts hinzu. Eine GET-, POST- oder HEAD-Anfrage mit dem Monitor-Token in einem Header genügt — kein Agent, keine Bibliothek, nichts zu installieren.
Periode und Puffer bestimmen Sie
Sagen Sie, wie oft der Job sich melden soll — von einer Minute bis zu einer Woche — und wie spät er sein darf, bevor es als verpasst gilt. Ein Backup, das üblicherweise zwanzig Minuten dauert, bekommt zwanzig Minuten Kulanz.
Die Stille öffnet den Vorfall
Verstreicht das Fenster ohne Ping, beginnt der Vorfall in dem Moment, in dem die Meldung fällig war, nicht wenn wir es bemerkt haben. Und er schließt sich selbst, sobald der Job wieder meldet.
Was damit überwacht wird
Alles, was nach Zeitplan laufen soll und keine eigene Adresse hat.
Cronjobs
Nächtliche Backups, Rechnungsläufe, Importe, Cache-Warmup. Der Klassiker: eine Crontab-Zeile, die beim Neuaufbau des Servers verstummte und einen Monat lang niemandem auffiel.
Queue-Worker
Ein abgestürzter Worker lässt die Warteschlange leise anwachsen. Ein Heartbeat vom Ende jeder Charge sagt Ihnen, dass er wirklich verarbeitet und nicht bloß in der Prozessliste steht.
Backups und Exporte
Melden Sie erst, wenn der Dump fertig und der Upload bestätigt ist. Ein Backup, das vor dem Erfolg meldet, ist schlimmer als gar kein Monitoring.
Geräte und Agenten
IoT-Geräte, Edge-Boxen und Skripte hinter NAT, die aus dem Internet niemand erreicht. Von außen nicht anpingbar, aber sie können sich melden.
Eine Zeile in dem Job, den Sie schon haben
Die ganze Integration ist eine Anfrage: Ihr Token in einem Header, geschickt am Ende des Laufs, wenn die Arbeit tatsächlich geklappt hat.
Crontab
0 3 * * * /usr/local/bin/backup.sh && curl -fsS -m 10 --retry 3 -H "X-Heartbeat-Token: YOUR-TOKEN" https://external-services.pulsitor.com/heartbeat/ping
Hinter den Befehl gehängt, damit ein fehlgeschlagenes Backup niemals Erfolg meldet.
Shell-Skript
#!/bin/sh set -e pg_dump mydb | gzip > /backups/mydb.sql.gz aws s3 cp /backups/mydb.sql.gz s3://backups/ curl -fsS -m 10 --retry 3 -H "X-Heartbeat-Token: YOUR-TOKEN" https://external-services.pulsitor.com/heartbeat/ping
Ein kurzes Timeout und einige Wiederholungen verhindern, dass ein langsames Netz einen falschen Vorfall öffnet.
Anwendungscode
Http::withHeaders(['X-Heartbeat-Token' => $token])
->timeout(10)
->retry(3, 200)
->get('https://external-services.pulsitor.com/heartbeat/ping');
Jeder HTTP-Client genügt. Aus der Antwort lesen wir nichts außer ihrem Eintreffen.
Warum einen Job so überwachen
Fängt das stille Versagen
Ein Job, der nie startet, wirft keinen Fehler und schreibt kein Log. Das einzige Signal ist sein Ausbleiben — und genau dafür ist ein Heartbeat gebaut.
Reicht, wohin Sonden nicht reichen
Hinter die Firewall, auf ein Notebook, in ein internes Netz, auf ein Gerät ohne öffentliche Adresse. Wer nach außen anfragen kann, kann überwacht werden.
Gleiche Vorfälle, gleiche Kanäle
Ein verpasster Heartbeat ist ein Vorfall wie jeder andere: dieselben Kanäle, dieselbe Historie und dieselben Statusseiten, die Ihre Kunden schon lesen.
Heartbeat-Monitoring in Zahlen
Was die Prüfung wirklich tut.
| Eigenschaft | Wert |
|---|---|
| Was geprüft wird | Ob eine Anfrage Ihres Jobs im erwarteten Fenster eintrifft |
| Akzeptierte Methoden | GET, POST, HEAD |
| Wie der Monitor erkannt wird | Token im Header X-Heartbeat-Token oder als Authorization: Bearer |
| Erwartete Periode | 1 Minute bis 7 Tage |
| Kulanzzeit | 30 Sekunden bis 24 Stunden |
| Wann ein Vorfall öffnet | Ein erwartetes Fenster verstrich ohne Ping |
| Benachrichtigungskanäle | 14 |
| Verfügbar in | Bezahlte Tarife, ab 6 EUR pro Monat |
Fragen zum Heartbeat-Monitoring
Was ein Heartbeat sagen kann und was nicht.
Was genau ist ein Heartbeat-Monitor?
Ein Monitor ohne Ziel. Statt dass wir Ihren Dienst aufrufen, ruft Ihr Job bei jedem Lauf eine Adresse von uns auf und bringt sein eigenes Token in einem Header mit. Die Prüfung gilt als bestanden, wenn die Anfrage rechtzeitig eintrifft, und als fehlgeschlagen, wenn nicht.
Wann soll der Job den Ping schicken?
Ganz am Ende, nachdem die Arbeit geklappt hat. Ein Aufruf zu Beginn würde einen Lauf melden, der auf halbem Weg noch scheitern kann — genau der Ausfall, den Sie erwischen wollen.
Wozu dient die Kulanzzeit?
Echte Jobs driften. Die Kulanzzeit sagt, wie spät eine Meldung sein darf, bevor der Monitor sie aufgibt — damit ein Backup, das gelegentlich zehn Minuten länger läuft, nachts niemanden weckt.
Warum steht das Token im Header und nicht in der URL?
Weil ein Geheimnis in einer Adresse keines bleibt: Es landet in Zugriffsprotokollen, in jedem Proxy auf dem Weg, in der Shell-History und in der Prozessliste der Maschine, auf der der Job läuft. Im Header landet es in keinem davon, und alle Monitore rufen dieselbe Adresse auf.
Kann ich einen Job hinter der Firewall überwachen?
Ja, und genau darum geht es. Nichts muss Ihre Maschine erreichen — der Job muss nur eine ausgehende HTTPS-Anfrage senden können.
Was passiert, wenn der Job wieder meldet?
Der Vorfall löst sich beim nächsten Ping von selbst, und die Entwarnung geht über dieselben Kanäle wie die Meldung.
Ist Heartbeat-Monitoring im kostenlosen Plan enthalten?
Nein. Heartbeat-Monitore gehören zu den bezahlten Plänen, neben den DNS-, SSL- und Domain-Ablaufprüfungen.
Einen Job in 3 Schritten überwachen
Legen Sie einen Heartbeat-Monitor an, benennen Sie ihn nach dem Job und sagen Sie, wie oft er sich melden soll.
Kopieren Sie das Token in den Job und schicken Sie es am Ende jedes erfolgreichen Laufs im Header mit.
Wählen Sie die Benachrichtigungskanäle und lassen Sie uns die Uhr im Auge behalten.