Verfügbarkeitsmonitore

Ein Monitor überwacht eine Website oder API für dich. Zenhook kann eine öffentliche URL von außerhalb deiner Infrastruktur prüfen oder signierte Ergebnisse einer Prüfung empfangen, die in deinem privaten Netz läuft.

Monitore und Webhooks

Das sind die zwei entgegengesetzten Richtungen, in denen Zenhook arbeitet, und man verwechselt sie leicht:

  • Channels (Webhooks): Deine App ruft Zenhook auf. Du sendest einen Webhook per POST an die URL eines Channels, und Zenhook macht daraus einen Alert.
  • Monitore (Verfügbarkeit): Zenhook prüft eine öffentliche URL, oder dein Scheduler prüft eine private und meldet das signierte Ergebnis. Zenhook alarmiert, wenn sie offline geht oder wieder online ist.

Ein Monitor verfolgt den Zustand eines Dienstes über die Zeit. Öffentliche Prüfungen brauchen nur eine URL. Private Prüfungen brauchen den erzeugten Befehl, der im Netz läuft.

Monitor hinzufügen

1. Monitore öffnen. Klicke im Web unter Eingang auf Monitore und dann auf Monitor hinzufügen. Öffne auf deinem Handy den Tab Monitore und tippe auf +.

2. URL einfügen. Gib die Adresse ein, die überwacht werden soll, zum Beispiel https://example.com oder einen Health-Endpunkt wie https://api.example.com/health.

3. Speichern. Zenhook beginnt sofort mit der Prüfung und zeigt den aktuellen Status, die letzte Antwortzeit und die letzten Prüfungen.

Ein privates Netz überwachen

Wähle Privates Netzwerk für einen Dienst in einem VPN, Tailnet, VPC, LAN oder auf localhost. Zenhook gibt dir einen Befehl, den du in diesem Netz ausführst. Er prüft das Ziel lokal und sendet nur das signierte Ergebnis über HTTPS an Zenhook.

Das Heartbeat-Secret wird einmal angezeigt. Zenhook speichert einen Hash des vollständigen Secrets und ein kurzes Präfix, an dem du es erkennst. Kommen innerhalb der Karenzzeit keine Ergebnisse mehr an, markiert Zenhook den Monitor als offline. So fällt auch ein gestoppter Scheduler, ein getrenntes Netz oder ein ausgefallener Host auf.

Du brauchst keinen eingehenden Port, keinen öffentlichen Health-Endpunkt, keinen VPN-Peer und keinen Zenhook-Agenten. Setze den erzeugten Befehl in cron, einen systemd-Timer, einen Kubernetes-CronJob, einen CI-Runner oder jeden Scheduler, der curl ausführen kann.

Wie Prüfungen funktionieren

Jeder Monitor wird bei Free jede Minute und bei Pro alle 30 Sekunden abgefragt, mit einem Timeout von 10 Sekunden. Eine Prüfung besteht, wenn die URL mit einem HTTP-Status von 200 bis 399 antwortet (Weiterleitungen werden verfolgt).

Ein einzelner Fehlschlag alarmiert dich nie. Schlägt eine Prüfung fehl, prüft Zenhook 10 Sekunden später erneut und fragt einen unabhängigen Prüfpunkt in einem anderen Netz mit eigenem DNS-Resolver, ob er die Website noch erreicht. Ein Monitor wechselt erst auf offline, wenn der Fehler bestätigt ist und auch diese zweite Meinung die Website nicht erreicht. Solange eine Website offline ist, wird sie alle 10 Sekunden geprüft, und die erste erfolgreiche Prüfung setzt sie sofort wieder auf online.

In der Praxis erfährst du von einem echten Ausfall höchstens etwa 70 Sekunden, nachdem deine Website offline ging (bei Free), bei Pro nach 40 Sekunden, und von ihrer Rückkehr innerhalb von 10 Sekunden.

Wenn sich der Status ändert, von online zu offline oder zurück, sendet Zenhook einen Alert über deine Benachrichtigungswege (Ton, Desktop, Push und E-Mail), genauso wie Alerts aus Channels.

Eine Website, die immer wieder ausfällt

Eine Website, die alle zehn Minuten für eine Minute ausfällt, würde dich jedes Mal zweimal alarmieren. Deshalb sagt dir Zenhook beim zweiten Ausfall innerhalb einer Stunde einmal, dass der Monitor instabil ist, und meldet seine kurzen Ausfälle danach nicht mehr.

Solange er instabil ist, erfährst du weiterhin von einem Ausfall, der 5 Minuten dauert, und von seinem Ende. Nach einer Stunde ohne Ausfall schließt ein Alert die Episode ab, mit der Zahl der Ausfälle und ihrer Dauer. Die Seite des Monitors listet jeden Ausfall der letzten 24 Stunden auf, ob gemeldet oder nicht.

Monitor pausieren

