Homelab – Monitoring mit Beszel

Mit der zunehmenden Anzahl an Docker-Containern auf meinem neuen VPS wird es immer wichtiger, den Ressourcenverbrauch im Blick zu behalten. Neben den eigentlichen Anwendungen laufen inzwischen mehrere Backup-Mechanismen und verschiedene Hintergrundprozesse. Gleichzeitig optimiere ich noch die Konfiguration einzelner Container, die mir zu viel Systemressourcen verbrauchen.

Deshalb habe ich mich entschieden, Beszel als schlanke Monitoring-Lösung auf meinem VPS einzusetzen.

Warum zusätzlich zu Dockhand?

Für die Verwaltung meiner Docker-Container verwende ich bereits Dockhand. Damit lassen sich Container, Stacks und deren aktueller Zustand komfortabel verwalten.

Was mir derzeit allerdings fehlt, ist eine vernünftige Langzeitansicht der Systemressourcen. Ich möchte nicht nur sehen, wie stark mein VPS gerade ausgelastet ist, sondern auch nachvollziehen können, wie sich der Ressourcenverbrauch über mehrere Tage oder Wochen entwickelt.

Genau hier soll Beszel ansetzen. Dockhand bleibt weiterhin für die Containerverwaltung zuständig, während Beszel die Ressourcenüberwachung übernimmt.

Was ist Beszel?

Beszel ist eine leichtgewichtige, quelloffene Monitoring-Lösung, die sich besonders für kleinere Serverumgebungen und Homelabs eignet.

Die Software besteht aus zwei Komponenten:

  • Beszel Hub: Zentrale Weboberfläche zur Anzeige und Auswertung der Messwerte.
  • Beszel Agent: Erfasst die Systeminformationen und übermittelt sie an den Hub.

Neben klassischen Systemmetriken kann Beszel auch den Ressourcenverbrauch einzelner Docker-Container erfassen.

Damit eignet sich die Software gut für meinen VPS, ohne gleich eine umfangreiche Monitoring-Infrastruktur mit Prometheus und Grafana aufbauen zu müssen.

Welche Ressourcen möchte ich überwachen?

Im Mittelpunkt steht die langfristige Entwicklung der Ressourcenauslastung.

BereichWas mich interessiert
CPUAuslastung des VPS und einzelner Container
RAMSpeicherverbrauch und mögliche Engpässe
FestplatteBelegter und verfügbarer Speicherplatz
Disk-I/OLese- und Schreibaktivitäten
NetzwerkEin- und ausgehender Datenverkehr
DockerRessourcenverbrauch einzelner Container
HistorieEntwicklung der Messwerte über längere Zeiträume

Besonders wichtig ist mir dabei die Überwachung des Festplattenspeichers. Damit Beszel die Speicherplatzbelegung der primären Systempartition korrekt überwachen konnte, musste nach der initialen Bereitstellung zusätzlich die Umgebungsvariable FILESYSTEM im Beszel-Agent definiert werden.

    environment:
      [...]
      FILESYSTEM: "vda1"

Einblicke in das Monitoring

Systemübersicht

Die Gesamtübersicht zeigt die wichtigsten Ressourcen meines VPS auf einen Blick. Dazu gehören unter anderem CPU-Auslastung, Arbeitsspeicher und Festplattenbelegung. So lässt sich schnell erkennen, wie stark das System ausgelastet ist und wie sich die Werte im Zeitverlauf entwickeln. Die Ansicht lässt sich zwischen Tabelle und Raster (siehe Bild) umstellen.

Systemübersicht im Raster-Format

Netzwerk-Monitore

Die Netzwerk-Monitore zeigen die Ergebnisse verschiedener Prüfungen, die der Beszel-Agent durchführt. Dazu gehören unter anderem Ping-Tests, DNS-Namensauflösung, HTTP-Requests und weitere Netzwerkchecks. So lassen sich Erreichbarkeitsprobleme, erhöhte Antwortzeiten oder Störungen bei der Namensauflösung frühzeitig erkennen.

