Docker Container Verwaltung mit KI-gestützter Log-Analyse - n8n-Workflow

Nutzen Sie diesen leistungsstarken n8n-Workflow zur Überwachung von Docker-Containern via Webhooks und deren Verwaltung über einen Telegram-Bot. Bietet KI-gestützte Log-Analyse via OpenAI und Fernzugriff über SSH-Befehle.

Workflow-Vorschau

Bereit zur Automatisierung?

Laden Sie diese n8n-Workflow-Vorlage herunter und beginnen Sie sofort mit der Nutzung.

Zielgruppe


  • DevOps Engineers und Systemadministratoren, die selbst gehostete Docker-Umgebungen verwalten.

  • Benutzer, die eine Fernverwaltung von Containern über eine sichere Instant-Messaging-Plattform benötigen.

  • Personen, die nach fortschrittlichen n8n-Vorlagen suchen, die KI-Debugging in das Infrastrukturmanagement integrieren.

  • Jeder, der automatisierte Webhook-Antworten von Monitoring-Diensten wie Uptime Kuma mittels eines n8n-Triggers benötigt.

Überblick

Dieser fortgeschrittene n8n-Workflow wurde entwickelt, um das Management und die Überwachung der Docker-Infrastruktur zu zentralisieren. Er adressiert das häufige Problem der Diagnose von Container-Ausfällen, indem er ein KI-Modell (über den n8n OpenAI Node) direkt in den operativen Ablauf integriert. Der Workflow verfügt über zwei primäre Schnittstellen: einen externen Webhook für proaktive Monitoring-Alarme (z.B. Benachrichtigungen bei Container-Abstürzen) und einen Telegram-Bot für reaktive Befehle bei Bedarf (wie das Abrufen von Logs, das Prüfen des Status oder das Neustarten). Durch die Nutzung des SSH n8n Nodes werden Docker-Befehle sicher auf einem Remote-Server ausgeführt, während die KI-Komponente eine fachkundige, strukturierte Analyse komplexer Log-Dateien liefert und Rohdaten in verwertbare Erkenntnisse umwandelt. Diese robuste n8n-Automatisierung reduziert Ausfallzeiten erheblich und beschleunigt die Debugging-Zyklen, was die Leistungsfähigkeit eines gut konfigurierten n8n-Workflows unter Beweis stellt.

Funktionsweise

Der gesamte Ablauf nutzt zwei Haupt-n8n-Trigger-Mechanismen:


  1. Monitoring-Alarm-Ablauf: Der Prozess beginnt mit einem Webhook n8n-Trigger. Wenn ein externer Monitoring-Dienst eine Statusänderung eines Containers meldet, prüft der Ablauf den Zustand. Ist der Container nicht mehr 'running' (in Betrieb), wird sofort eine ERROR Message über Telegram versendet, die handlungsrelevante Inline-Buttons (Logs und Neustart) für den betroffenen Container anbietet.

  2. Benutzerbefehls-Ablauf: Wenn ein Benutzer über den Telegram n8n-Trigger mit dem Bot interagiert, wird die Nachricht zur Befehlsweiterleitung an einen Switch n8n Node übergeben. Ein Code n8n Node (Extract the Service Name) parst zunächst den Befehl, um den Ziel-Container zu identifizieren.

  3. Log-Analyse: Wird der Befehl 'logs' gesendet, führt der SSH n8n Node docker logs --tail 100 aus. Das Ergebnis wird an den n8n Node Message a model (OpenAI) weitergeleitet. Dieser Node nutzt einen hochgradig angepassten Prompt, um als leitender IT-Spezialist zu fungieren, die rohen Docker-Ausgaben zu analysieren und einen strukturierten Bericht (Zusammenfassung, Ursache, Empfohlene Schritte) zu erstellen. Diese detaillierte Analyse wird dann über einen Telegram n8n Node an den Benutzer übermittelt.

  4. Neustart & Status: Bei dem Befehl 'restart' versucht der SSH n8n Node, den Container neu zu starten. Ein If n8n Node bestätigt den Erfolg oder Misserfolg basierend auf SSH-Ausgabe-Fehlern. Für den Befehl 'status' führt der SSH n8n Node docker ps aus, um alle laufenden Container und deren Status aufzulisten, und sendet die formatierte Liste an den Benutzer zurück.

  5. Automatisierung des Updates: Der Befehl 'update' löst die Ausführung eines benutzerdefinierten Shell-Skripts (./update-all-docker-compose.sh) über den SSH n8n Node aus. Die Ausgabe dieses Skripts wird anschließend von einem Python Code n8n Node geparst, um eine saubere Update-Zusammenfassung zu generieren, die zur Bestätigung, welche Images aktualisiert wurden, an den Benutzer zurückgesendet wird. Dieser umfassende n8n-Workflow gewährleistet eine vollständige Fernsteuerung und intelligente Diagnostik.

