---
title: "Heartbeat-Überwachung (Cron)"
description: "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)

```bash
#!/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)

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

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

### Node.js Worker

```javascript
await doImport();

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

