Netdata per Docker installieren: Echtzeit-Monitoring für Server und Container¶
Veröffentlicht am 2. Oktober 2026 · Geschätzte Lesezeit: 5 Minuten
Netdata sammelt pro Sekunde tausende Metriken von deinem Server, seinen Containern und den darauf laufenden Diensten – und zeigt sie in einem übersichtlichen Live-Dashboard an. Anders als bei Prometheus+Grafana oder Beszel ist Netdata nach dem Containerstart ohne jede Konfiguration einsatzbereit: CPU, RAM, Festplatten, Netzwerk, Docker-Container, Datenbanken und Webserver werden automatisch erkannt und überwacht.[1] Für die Einrichtung solltest du etwa 15 bis 25 Minuten einplanen.
Diese Anleitung folgt der offiziellen Netdata-Docker-Installationsanleitung und fasst die wichtigsten Schritte praxisnah zusammen.[1] Weitere Details und Hintergründe liefert die Netdata-Dokumentation zur Konfiguration.[3] Das Video Installing Netdata in Docker zeigt den Ablauf zusätzlich im Terminal.[5]
Voraussetzungen
- Ein Linux-Server mit Docker und Docker Compose (plugin)
- Terminal-Zugriff mit
sudo-Rechten - Mindestens 512 MB freier Arbeitsspeicher
- Ein freier TCP-Port 19999 im Heimnetz
1. Projektverzeichnis anlegen¶
Erstelle ein eigenes Verzeichnis für Netdata – so bleiben Konfiguration, Metrik-Daten und Cache beieinander und lassen sich leichter sichern:
Die Konfiguration liegt später im Docker-Volume netdataconfig, die Metrik-Daten in netdatalib und der Cache in netdatacache. Wer die Daten lieber als normale Ordner im Dateisystem ablegen will (z. B. für einfachere Backups), findet den Abschnitt zur host-editable configuration in der offiziellen Anleitung.[1]
2. Docker-Compose-Datei erstellen¶
Erstelle die Datei compose.yaml im Verzeichnis ~/docker/netdata:
services:
netdata:
image: netdata/netdata:stable
container_name: netdata
pid: host
network_mode: host
restart: unless-stopped
cap_add:
- SYS_PTRACE
- SYS_ADMIN
security_opt:
- apparmor:unconfined
volumes:
- netdataconfig:/etc/netdata
- netdatalib:/var/lib/netdata
- netdatacache:/var/cache/netdata
- /:/host/root:ro,rslave
- /etc/passwd:/host/etc/passwd:ro
- /etc/group:/host/etc/group:ro
- /etc/localtime:/etc/localtime:ro
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /etc/os-release:/host/os-release:ro
- /var/log:/host/var/log:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
volumes:
netdataconfig:
netdatalib:
netdatacache:
Die wichtigsten Einstellungen auf einen Blick:
| Einstellung | Bedeutung |
|---|---|
pid: host |
Teilt den Prozessraum des Hosts – nötig für die Container- und Prozessüberwachung |
network_mode: host |
Erlaubt den Zugriff auf den Netzwerk-Stack des Hosts |
SYS_PTRACE |
Erkennt lauschende Dienste und ordnet Ports Prozessen zu |
SYS_ADMIN |
Ermöglicht die Überwachung von Container-Netzwerken |
apparmor:unconfined |
Hebt die Container-isolation für die Systemüberwachung auf |
/var/run/docker.sock |
Liest Container-Namen, -Status und -Ressourcen aus |
Sicherheitshinweis
Die Berechtigungen pid: host und network_mode: host sowie die gesetzten Capabilities heben die Container-Isolation weitgehend auf. Netdata benötigt diese Rechte, um den Host vollständig zu überwachen. Setze den Container daher nur auf Servern ein, denen du vertraust, und erwäge bei kritischen Umgebungen die Verwendung eines Reverse-Proxys mit Passwortschutz.[1]
Das Image netdata/netdata:stable verwendet die aktuellste stabile Veröffentlichung. Das Standard-latest-Tag zeigt dagegen auf nächtliche Entwicklungs-Builds – für den produktiven Einsatz ist stable die richtige Wahl.[1]
3. Netdata starten¶
Starte den Container im Hintergrund:
Docker erstellt die drei benannten Volumes (netdataconfig, netdatalib, netdatacache) automatisch und startet den Netdata-Container.
Prüfe, ob der Container läuft:
Erwartete Ausgabe (Auszug):
4. Dashboard aufrufen¶
Öffne die Weboberfläche im Browser:
Ersetze <server-ip> durch die IP-Adresse deines Servers (z. B. 192.168.1.100). Das Dashboard zeigt sofort hunderte Live-Diagramme an – ohne dass du vorher einen Datenbank-Treiber, einen Datensammler oder einen Exportdienst konfigurieren musst.
Netdata erkennt automatisch:
- CPU – Auslastung, Temperatur, Frequenz
- Arbeitsspeicher – RAM, Swap, Speicherauslastung
- Festplatten – Belegung, I/O, SMART-Werte
- Netzwerk – Bandbreite, Verbindungen, Fehler
- Docker-Container – Name, Status, CPU-, RAM- und Netzwerkverbrauch der einzelnen Container
- Laufende Dienste – systemd-Units, lauschende Ports
- Webserver – Nginx, Apache (falls installiert)
- Datenbanken – PostgreSQL, MariaDB, Redis (falls installiert)[1]
5. Container-Logs prüfen¶
Bei Problemen hilft ein Blick in die Logs des Containers:
Netdata protokolliert dort, welche Collector geladen wurden, ob der Zugriff auf den Docker-Socket klappt und welche Fehler beim Start auftreten.
6. Netdata aktualisieren¶
Docker-Container aktualisieren sich nicht von selbst. Führe für ein Update diese Schritte aus:[1]
Der erste Befehl lädt das neue Image, der zweite startet den Container mit der neuen Version neu – Konfiguration, Metrik-Daten und Cache bleiben dank der benannten Volumes erhalten.
Alte Container-Images aufräumen¶
Nach einem Update bleibt das alte Image auf der Festplatte liegen. Entferne ungenutzte Images mit:
Risiken und typische Fehler¶
Port bereits belegt. Port 19999 wird von einem anderen Dienst verwendet. Ändere den Standard-Port über die Umgebungsvariable NETDATA_LISTENER_PORT=19999 und trage den geänderten Port im Dashboard-Link ein.[1]
Fehlende Berechtigungen. Ohne SYS_PTRACE und SYS_ADMIN zeigt Netdata keine Container-Netzwerke und keine lauschenden Dienste an. Ohne pid: host funktionieren die Prozess- und Container-Collectoren nicht. Ohne /var/run/docker.sock erscheinen keine Container im Dashboard.[1]
Rootless Docker. Läuft Docker im Rootless-Modus, fehlen Netdata einige Systemzugriffe. Container-Netzwerke, Apps.plugin und systemd-journal.plugin stehen dann nicht zur Verfügung. Verwende die Rootless-Variante aus der offiziellen Doku, wenn du nicht auf Host-Netzwerkmodus umstellen kannst.[1]
Keine Daten in den Diagrammen. Der Container braucht ein bis zwei Minuten, um alle Metriken zu sammeln. Zeigt das Dashboard nach fünf Minuten noch leere Diagramme, prüfe die Logs mit docker compose logs.
Fertig¶
Netdata läuft und überwacht deinen Server in Echtzeit. Öffne http://<server-ip>:19999 – ersetze <server-ip> durch die IP-Adresse deines Servers – und prüfe folgende Punkte:
- Die CPU-Auslastung zeigt eine aktuelle Kurve
- Unter Docker → Containers siehst du deine laufenden Container
- Die Festplatten enthalten eine Diagramm-Reihe für
/
Bei jedem dieser Punkte sollte eine durchgehende, sich ständig aktualisierende Linie zu sehen sein. Netdata braucht keine weitere Konfiguration – neue Collector werden automatisch aktiviert, sobald ein entsprechender Dienst auf dem Server erscheint.[1]
Sources¶
[1] https://learn.netdata.cloud/docs/netdata-agent/installation/docker — Install Netdata with Docker — Official Documentation [3] https://learn.netdata.cloud/docs/agent/configuration — Netdata Configuration Documentation [5] https://www.youtube.com/watch?v=4HpVor3e0pY — Installing Netdata in Docker - YouTube