Heartbeat-Monitoring

Cron-Job-Monitoring — erfahre, wenn deine geplanten Jobs still fehlschlagen.

Ein Dead Man's Switch für deine Backups, ETL-Pipelines und Hintergrund-Worker: Jeder Lauf pingt UptimeEye an, und sobald ein Ping ausbleibt, wirst du alarmiert. Kein Ping, keine Ausreden.

Keine Kreditkarte nötig • Kommerzielle Nutzung erlaubt • Einrichtung mit einem curl-Befehl

So funktioniert's

Leg einen Monitor an, hol dir eine eindeutige Beat-URL und füge deinem Job eine Zeile hinzu. UptimeEye erwartet bei jedem geplanten Lauf einen Ping — und alarmiert dich in dem Moment, in dem einer fehlt.

01

Füge deiner Crontab eine Zeile hinzu

Das && macht daraus einen Dead Man's Switch: Der Ping wird nur ausgelöst, wenn das Backup erfolgreich ist. Schlägt das Skript fehl — oder läuft es gar nicht — kommt kein Ping an und UptimeEye alarmiert dich.

# Ping UptimeEye only if the backup succeeds (dead man's switch)
0 3 * * * /backup.sh && curl -fsS https://api.uptimeeye.com/v1/beat/YOUR_TASK_ID
02

Miss die Laufzeit mit start / success / fail

Bei längeren Jobs signalisierst du Start und Ergebnis getrennt. UptimeEye misst die Laufzeit zwischen /start und /success, und ein /fail-Ping löst sofort einen Alarm aus.

#!/bin/bash
# Signal the start — UptimeEye begins measuring runtime
curl -fsS https://api.uptimeeye.com/v1/beat/YOUR_TASK_ID/start

if /usr/local/bin/nightly-etl.sh; then
  # Success: stops the timer and records the runtime
  curl -fsS https://api.uptimeeye.com/v1/beat/YOUR_TASK_ID/success
else
  # Failure: triggers an alert immediately
  curl -fsS -X POST https://api.uptimeeye.com/v1/beat/YOUR_TASK_ID/fail
fi
03

Läuft überall — GitHub Actions, Kubernetes, alles mit curl

Die Beat-Endpunkte akzeptieren HEAD-, GET- und POST-Anfragen ohne Authentifizierungs-Header. Jeder Scheduler, der eine HTTP-Anfrage senden kann, kann sich also melden — CI-Pipelines, Kubernetes-CronJobs, Serverless-Funktionen oder ein Raspberry Pi in deinem Schrank.

name: nightly-job
on:
  schedule:
    - cron: "0 3 * * *"

jobs:
  run:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Run the job
        run: ./scripts/nightly-job.sh
      - name: Report success to UptimeEye
        if: success()
        run: curl -fsS https://api.uptimeeye.com/v1/beat/${{ secrets.UPTIMEEYE_TASK_ID }}
      - name: Report failure to UptimeEye
        if: failure()
        run: curl -fsS -X POST https://api.uptimeeye.com/v1/beat/${{ secrets.UPTIMEEYE_TASK_ID }}/fail

Alles, was deine Hintergrund-Jobs brauchen

Echte Cron-Ausdrücke mit Zeitzonen

Definiere Zeitpläne als echte Cron-Ausdrücke (z. B. 0 3 * * *) mit Zeitzone oder als einfache Intervalle. UptimeEye weiß genau, wann jeder Lauf fällig ist — Sommer-/Winterzeit inklusive.

Konfigurierbare Karenzzeiten

Jobs laufen manchmal etwas später. Setz pro Monitor eine Karenzzeit von 0 bis 1440 Minuten, damit du nur alarmiert wirst, wenn wirklich etwas schiefläuft — nicht, wenn ein Backup fünf Minuten länger braucht.

Laufzeit-Tracking

Pinge /start, wenn der Job beginnt, und /success, wenn er fertig ist. UptimeEye misst bei jedem Lauf die Ausführungszeit, sodass du langsamer werdende Jobs erkennst, bevor sie ganz ausfallen.

Alarme auf jedem Kanal

Verpasst ein Job seinen Zeitplan oder meldet einen Fehler, gehen Alarme via Slack, Discord, Telegram, MS Teams, PagerDuty, generische Webhooks oder E-Mail raus — und wieder, sobald er sich erholt.

Status-Page-Integration

Veröffentliche Cron-Monitore auf deiner öffentlichen Statusseite neben den Uptime-Monitoren, inklusive der letzten Ereignisse — damit dein Team und deine Kunden dasselbe Bild sehen.

