Linux Administration

Container mit Beszel überwachen

Überwachen Sie Docker-Container mit Beszel. Erfahren Sie, wie Container automatisch erkannt werden, welche Informationen zur Verfügung stehen und wie Sie CPU-, RAM- und Performance-Daten sinnvoll auswerten.

5 min Lesezeit
Grafik: Docker-Container mit Beszel überwachen

Docker-Container zentral überwachen und Ressourcen effizient analysieren

Docker hat die Art und Weise verändert, wie Anwendungen bereitgestellt und betrieben werden. Statt Software direkt auf dem Betriebssystem zu installieren, laufen heute häufig zahlreiche Container auf einem einzelnen Host. Webserver, Datenbanken, Reverse Proxys oder Monitoring-Lösungen werden in isolierten Containern betrieben und können unabhängig voneinander aktualisiert oder neu gestartet werden.

Mit der steigenden Anzahl an Containern wächst jedoch auch der Bedarf an einer zentralen Überwachung. Administratoren möchten nicht nur wissen, ob ein Docker-Host erreichbar ist, sondern auch erkennen, welche Container laufen, wie stark diese die Systemressourcen beanspruchen und ob es ungewöhnliche Neustarts oder Performance-Probleme gibt.

Beszel bietet hierfür eine integrierte Docker-Überwachung. Sobald ein Linux-Server mit Docker als Agent eingebunden wurde, erkennt Beszel die Container automatisch und stellt deren Status sowie wichtige Systeminformationen übersichtlich im Dashboard dar.

In diesem Teil der Serie erfahren Sie, wie Beszel Docker-Container erkennt, welche Informationen verfügbar sind und wie Sie die gewonnenen Daten sinnvoll zur Fehleranalyse und Kapazitätsplanung nutzen.


Warum Container überwachen?

Container sind leichtgewichtig und schnell gestartet – genau das macht sie so beliebt. Gleichzeitig können auf einem einzigen Host problemlos zehn, zwanzig oder sogar hundert Container laufen.

Ohne Monitoring bleibt jedoch häufig unbemerkt, wenn:

  • ein Container abgestürzt ist,
  • ein Dienst ständig neu startet,
  • ein Container ungewöhnlich viel Arbeitsspeicher verbraucht,
  • die CPU dauerhaft ausgelastet ist,
  • oder die Gesamtlast des Docker-Hosts kritisch wird.

Ein zentrales Monitoring hilft dabei, Probleme frühzeitig zu erkennen und Ausfälle zu vermeiden.


Voraussetzungen

Damit Beszel Docker-Container überwachen kann, müssen folgende Voraussetzungen erfüllt sein:

  • Beszel Hub installiert
  • Beszel-Agent auf dem Docker-Host eingerichtet
  • Docker oder Docker Compose installiert
  • Agent besitzt Zugriff auf die Docker-Informationen
  • Verbindung zwischen Agent und Hub funktioniert

Überprüfen Sie zunächst, ob Docker korrekt arbeitet:

docker ps

Die Ausgabe zeigt alle aktuell laufenden Container.


Docker automatisch erkennen

Beszel erkennt eine Docker-Installation automatisch, sofern der Agent Zugriff auf die Docker-Laufzeit besitzt.

Eine zusätzliche Konfiguration ist in vielen Fällen nicht erforderlich.

Sobald der Agent gestartet wurde, sammelt er Informationen über:

  • vorhandene Container
  • laufende Container
  • gestoppte Container
  • Containerstatus
  • Ressourcenverbrauch

Diese Informationen werden anschließend an den Hub übertragen.


Container im Dashboard anzeigen

Nach erfolgreicher Erkennung erscheinen die Container in der Detailansicht des jeweiligen Hosts.

Je nach Version von Beszel werden unter anderem folgende Informationen dargestellt:

  • Containername
  • Status
  • Laufzeit
  • CPU-Auslastung
  • Speicherverbrauch
  • Neustarts
  • Hostzuordnung

Dadurch lässt sich schnell erkennen, welche Dienste aktuell aktiv sind.

Ein Docker-Host mit mehreren Anwendungen bleibt dadurch jederzeit übersichtlich.


CPU-Auslastung analysieren

Die CPU-Auslastung eines Containers liefert wertvolle Hinweise auf dessen Verhalten.

Beszel zeigt die aktuelle Prozessorlast übersichtlich an.

Typische Szenarien sind:

  • dauerhaft geringe Last
  • regelmäßige Lastspitzen
  • dauerhaft hohe CPU-Auslastung
  • plötzlich stark steigende Werte

Eine hohe Auslastung muss nicht zwangsläufig auf ein Problem hinweisen.

Ein Video-Transcoder oder eine Datenbank arbeitet naturgemäß deutlich intensiver als beispielsweise ein DNS-Server.

Problematisch wird es, wenn ein Container dauerhaft nahezu die gesamte CPU-Leistung beansprucht oder die Last unerwartet ansteigt.


Speicherverbrauch überwachen

Neben der CPU gehört der Arbeitsspeicher zu den wichtigsten Ressourcen.

Beszel zeigt den Speicherverbrauch der Container übersichtlich an.

Achten Sie insbesondere auf:

  • kontinuierlich steigenden RAM-Verbrauch,
  • ungewöhnlich hohen Speicherbedarf,
  • stark schwankende Werte,
  • Speicherengpässe auf dem Host.

Ein dauerhaft wachsender Speicherverbrauch kann auf sogenannte Memory Leaks oder fehlerhafte Anwendungen hinweisen.