Monitoring von Erreichbarkeiten und Netzwerkdiensten über Netzwerk-Monitore

Ressourcen-Detailansicht

In der Detailansicht lässt sich der Ressourcenverbrauch einzelner Docker-Container genauer betrachten. Damit kann ich beispielsweise feststellen, welche Anwendungen besonders viel RAM oder CPU benötigen und wie sich Konfigurationsänderungen auf deren Auslastung auswirken.

Auszug aus der Ressourcen-Detailansicht

Benachrichtigungen über Discord

Wie bei meinen anderen Diensten sollen auch die Benachrichtigungen von Beszel über Discord erfolgen. So kann ich beispielsweise über kritische Ressourcenauslastungen oder knapp werdenden Speicherplatz informiert werden, ohne regelmäßig die Monitoring-Oberfläche öffnen zu müssen.

Die Webhook-URL wird in Discord erstellt und hat folgendes Format:

https://discord.com/api/webhooks/WEBHOOKID/TOKEN

Für Beszel muss die URL in folgendes Format umgewandelt werden:

discord://TOKEN@WEBHOOKID

E-Mail-Benachrichtigungen, wie ich sie während jedem Setup erstmal einrichte, wären möglicherweise die robustere Variante, da sie weniger von einem für mich nicht steuerbaren Provider abhängig sind. Allerdings möchte ich vermeiden, dass meine Postfächer durch exzessive technische Meldungen überflutet werden.

Deshalb bleibt Discord mein bevorzugter Benachrichtigungskanal für das laufende Monitoring (analog zu Uptime Kuma).

Eine Ausnahme bleibt Dockhand: Die Containerverwaltung selbst darf weiterhin E-Mails versenden. Damit behalte ich für wichtige Verwaltungs- und Backup-Meldungen einen zusätzlichen Kommunikationsweg, der auch dann funktioniert, wenn Beszel und Uptime Kuma mal ausgefallen sind.

Sicherheit

Gemäß meinem Sicherheitskonzept werden administrative Schnittstellen ausschließlich über das WireGuard-VPN bereitgestellt. Bei Beszel betrifft dies sowohl das Monitoring-Frontend als auch die integrierte PocketBase-Administrationsoberfläche. Da beide über denselben Dienst (und TCP-Port) erreichbar sind, wird der Zugriff bereits auf Netzwerkebene auf das WireGuard-Interface beschränkt.

Ein weiteres Argument ist, dass Monitoring-Daten wie CPU- und Speicherauslastung, Dateisystembelegung und Container-Status detaillierte Einblicke in die Systeminfrastruktur ermöglichen. Da diese Informationen ausschließlich administrativen Zwecken dienen, besteht keine Notwendigkeit, sie über das öffentliche Internet zugänglich zu machen.

Fazit

Mit Beszel habe ich eine schlanke Ergänzung zu Dockhand gefunden, um die Ressourcen meines VPS und der einzelnen Docker-Container langfristig im Blick zu behalten. Die historischen Messwerte sind eine signifikante Verbesserung meiner Einblicke in die Entwicklung meines VPS über die nächsten Wochen und Monate.

Die Einrichtung ist unkompliziert, der Ressourcenbedarf gering und dank Discord-Benachrichtigungen muss ich die Oberfläche nicht ständig kontrollieren, außerdem werden meine E-Mail-Postfächer nicht überflutet und ich bekomme Benachrichtigungen an meinem Smartphone (und sogar meiner Smartwatch) dadurch angezeigt. Für meine aktuelle VPS-Umgebung bietet Beszel damit genau den Funktionsumfang, den ich benötige.

Maximilian
Maximilian

Herzlich willkommen! Ich bin Max, ein Informatiker mit über 15 Jahren Berufserfahrung. Hier teile ich meine Leidenschaften, Erlebnisse und Perspektiven. Ich lade dich ein, gemeinsam mit mir auf eine Entdeckungsreise zu gehen.

Schreiben Sie einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahren Sie, wie Ihre Kommentardaten verarbeitet werden.