Dead Man's Switch von Grund auf

Verkette den Ping per && mit deinem Befehl, damit er nur bei Erfolg auslöst. Kein Ping heißt kein erfolgreicher Lauf — und UptimeEye markiert die Aufgabe als down und alarmiert dich.

Ein Tool statt zwei

Typische Uptime-Tools

Behandeln Cron-Monitoring als Nebensache — ein simpler Heartbeat, an HTTP-Checks drangeschraubt, oft ohne echte Cron-Ausdrücke, Zeitzonen oder Laufzeit-Tracking.

Spezialisierte Cron-Tools

Können Heartbeats gut, überwachen aber deine Websites und APIs nicht — also zahlst und pflegst du am Ende doch ein zweites Monitoring-Tool.

UptimeEye

Bündelt beides in einem Plan: vollwertiges Cron-Monitoring mit Cron-Ausdrücken, Zeitzonen und Laufzeit-Tracking — plus Uptime-Monitoring mit 30-Sekunden-Checks, gemeinsamen Alarm-Kanälen und gemeinsamen Statusseiten.

Free-Plan: 3 Cron-Monitore + 5 Uptime-Monitore + 1 Statusseite. Pro: 29 €/Monat für 50 Cron-Monitore + 50 Uptime-Monitore mit 30-Sekunden-Checks.

Häufige Fragen

Was ist Cron-Job-Monitoring?

Cron-Job-Monitoring (auch Heartbeat- oder Dead-Man's-Switch-Monitoring genannt) dreht klassisches Monitoring um: Statt dass UptimeEye deinen Dienst prüft, pingt dein Job UptimeEye bei jedem erfolgreichen Lauf an. Kommt der erwartete Ping nicht planmäßig an, markiert UptimeEye den Job als down und alarmiert dich. So erkennst du Fehler, die normale Uptime-Checks nicht sehen — etwa ein Backup-Skript, das schlicht nie gelaufen ist.

Was ist der Unterschied zwischen einfachen und Cron-basierten Zeitplänen?

UptimeEye unterstützt zwei Zeitplan-Typen. Einfache Zeitpläne erwarten einen Heartbeat in einem festen Intervall (z. B. alle 15 Minuten). Cron-Zeitpläne nutzen einen echten Cron-Ausdruck mit Zeitzone (z. B. '0 3 * * *' in Europe/Berlin), sodass UptimeEye genau weiß, wann jeder Lauf fällig ist — inklusive korrekter Behandlung der Sommer-/Winterzeit.

Was passiert, wenn ein Job seinen Zeitplan verpasst?

Jeder Monitor hat eine konfigurierbare Karenzzeit von 0 bis 1440 Minuten. Kommt innerhalb der erwarteten Zeit plus Karenzzeit kein Heartbeat an, wird die Aufgabe als down markiert und Alarme gehen über deine konfigurierten Kanäle raus: Slack, Discord, Telegram, MS Teams, PagerDuty, generische Webhooks oder E-Mail. Sobald der Job sich erholt, wirst du erneut benachrichtigt.

Kann ich messen, wie lange meine Jobs laufen?

Ja. Pinge den /start-Endpunkt, wenn dein Job beginnt, und den /success-Endpunkt, wenn er fertig ist. UptimeEye misst die Laufzeit zwischen beiden, sodass du Jobs erkennst, die mit der Zeit langsamer werden — nicht nur Jobs, die komplett fehlschlagen. Du kannst außerdem /fail pingen, um einen Fehler sofort explizit zu melden.

Wie viele Cron-Monitore bekomme ich kostenlos?

Der Free-Plan enthält 3 Cron-Monitore, 5 Uptime-Monitore und 1 Statusseite — kommerzielle Nutzung erlaubt, keine Kreditkarte nötig. Der Pro-Plan für 29 €/Monat enthält 50 Cron-Monitore und 50 Uptime-Monitore mit 30-Sekunden-Uptime-Checks.

Hör auf zu hoffen, dass deine Cron-Jobs liefen

Richte deinen ersten Cron-Monitor in unter zwei Minuten ein: Aufgabe anlegen, Beat-URL kopieren, einen curl-Befehl hinzufügen. Der Free-Plan enthält 3 Cron-Monitore — keine Kreditkarte nötig.

Free-Plan mit erlaubter kommerzieller Nutzung • Pro für 29 €/Monat für 50 Cron- + 50 Uptime-Monitore