Installationsanleitung

Um diesen leistungsstarken n8n-Workflow bereitzustellen, folgen Sie diesen Einrichtungsschritten:


  1. Importieren: Importieren Sie die bereitgestellte n8n-Vorlagen-JSON in Ihre n8n-Instanz.

  2. Credentials für n8n Nodes:

Telegram: Richten Sie die erforderlichen Zugangsdaten für den Telegram n8n Node ein (Bot Token und Chat ID). Sie müssen die hartcodierte Chat ID (8209283663) in allen Telegram Nodes ersetzen.
SSH: Konfigurieren Sie Ihre SSH-Zugangsdaten (die Verwendung eines Schlüsselpaars wird dringend empfohlen), damit der SSH n8n Node eine Verbindung zu Ihrem Server herstellen und Docker-Befehle darauf ausführen kann.
* OpenAI: Richten Sie die OpenAI-Credential ein, die für den n8n Node Message a model benötigt wird.

  1. Benutzerdefiniertes Skript: Stellen Sie sicher, dass der Server, auf dem Ihre Docker-Container gehostet werden, das erforderliche benutzerdefinierte Skript (./update-all-docker-compose.sh) verfügbar und ausführbar hat, das den Parsing-Anforderungen des n8n Nodes Code in Python (Beta) entspricht.

  2. Webhook aktivieren: Aktivieren Sie den Webhook n8n Trigger und kopieren Sie die generierte URL. Konfigurieren Sie diese URL in Ihrem externen Monitoring-Tool (z.B. Uptime Kuma) als Ziel für Fehlerbenachrichtigungen.

  3. Aktivierung: Stellen Sie sicher, dass dieser n8n-Workflow als Aktiv markiert ist, um die Funktionalität aller n8n Trigger und Action Nodes zu ermöglichen.

Node-Details

Webhook (n8n trigger):
Funktion: Dient als passiver n8n Trigger, der auf Statusaktualisierungen von Containern von externen Monitoring-Diensten wartet.
Schlüsselkonfiguration: Akzeptiert POST-Anfragen.
Telegram Trigger (n8n trigger):
Funktion: Der interaktive n8n Trigger, der den Ablauf basierend auf Benutzerbefehlen initiiert, die über den Telegram-Bot eingehen.
Schlüsselkonfiguration: Lauscht auf message-Updates.
Switch n8n node:
Funktion: Leitet den Ausführungsfluss basierend auf dem Inhalt der Telegram-Nachricht weiter (z.B. Abgleich mit 'logs', 'restart', 'status' oder 'update').
Schlüsselkonfiguration: Vergleicht den in Kleinbuchstaben umgewandelten Nachrichtentext.
SSH n8n node (get logs):
Funktion: Führt den Befehl docker logs --tail 100 [servicename] auf dem Remote-Host aus, um diagnostische Informationen abzurufen.
Schlüsselkonfiguration: Dynamischer Befehlsausdruck unter Verwendung von Daten aus dem Code n8n Node Extract the Service Name.
OpenAI n8n node (Message a model):
Funktion: Dieser entscheidende n8n Node führt eine erweiterte Log-Analyse durch, wobei ein detaillierter System-Prompt verwendet wird, um die rohe Docker-Ausgabe zu interpretieren und strukturierte Debugging-Erkenntnisse zu liefern.
Schlüsselkonfiguration: Nutzt das Modell gpt-4.1-mini und speist die Log-Ausgabe über ={{ $('get logs').item.json.stdout }} ein.
Code in Python (Beta) n8n node:
Funktion: Parst die strukturierte Ausgabe des Shell-Update-Skripts und übersetzt komplexe Update-Logs in eine saubere, verständliche Nachricht für die Telegram-Benutzeroberfläche.
Schlüsselkonfiguration: Benutzerdefiniertes Python-Skript, das die Bibliotheken re und json für das String-Parsing verwendet.

Ähnliche n8n-Workflows

Kostenlos

Knoten: 10 Knoten
Aktualisiert: Dezember 26 2025
Alle anzeigen
Erstellt von
Malte
Malte

Hervorgehoben*