Beszel – server resource monitoring hub
Die Kombination aus Grafana und Prometheus war/ist mir immer etwas zu mächtig für das Monitoring meiner drei Raspberry Pi’s und ein/zwei Maschinen bei Hetzner. Also habe ich auf jedem „Gerät“ Glances installiert. Schön schlank und mit vielen Informationen, aber leider nicht zentral auf einem Dashboard darzustellen.
Vor kurzem lief mir Beszel (»A lightweight server resource monitoring hub«) über den Weg. Seit Sonnabend läuft das Ding -wie vorhin schon mal angeteasert – im persönlichen Netzwerk und ich bin schon mal sehr zufrieden.
Beszel?
Beszel ist ein leichtgewichtiges Server-Überwachungssystem mit folgenden Hauptmerkmalen:
- Ressourcenschonend im Vergleich zu anderen Lösungen
- Docker-Statistiken für CPU- und Speichernutzung
- Konfigurierbare Alarme für Ressourcenauslastung
- Mehrbenutzer-Unterstützung mit Adminrechten
- Einfache Einrichtung ohne öffentliche Erreichbarkeit
- OAuth/OIDC-Authentifizierung
- Automatische Backups (lokal oder S3-kompatibel)
- REST-API für eigene Anwendungen
Das System besteht aus zwei Komponenten:
- Hub: Web-Anwendung für das Dashboard
- Agent: Läuft auf den zu überwachenden Systemen
Einrichtung
Die Einrichtung erfolgt durch Starten des Hubs, Erstellen eines Admin-Benutzers, Hinzufügen von Systemen und Ausführen des Agenten (entweder als Docker-Container oder Binärdatei) auf den Zielsystemen. Hier laufen natürlich beide Komponenten in Docker Containern.
Hier die easy peasy docker-compose.yml für den Hub:
services: beszel: image: 'henrygd/beszel' container_name: 'beszel' restart: unless-stopped ports: - '8090:8090' volumes: - ./beszel_data:/beszel_data
Für den Agent wird eine docker-compose.yml beim Hinzufügen eines Servers automatisch erstellt. Das sieht dann ungefähr so aus:
services: beszel-agent: image: 'henrygd/beszel-agent' container_name: 'beszel-agent' restart: unless-stopped network_mode: host volumes: - /var/run/docker.sock:/var/run/docker.sock:ro environment: PORT: 45876 KEY: 'ssh-ed25519 YOUR_PUBLIC_KEY' # FILESYSTEM: /dev/sda1 # set to the correct filesystem for disk I/O stats
Auf der Github-Seite des Projekts ist das alles nochmal lässig und in voller Gänze beschrieben. Läuft voll schnafte!
Sie sehen gerade einen Platzhalterinhalt von YouTube. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Wie kann ich einen VPS mit Beszel überwachen, wenn mein Beszel Hub auf einem Raspberry Pi in meinem Heimnetzwerk läuft? Ich erhalte keine Daten vom VPS.
Läuft der VPS hinter einer Firewall? Dann müsste noch der Port 45876 geöffnet werden.
Ja, ich musste noch die Firewall für den Port 45876 deaktivieren und dann hat es funktioniert. Danke für den Tipp.
Freut mich, dass es jetzt funktioniert! Wie gefällt Dir Beszel?
Ich finde es super, so kann ich schnell sehen, ob die Server noch laufen und wie ausgelastet sie sind.