Cronjob- & Heartbeat-Monitoring
Merke, wenn dein Backup aufhört zu laufen — nicht erst, wenn du es brauchst.
Jeder Monitoring-Typ auf dieser Seite fragt etwas ab, das antwortet. Aber die Dinge, die am leisesten kaputtgehen, antworten auf gar nichts: das nächtliche Backup, der Import-Job, der Queue-Worker, das Aufräum-Skript. Sie lauschen auf keinem Port und haben keine URL — sie laufen, oder sie laufen eben nicht. Und wenn sie es nicht tun, merkt es niemand, bis das Backup gebraucht wird und die letzte Sicherung sechs Wochen alt ist. Heartbeat-Monitoring dreht die Richtung um: Deine Aufgabe meldet sich bei uns, und das Ausbleiben dieser Meldung ist der Alarm.
So funktioniert's
Beim Anlegen bekommt der Monitor eine eigene Ping-URL. Diese rufst du am Ende deines Jobs auf — ein angehängtes curl in der Crontab reicht. Trifft der Ping innerhalb des Intervalls plus der von dir gesetzten Karenz ein, gilt der Monitor als online. Bleibt er aus, schlägt der Monitor an und alarmiert über dieselben Kanäle wie deine übrigen Monitore. Weil der Ping erst nach dem eigentlichen Job ausgeführt wird, meldet ein abgebrochener Lauf sich automatisch nicht — du überwachst damit den Erfolg, nicht nur den Start.
Wann du es nutzt
- Nächtliche Datenbank- und Datei-Backups
- Cronjobs jeder Art, von Aufräumskripten bis zu Reports
- ETL- und Import-Läufe zwischen Systemen
- Queue-Worker und Hintergrundprozesse, die still sterben können
- Geplante Aufgaben in CI, Kubernetes-CronJobs oder systemd-Timern
- Geräte im Feld, die regelmäßig melden sollen, dass sie noch leben
Was du bekommst
Zeit seit dem letzten Ping, Uptime-Quote und die Historie ausgebliebener Läufe.
Beispiel
0 3 * * * backup.sh && curl -fsS https://uptimealien.de/ping/…
Der blinde Fleck jedes Uptime-Monitorings
Klassisches Monitoring beantwortet die Frage „läuft der Dienst“. Es kann aber grundsätzlich nicht beantworten, ob etwas passiert ist, das hätte passieren sollen. Ein Server, auf dem der Backup-Cronjob seit fünf Wochen wegen eines vollen Datenträgers scheitert, ist aus Sicht jedes HTTP-, TCP- oder Ping-Checks tadellos gesund. Genau deshalb sind ausgefallene Backups so verlässlich die unangenehmste Entdeckung im Betrieb: Der Ausfall ist nicht laut, er ist stumm, und man bemerkt ihn im ungünstigsten denkbaren Moment.
Einbau in bestehende Jobs
Die Anbindung ist bewusst so klein, dass sie keine Ausrede zulässt: Du hängst ein curl an den bestehenden Befehl an. Wichtig ist die Verknüpfung mit && statt mit einem Semikolon — so wird der Ping nur gesendet, wenn der Job mit Erfolg beendet wurde. Ein Job, der mit einem Fehler abbricht, sendet damit keinen Ping, und der Monitor schlägt zum erwarteten Zeitpunkt an. Dasselbe funktioniert in Kubernetes-CronJobs, systemd-Timern, GitHub-Actions-Workflows und jeder Sprache, die einen HTTP-Request absetzen kann.
Die richtige Karenz wählen
Neben dem Intervall stellst du eine Karenz ein — zusätzliche Zeit, die vergehen darf, bevor ein fehlender Ping als Ausfall gilt. Sie ist nötig, weil geplante Aufgaben nie auf die Sekunde genau laufen: Der Server ist beschäftigt, der Job dauert je nach Datenmenge unterschiedlich lang, ein Neustart verschiebt den Zeitplan. Als Faustregel eignet sich die typische Laufzeit des Jobs plus etwas Puffer. Zu knapp gewählt, weckt dich normale Schwankung; zu großzügig, verlierst du Zeit, in der du das Problem schon hättest beheben können.
Häufige Fragen
Was ist Heartbeat-Monitoring?
Eine umgekehrte Prüfung, auch Dead Man's Switch genannt: Statt dass ein Monitor deinen Dienst abfragt, meldet sich deine Aufgabe nach jedem erfolgreichen Lauf bei UptimeAlien. Bleibt diese Meldung aus, wird Alarm ausgelöst.
Wie binde ich einen Cronjob an?
Du hängst einen curl-Aufruf der Ping-URL an deinen bestehenden Befehl an, verknüpft mit &&. Ein SDK oder eine Installation ist nicht nötig — die URL findest du auf der Detailseite des Monitors.
Wird auch erkannt, wenn der Job zwar startet, aber fehlschlägt?
Ja, sofern du den Ping mit && anhängst. Dann wird er nur bei erfolgreichem Abschluss gesendet; ein Abbruch führt dazu, dass der Ping ausbleibt und der Monitor anschlägt.
Wozu die Karenz?
Geplante Aufgaben laufen nie exakt im Takt. Die Karenz ist die zusätzliche Zeit über das Intervall hinaus, die vergehen darf, bevor ein fehlender Ping als Ausfall gilt — ohne sie würde normale Schwankung ständig Alarme auslösen.
Ist die Ping-URL geheim?
Ja, behandle sie wie ein Passwort. Sie enthält ein zufälliges Token und ist die einzige Berechtigung, die zum Melden nötig ist. Wer sie kennt, kann den Monitor auf grün setzen — mehr aber auch nicht: Lesen oder Ändern ist darüber nicht möglich.
Was passiert, wenn ich den Monitor pausiere?
Eingehende Pings werden weiterhin vermerkt. So meldet der Monitor nach dem Fortsetzen nicht rückwirkend einen Ausfall für die Zeit, in der er pausiert war.