Je früher solche Entwicklungen erkannt werden, desto geringer ist das Risiko eines Ausfalls.


Neustarts erkennen

Container sollten im Normalfall stabil laufen.

Häufige Neustarts können dagegen auf verschiedene Probleme hinweisen.

Beispielsweise:

  • fehlerhafte Konfiguration
  • fehlende Abhängigkeiten
  • Datenbank nicht erreichbar
  • Speicherprobleme
  • fehlerhafte Images
  • Hardwareprobleme

Beszel hilft dabei, solche Auffälligkeiten schnell zu erkennen.

Insbesondere nach Updates lohnt sich ein Blick auf die Neustarts einzelner Container.


Performance analysieren

Die eigentliche Stärke eines Monitoring-Systems liegt darin, Zusammenhänge sichtbar zu machen.

Beispielsweise kann folgendes Szenario auftreten:

  • CPU-Auslastung steigt stark an.
  • Gleichzeitig wächst der RAM-Verbrauch.
  • Kurz darauf erfolgt ein Container-Neustart.

Durch die gemeinsame Betrachtung dieser Informationen lassen sich Fehler deutlich schneller eingrenzen.

Ebenso können Lastspitzen bestimmten Tageszeiten oder Wartungsarbeiten zugeordnet werden.

Historische Diagramme erleichtern diese Analyse erheblich.


Mehrere Docker-Hosts überwachen

Beszel eignet sich hervorragend für Umgebungen mit mehreren Docker-Hosts.

Jeder Host wird dabei als eigenes System eingebunden.

Beispielsweise:

Docker-Host 1
├── Nginx
├── Nextcloud
├── MariaDB
└── Redis

Docker-Host 2
├── Immich
├── PostgreSQL
├── Machine Learning
└── Redis

Docker-Host 3
├── Beszel Hub
├── Uptime Kuma
├── CrowdSec
└── Traefik

Alle Hosts erscheinen anschließend zentral im Dashboard.

Dadurch behalten Administratoren den Überblick über die gesamte Containerlandschaft.


Typische Einsatzszenarien

Beszel eignet sich hervorragend für die Überwachung verschiedenster Docker-Anwendungen.

Beispiele:

  • Nextcloud
  • Immich
  • Jellyfin
  • Grafana
  • Prometheus
  • MariaDB
  • PostgreSQL
  • Redis
  • MongoDB
  • Traefik
  • Nginx Proxy Manager
  • Apache
  • HAProxy
  • Beszel selbst
  • Uptime Kuma
  • CrowdSec
  • Gitea
  • Forgejo
  • Paperless-ngx

Unabhängig von der Anwendung liefert Beszel stets einen Überblick über den Zustand des jeweiligen Hosts und seiner Container.


Grenzen der Containerüberwachung

Beszel konzentriert sich auf die Überwachung der Systemressourcen und des Containerstatus.

Nicht Bestandteil der integrierten Überwachung sind beispielsweise:

  • Container-Logs
  • Anwendungsprotokolle
  • Datenbankabfragen
  • HTTP-Requests
  • individuelle Geschäftsmetriken
  • detaillierte Netzwerkpaketanalyse

Für solche Aufgaben kommen spezialisierte Werkzeuge wie Loki, Elasticsearch oder Application-Performance-Monitoring-Lösungen zum Einsatz.


Best Practices

Für den produktiven Einsatz haben sich folgende Empfehlungen bewährt:

  • Container eindeutig benennen.
  • Docker-Hosts logisch gruppieren.
  • CPU- und RAM-Auslastung regelmäßig prüfen.
  • Historische Diagramme auswerten.
  • Container nach Updates beobachten.
  • Nicht mehr benötigte Container entfernen.
  • Docker-Images regelmäßig aktualisieren.
  • Monitoring mit Backups kombinieren.
  • Docker-Hosts über HTTPS absichern.
  • Ressourcenlimits für Container sinnvoll setzen.

Typische Fehler

Container werden nicht angezeigt

Prüfen Sie zunächst:

docker ps

Läuft Docker überhaupt?


Agent liefert keine Docker-Daten

Kontrollieren Sie die Logs:

docker logs beszel-agent

Container verschwinden nach einem Neustart

Prüfen Sie die Restart-Policy:

docker inspect CONTAINERNAME

Hohe CPU-Last

Ermitteln Sie den Verursacher:

docker stats

Vergleichen Sie anschließend die Werte mit den Angaben im Beszel-Dashboard.


Speicherprobleme

Auch hier hilft:

docker stats

Zusätzlich empfiehlt sich ein Blick auf den gesamten Arbeitsspeicher des Hosts:

free -h


Die Docker-Integration von Beszel erweitert das klassische Server-Monitoring um eine zentrale Übersicht über Container und deren Ressourcenverbrauch. Administratoren erkennen auf einen Blick, welche Container aktiv sind, wie stark sie CPU und Arbeitsspeicher beanspruchen und ob ungewöhnliche Neustarts auftreten. Besonders in Umgebungen mit mehreren Docker-Hosts erleichtert dies den täglichen Betrieb erheblich.

Beszel ersetzt dabei keine spezialisierte Container-Orchestrierung oder ein umfassendes Application Performance Monitoring. Für die Überwachung typischer Docker-Umgebungen liefert die Lösung jedoch genau die Informationen, die im Alltag am häufigsten benötigt werden – übersichtlich, ressourcenschonend und zentral.

Im nächsten Teil der Serie zeigen wir, wie Sie mehrere Linux-Server gleichzeitig überwachen und Ihre Monitoring-Umgebung Schritt für Schritt erweitern.