Der Ausgangspunkt
Es gibt nichts Ärgerlicheres als wenn jemand auf eine deiner Websites will und die einfach nicht lädt. Und du bist die Letzte, die es mitbekommt. Das wollte ich ändern.
Wir haben mehrere private Websites. Wenn da irgendwas ausfällt, will ich es wissen. Nicht irgendwann. Sondern sofort.
Deshalb habe ich mir einen kleinen n8n-Workflow gebaut, der das automatisch übernimmt.
Was der Workflow macht
Alle 10 Minuten prüft er, ob jede der überwachten Seiten erreichbar ist. Kommt er nicht durch, schickt er mir eine Telegram-Nachricht mit Name, URL, HTTP-Statuscode und Uhrzeit des Ausfalls.
Solange die Seite nicht wieder läuft, kommt alle 10 Minuten eine neue Meldung. So vergesse ich es nicht und sehe auch, wie lange ein Ausfall dauert.
Aktuell überwacht er fünf Seiten. Neue URLs lassen sich mit einer einzigen Zeile im Code-Node ergänzen, kein Umbau nötig.
Wie es technisch funktioniert
Der Aufbau ist simpel und bleibt es absichtlich.
Ein Schedule-Trigger startet den Workflow alle 10 Minuten. Dann macht er für jede URL einen HTTP GET Request mit Full Response, also mit dem vollständigen Statuscode. Ist der Status ungleich 200, oder kommt gar keine Antwort wegen DNS-Fehler oder Timeout, gilt die Seite als down.
In dem Fall geht sofort eine Telegram-Nachricht raus über meinen System-Bot, mit allen relevanten Infos auf einen Blick.
Ein Hinweis zum Wartungsmodus
Wenn eine Seite absichtlich im Wartungsmodus auf 503 läuft, kommen die Alarme trotzdem alle 10 Minuten. Das ist kein Bug, sondern gewollt: der Workflow weiß nicht, ob ein 503 geplant oder ein echter Ausfall ist.
In dem Fall entferne ich die URL kurz aus dem Code-Node und trage sie nach der Wartung wieder ein. Dauert 30 Sekunden.
Warum n8n und nicht ein Monitoring-Tool?
Es gibt natürlich fertige Monitoring-Dienste. Manche sind kostenlos, manche nicht, viele haben Limits bei der Anzahl der Seiten oder der Prüffrequenz. Mit n8n habe ich keine Limits, es läuft auf meiner eigenen Instanz, und ich kann genau steuern was wann wie oft geprüft wird.
Außerdem bekomme ich die Alarme dort wo ich sie haben will: direkt in Telegram, wo ich sowieso schon meine anderen Automatisierungs-Benachrichtigungen bekomme. Kein extra App, kein extra Login.
Nachbauen?
Der Workflow ist wirklich überschaubar. Wer n8n hat und einen Telegram-Bot eingerichtet hat, kann ihn in unter einer Stunde aufsetzen. Wenn du Fragen dazu hast, schreib mir gerne.
