Self-Hosting mit Beszel: Ihre gesamte VPS-Flotte überwachen
Sobald Sie mehr als einen Server betreiben, brauchen Sie Transparenz — ohne für SaaS-Monitoring-Dienste zu bezahlen oder einen ressourcenintensiven Observability-Stack zu betreiben. Beszel schließt diese Lücke elegant. Es ist ein leichtgewichtiges, selbst gehostetes Monitoring-Dashboard, das Systemmetriken von mehreren Maschinen in einer einzigen Oberfläche zusammenführt. Dieser Artikel erklärt, warum Beszel sich abhebt, wie man es für Multi-Server-Umgebungen einrichtet und wie man es produktionssicher betreibt.
Warum Beszel für selbst gehostetes Monitoring?
Die meisten selbst gehosteten Monitoring-Lösungen fallen in zwei Kategorien: zu einfach (nur Uptime-Checks) oder zu komplex (vollständige Prometheus + Grafana Stacks). Beszel liegt dazwischen — es liefert aussagekräftige Systemmetriken, ohne PromQL lernen oder eine Multi-Container-Observability-Plattform warten zu müssen.
Hauptvorteile:
- Minimaler Ressourcenbedarf: Hub läuft auf 512 MB RAM. Agents verbrauchen unter 10 MB RAM.
- Keine externen Abhängigkeiten: SQLite-gestützt, kein Postgres oder Redis erforderlich.
- Hub + Agent-Architektur: Ein Hub, unbegrenzte überwachte Server.
- Saubere Standard-UI: Diagramme für CPU, Speicher, Festplatten-I/O und Netzwerk — ohne Konfigurationsaufwand.
- Läuft überall: VPS, Homelab, Bare Metal, Raspberry Pi.
Empfohlener VPS für den Beszel-Hub
| Anbieter | Preis | RAM | Speicher | Besonderheit |
|---|---|---|---|---|
| Hetzner Cloud | 4,15 EUR/Mo. | 4 GB | 40 GB NVMe | Bestes EU-Preis-Leistungs-Verhältnis |
| Contabo VPS | 5,99 EUR/Mo. | 8 GB | 200 GB NVMe | Maximale Speicher-Retention |
| Linode (Akamai) | 5 USD/Mo. | 1 GB | 25 GB SSD | Günstig, global |
| Vultr | 6 USD/Mo. | 1 GB | 25 GB SSD | 32 Standorte |
| DigitalOcean | 6 USD/Mo. | 1 GB | 25 GB SSD | Einfachstes Onboarding |
Anwendungsfälle fürs Monitoring
1. Homelab-Flotten-Monitoring
Wenn Sie mehrere VPS-Instanzen, ein NAS und einen lokalen Server betreiben, gibt Ihnen Beszel eine zentrale Übersicht. Installieren Sie den Agent auf jeder Maschine und sehen Sie alle Metriken unter einer URL. Kein SSH mehr auf jeden Server, um zu prüfen, ob eine Festplatte voll läuft.
2. Produktions-VPS-Überwachung
Self-Hoster, die Apps wie Nextcloud, Gitea oder Mastodon betreiben, können Beszel nutzen, um CPU- oder Speicherspitzen mit Traffic-Ereignissen zu korrelieren. Die historischen Diagramme erleichtern die Erkennung von Ressourcentrends, bevor sie zu Ausfällen werden.
3. CI/CD-Build-Server-Monitoring
Wenn Sie Woodpecker CI, Drone oder Gitea Actions betreiben, können Build-Jobs CPU und Speicher stark belasten. Beszel zeigt genau, wann Build-Jobs Ihren Server beanspruchen, und hilft bei Rightsizing-Entscheidungen.
4. VPN- und Netzwerk-Appliance-Monitoring
Agents können auf WireGuard- oder Headscale-Knoten laufen und Netzwerkdurchsatz und Systemzustand berichten, ohne diese Server dem öffentlichen Internet auszusetzen.
Multi-Server-Setup
Architektur
[Überwachter Server 1] -- beszel-agent --> [Beszel Hub VPS:8090]
[Überwachter Server 2] -- beszel-agent --> [Beszel Hub VPS:8090]
[Überwachter Server N] -- beszel-agent --> [Beszel Hub VPS:8090]
Der Hub ist Ihr zentraler VPS. Jeder überwachte Server führt den Agent aus, der lokale Metriken erfasst und an den Hub meldet.
Hub deployen
docker run -d \
--name beszel \
--restart unless-stopped \
-p 8090:8090 \
-v beszel_data:/beszel_data \
henrygd/beszel
Agents in großem Maßstab deployen
Für jeden überwachten Server einen Schlüssel im Beszel-Dashboard generieren (Server hinzufügen), dann ausführen:
docker run -d \
--name beszel-agent \
--restart unless-stopped \
--network host \
-e KEY="<serverspezifischer-schlüssel>" \
henrygd/beszel-agent
Für eine Ansible-Automatisierung:
- name: Deploy Beszel agent
community.docker.docker_container:
name: beszel-agent
image: henrygd/beszel-agent:latest
restart_policy: unless-stopped
network_mode: host
env:
KEY: "{{ beszel_agent_key }}"
Benachrichtigungen und Alerting
Beszel unterstützt Webhook-basierte Benachrichtigungen. Konfigurierbare Schwellenwerte:
- CPU-Auslastung (z.B. Alarm bei > 85% dauerhaft)
- Speicherauslastung (z.B. Alarm bei > 90%)
- Festplattenauslastung (z.B. Alarm bei > 80%)
Discord-Benachrichtigung einrichten
- In Ihrem Discord-Server: Servereinstellungen > Integrationen > Webhooks — neuen Webhook erstellen.
- Webhook-URL kopieren.
- In Beszel: Einstellungen > Benachrichtigungen — neuen Webhook hinzufügen und URL einfügen.
- Server-spezifische Alarm-Schwellenwerte im Server-Einstellungsbereich konfigurieren.
Slack-Benachrichtigung einrichten
Gleicher Ablauf — eingehenden Webhook im Slack-App-Verzeichnis erstellen, URL kopieren und in Beszels Benachrichtigungseinstellungen einfügen.
Integrationen
Reverse Proxy mit Caddy
monitor.ihredomain.de {
reverse_proxy localhost:8090
}
Caddy übernimmt automatisch HTTPS über Let’s Encrypt.
Backup mit Restic
Da Beszel SQLite verwendet, sind Backups einfach:
restic -r s3:s3.amazonaws.com/ihr-bucket backup /var/lib/docker/volumes/beszel_data/_data/
Per Cron planen:
0 3 * * * restic -r s3:s3.amazonaws.com/ihr-bucket backup /var/lib/docker/volumes/beszel_data/_data/ --quiet
Uptime Kuma als Ergänzung
Beszel übernimmt Systemmetriken; Uptime Kuma übernimmt Service-Health-Checks. Beide auf demselben VPS zu betreiben bietet umfassende Abdeckung — Beszel zeigt, ob ein Server kämpft, Uptime Kuma zeigt, ob ein spezifischer Dienst ausgefallen ist.
Leistung und Datenspeicherung
Die SQLite-Datenbank von Beszel wächst mit steigender Serveranzahl und längeren Aufbewahrungszeiträumen. Grobe Schätzungen:
- 1 Server, Standard-Retention: ~50 MB/Jahr
- 10 Server, Standard-Retention: ~500 MB/Jahr
- 50 Server, Standard-Retention: ~2,5 GB/Jahr
Contabos 200 GB NVMe bewältigt sogar große Flotten über Jahre, ohne historische Daten beschneiden zu müssen.
Häufig gestellte Fragen
Ist es sicher, Beszel dem öffentlichen Internet auszusetzen?
Verwenden Sie HTTPS über einen Reverse Proxy und setzen Sie ein starkes Admin-Passwort. Da Beszel keine Multi-User-Authentifizierung oder OIDC unterstützt, ist der Zugriff über ein VPN oder einen Reverse Proxy mit zusätzlicher Authentifizierung (z.B. Authelia oder Caddys basicauth) empfehlenswert.
Kann Beszel Grafana + Prometheus für grundlegendes Monitoring ersetzen?
Für Systemmetriken auf einer kleinen bis mittleren Flotte (unter 100 Server) ja. Beszel deckt die Kernmetriken ab, die die meisten Self-Hoster benötigen, ohne den operativen Aufwand eines vollständigen Prometheus-Stacks. Für benutzerdefinierte Metriken, Log-Aggregation oder komplexe Alerting-Pipelines ist ein Prometheus-basierter Stack besser geeignet.
Wie aktualisiere ich Beszel?
Neuestes Image ziehen und Container neu erstellen:
docker pull henrygd/beszel:latest
docker compose down && docker compose up -d
Ihre Daten bleiben im benannten Volume erhalten.
Self-Hosting mit Beszel ist eine der effizientesten Möglichkeiten, Transparenz über eine verteilte VPS-Flotte zu behalten. Weitere VPS-Empfehlungen finden Sie in unserem vollständigen Vergleich.