Zum Hauptinhalt springen
Virtualisierung & Container

Docker-Container

Lass dich warnen, wenn Docker-Container stoppen, ungesund werden oder zu oft neu starten.

Der Check Docker-Container überwacht Docker-Container auf einem Gerät. Er warnt, wenn Container unerwartet stoppen, ungesund werden oder übermäßig oft neu starten. Der Check läuft unter Windows, Linux und macOS (Docker Desktop) in einem festen Intervall von 5 Minuten; das Intervall ist kein konfigurierbares Feld im Check-Editor.

Voraussetzungen

  • Du benötigst die Berechtigung Monitoring-Check-Verwaltung.
  • Das Zielgerät muss einen verbundenen Agent haben, auf dem Docker Engine 23.0 oder neuer installiert ist und der Docker-Daemon läuft. Der Check liest docker ps --format json aus, was ältere Versionen nicht unterstützen.
  • Der Check ruft die docker-CLI auf. Die ausführbare Datei docker muss im PATH des Agenten verfügbar sein, und das Konto des Agenten muss berechtigt sein, sie auszuführen und auf den Docker-Socket zuzugreifen (unter Linux bedeutet das in der Regel Mitgliedschaft in der Gruppe docker; unter Windows den CLI-Zugriff von Docker Desktop).

Schritte

  1. Gehe zu Geräte und öffne das Gerät.
  2. Klicke auf den Tab Checks → Check hinzufügen → Docker-Container.
  3. Entscheide mit dem Schalter Alle Container überwachen, welche Container überwacht werden. Ist der Schalter an, überwacht der Check jeden Container auf dem Gerät, und das Feld Ausgeschlossene Container erscheint, damit du bestimmte Containernamen ausschließen kannst. Ist der Schalter aus, erscheint das Feld Container-Namen, in dem du die zu überwachenden Container auflistest.
  4. Lege das Alarmverhalten unter Alarmeinstellungen fest.
  5. Klicke auf Check hinzufügen.

Nach dem ersten Check-Intervall siehst du das Ergebnis im Tab Checks des Geräts.

Einstellungen

FeldTypErforderlichStandardBeschreibung
Alle Container überwachenBooleanNeinJaJeden Container auf dem Host überwachen. Wenn aktiviert, wird die Liste „Ausgeschlossene Container“ als Blacklist-Filter angewendet.
Container-NamenListe von StringsNein—Bestimmte Containernamen zur Überwachung (Abgleich nur über den Namen, nicht über die Container-ID). Unterstützt Platzhalter: * für beliebige Zeichen, ? für ein einzelnes Zeichen (z. B. web-*). Der Abgleich ignoriert Groß- und Kleinschreibung, und ein Eintrag ohne Platzhalter muss dem gesamten Namen entsprechen — web passt nicht auf web-01. Wird nur angezeigt, wenn Alle Container überwachen deaktiviert ist.
Ausgeschlossene ContainerListe von StringsNein—Containernamen, die ausgeschlossen werden, wenn „Alle Container überwachen“ aktiviert ist. Unterstützt dieselben Platzhalter (*, ?) und denselben Abgleich über den gesamten Namen ohne Beachtung der Groß- und Kleinschreibung. Wird nur angezeigt, wenn Alle Container überwachen aktiviert ist.
Warnung bei gestoppten ContainernBooleanNeinJaWarnung, wenn ein Container nicht läuft
Kritisch bei gestoppten ContainernBooleanNeinNeinKritisch statt Warnung, wenn ein Container nicht läuft. Diese Einstellung hat Vorrang: Ist sie aktiviert, ist ein gestoppter Container kritisch, auch wenn Warnung bei gestoppten Containern deaktiviert ist.
Warnung bei ungesunden ContainernBooleanNeinJaWarnung, wenn der Health-Check eines Containers unhealthy meldet. Ein Container im Zustand starting löst keinen Alarm aus.
Maximale NeustartsGanzzahlNein5Warnung, wenn die Neustartanzahl eines Containers diesen Wert überschreitet

Die Neustartanzahl ist kumulativ seit der Container-Erstellung, nicht seit dem letzten Check-Lauf.

Maximale Neustarts kann statt einer festen Zahl ein eigenes Feld des Geräts oder des Kunden lesen: Eigenes Feld einfügen schreibt den Token, und Geräte bzw. Kunden ohne eigenen Wert greifen auf den Standardwert des Feldes zurück. Die Option erscheint, sobald im Mandanten ein eigenes Geräte- oder Kundenfeld vom Typ Ganzzahl vorhanden ist.

Ergebnisse

Der Check meldet den Status jedes überwachten Containers so, wie Docker ihn meldet (running, exited für einen gestoppten Container, restarting oder paused), den Zustandsstatus (zum Beispiel healthy, unhealthy, starting) und die Neustartanzahl. Container ohne konfigurierten Health-Check zeigen in der Ergebnisansicht keinen Zustandsstatus an.

  • Wenn keine Container passen — leerer Docker-Host, ein Filter, der alles ausschließt, oder Alle Container überwachen deaktiviert ohne Einträge unter Container-Namen —, liefert der Check Warnung mit einer Gesamtzahl von 0 Containern.
  • Wenn der docker-Befehl selbst fehlschlägt — nicht installiert, nicht erreichbar oder keine Antwort innerhalb von 15 Sekunden —, liefert der Check Warnung, außer er erkennt eine Docker-Version älter als 23.0.
  • Bei einer Docker Engine älter als 23.0 meldet der Check Fehler mit dem Hinweis, dass die Docker-Version zu alt ist.

Erfasste Metriken

  • Containername
  • Image
  • Container-Status (der rohe Docker-Status, z. B. running, paused, restarting, exited)
  • Zustandsstatus (z. B. healthy, unhealthy, starting — wird nur bei Containern mit Health-Check angezeigt)
  • Neustartanzahl
  • Gesamtzahl der Container

Tipps

  • Setze Kritisch bei gestoppten Containern auf Ja für Produktions-Container, die immer laufen müssen.
  • Der Maximale Neustarts-Schwellenwert fängt Container in Crash-Loops ab. Ein Container, der 5 Mal neu startet, hat wahrscheinlich ein Konfigurations- oder Abhängigkeitsproblem.
  • Wenn du kurzlebige Container ausführst (zum Beispiel Cron-Jobs), überwache bestimmte langlebige Container namentlich, statt „alle Container“ zu verwenden.
  • Zeigt der Check eine Warnung ohne aufgelistete Container, konnte der Agent entweder den Docker-Daemon nicht erreichen oder kein Container passte zu deinen Namensfiltern — prüfe, ob Docker läuft, und kontrolliere deine Containernamen und Ausschlüsse.
  • Zeigt der Check einen Fehler und meldet, dass die installierte Docker-Version zu alt ist, aktualisiere Docker auf dem Gerät auf 23.0 oder neuer.