Öffne im Web den Monitor und klicke auf Pausieren, oder nutze das Menü auf seiner Kachel. Es gibt drei Möglichkeiten:

  • Alerts für 1 Stunde oder Alerts für 24 Stunden: Der Monitor wird weiter geprüft und seine Seite behält den Verlauf, aber es wird nichts gesendet. Alerts kommen am Ende der Zeit von selbst zurück.
  • Der Monitor: Auch die Prüfungen stoppen, bis du fortsetzt.

Fortsetzen macht beides rückgängig. Auf deinem Handy pausiert Pausieren im Menü des Monitors den Monitor.

Aus einem Skript oder von einem KI-Agenten, mit einem Token aus Einstellungen, API-Tokens:

bash
# Deine Monitore und ihre IDs
curl -H "Authorization: Bearer $ZENHOOK_TOKEN" https://zenhook.dev/api/monitors

# Alerts bis zu einem Zeitpunkt pausiert (höchstens 7 Tage im Voraus); null setzt sie fort
curl -X PATCH -H "Authorization: Bearer $ZENHOOK_TOKEN" -H "Content-Type: application/json" \
  -d '{"mutedUntil": "2026-10-12T08:00:00Z"}' https://zenhook.dev/api/monitors/MONITOR_ID

# Der Monitor pausiert; true setzt ihn fort
curl -X PATCH -H "Authorization: Bearer $ZENHOOK_TOKEN" -H "Content-Type: application/json" \
  -d '{"enabled": false}' https://zenhook.dev/api/monitors/MONITOR_ID

Eine 200 heißt nicht immer online

Viele Ausfälle antworten mit einem völlig gesunden Statuscode. Zenhook liest die Antwort, nicht nur ihre Zahl, und behandelt diese Fälle als offline:

  • CDN-Fehlerseiten, die als 200 ausgeliefert werden: Bad Gateway, Service Unavailable, Origin nicht erreichbar, SSL-Handshake fehlgeschlagen und der Rest der bekannten Textwand.
  • Veralteter Cache: Dein CDN liefert eine zwischengespeicherte Kopie aus, weil es deinen Origin nicht erreicht. Besucher sehen eine Website, aber die Website ist offline.
  • Bot-Prüfseiten: Ein CAPTCHA oder eine Prüfung ist nicht dein Inhalt.

FAQ

Prüft ihr von mehreren Orten gleichzeitig?

Nicht bei jeder Prüfung, und es ist keine Abstimmung. Die geplante Prüfung läuft von einem Ort aus. Ein zweiter, unabhängiger Prüfpunkt wird nur gefragt, wenn diese Prüfung fehlschlägt, und er hat ein Vetorecht: Erreicht er deine Website noch, gilt der Ausfall als unser Problem, und du wirst nicht alarmiert. Wir alarmieren nur, wenn dich niemand erreicht. Diese Asymmetrie ist Absicht: Der teure Fehler wäre, dich um 3 Uhr nachts wegen einer Website zu wecken, die online war.

Kann ich das Prüfintervall ändern?

Öffentliche URLs werden bei Free jede Minute und bei Pro alle 30 Sekunden geprüft, und in jedem Tarif alle 10 Sekunden, solange sie fehlschlagen. Der erzeugte Befehl für private Netze ist dafür gedacht, jede Minute zu laufen; Zenhook markiert ihn als offline, wenn innerhalb seiner Karenzzeit keine Ergebnisse mehr ankommen.

Warum zeigt mein Access-Log einen Query-Parameter _zenhook?

Das sind wir. Jede Prüfung hängt einen eindeutigen Wert _zenhook an, damit kein Cache, weder unserer noch deiner, anstelle deines Servers antworten kann. Ein Monitor, der auf einen Cache trifft, überwacht nichts.

Wie lasse ich Zenhook in meiner Firewall oder WAF zu?

Prüfungen weisen sich mit dem User-Agent Zenhook Uptime Monitor/1.0 aus. Fordert deine WAF ihn heraus oder blockiert ihn, zeigt der Monitor offline an, obwohl deine Website in Ordnung ist.

Kann ich localhost oder eine private Adresse überwachen?

Ja. Wähle beim Hinzufügen des Monitors Privates Netzwerk. Führe den erzeugten Befehl im Netz aus. Er prüft localhost oder die private Adresse lokal und sendet dann ein signiertes Ergebnis nach außen an Zenhook.

Warum zeigt die Liste der letzten Prüfungen weniger Einträge als erwartet?

Die Liste zeigt die neuesten Prüfungen zuerst, die Statistiken decken die letzten 24 Stunden ab, und der Verlauf einzelner Prüfungen wird 7 Tage aufbewahrt.

Werde ich vierzigmal alarmiert, wenn Zenhook selbst kaputt ist?

Nein. Wenn ein ungewöhnlich großer Anteil der Monitore im selben Durchlauf fehlschlägt, liegt das fast nie daran, dass alle voneinander unabhängigen Websites gleichzeitig ausgefallen sind. Deshalb unterdrückt Zenhook diese Alerts, lässt die Status unverändert und meldet das Problem uns statt dir.

Limits der Tarife

Der Tarif Free enthält 3 Monitore. Pro erhöht das auf 20 Monitore.

Keine Monitor-Alerts? Siehe Hilfe bei Benachrichtigungen