Heartbeat Monitoring (Cron)

Überwachen Sie Jobs, Backups und geplante Aufgaben durch Empfang eines Pings.

Heartbeat Monitoring

Heartbeat Monitoring (auch bekannt als Cron Monitoring) funktioniert andersherum: Anstatt dass wir Ihre Server prüfen, benachrichtigt Ihr Server (oder Skript) uns, dass er lebt.

Dies ist perfekt für die Überwachung von:

  • Täglichen Backups: Stellen Sie sicher, dass Ihre Datenbank-Backups tatsächlich gelaufen sind.
  • Hintergrund-Jobs: Überwachen Sie Worker, Import-Skripte oder periodische Aufgaben.
  • Intranet-Geräten: Überwachen Sie Geräte hinter einer Firewall, die ausgehende Anfragen senden können.

Funktionsweise

  1. Sie erstellen einen Heartbeat Monitor im Dashboard.
  2. Wir geben Ihnen eine eindeutige Heartbeat URL.
  3. Sie konfigurieren Ihr Skript (Cronjob, Worker), diese URL aufzurufen, wenn es erfolgreich beendet wurde.
  4. Wir erwarten einen Ping innerhalb Ihres konfigurierten Intervalls (plus einer Grace Period).
  5. Wenn wir keinen Ping rechtzeitig erhalten, senden wir einen Alarm: "Heartbeat missing".

Konfiguration

Erwartetes Intervall (Expected Interval)

Wie oft erwarten Sie den Ping?

  • Beispiel: Für ein tägliches Backup setzen Sie dies auf 24 Stunden (1440 Minuten).
  • Beispiel: Für einen minütlichen Worker setzen Sie dies auf 1 Minute.

Grace Period (Toleranzzeit)

Wie viel Verzögerung ist akzeptabel?

  • Beispiel: Wenn Ihr Backup normalerweise 10 Minuten dauert, aber manchmal 30, setzen Sie die Grace Period auf 30 Minuten.
  • Wir alarmieren nur, wenn Letzter Ping + Intervall + Grace Period < JETZT.

Anwendungsbeispiele

Linux Cronjob (Backup Script)

#!/bin/bash
# Backup ausführen ...
pg_dump dbname > backup.sql

# Wenn erfolgreich, Heartbeat pingen
if [ $? -eq 0 ]; then
  curl -m 10 --retry 3 https://ping.uptimeify.io/ping/YOUR_TOKEN
fi

PowerShell (Windows)

# Task ausführen...
Write-Output "Task running..."

# Heartbeat pingen
Invoke-RestMethod -Uri "https://ping.uptimeify.io/ping/YOUR_TOKEN"

Node.js Worker

await doImport();

# Ping
await fetch('https://ping.uptimeify.io/ping/YOUR_TOKEN');