Netdata ist ein leistungsstarkes Echtzeit-Monitoring-Tool mit einer übersichtlichen Web-Oberfläche. Es zeigt hunderte Metriken mit minimalem Ressourcenverbrauch.
Was kann Netdata?
- Echtzeit-Metriken: Aktualisierung pro Sekunde
- Automatische Erkennung: Dienste werden automatisch erkannt
- Schöne Dashboards: Interaktive Grafiken
- Alerts: Integrierte Warnmeldungen
- Minimal: Wenig CPU- und RAM-Verbrauch
Schnelle Installation
Ein-Zeilen-Installation:
bash <(curl -Ss https://my-netdata.io/kickstart.sh)Manuelle Installation (Ubuntu/Debian)
apt update
apt install netdataCentOS/AlmaLinux
dnf install epel-release
dnf install netdataDienst starten
systemctl start netdata
systemctl enable netdata
systemctl status netdataWeb-Oberfläche
Netdata ist sofort unter Port 19999 erreichbar:
http://server-ip:19999Firewall freigeben
ufw allow 19999/tcpDashboard-Übersicht
Das Dashboard zeigt:
- System Overview: CPU, RAM, Load, Disk I/O
- CPU: Auslastung pro Kern, Interrupts
- Memory: RAM, Swap, Page Faults
- Disks: I/O pro Festplatte
- Network: Traffic pro Interface
- Processes: Prozess-Statistiken
Navigation
- Linke Seitenleiste: Kategorien
- Charts: Klicken und ziehen zum Zoomen
- Zeitraum: Oben rechts anpassen
Automatische Erkennung
Netdata erkennt automatisch:
- Apache, Nginx
- MySQL, PostgreSQL, Redis
- Docker Container
- PHP-FPM
- Systemd Services
- und viele mehr
Erkannte Dienste prüfen
# In /etc/netdata/
ls /etc/netdata/go.d/
ls /etc/netdata/python.d/Konfiguration
Hauptkonfiguration
nano /etc/netdata/netdata.confBind-Adresse ändern
Standardmäßig lauscht Netdata nur auf localhost. Für Remote-Zugriff:
[web]
bind to = 0.0.0.0Vorsicht: Nur in sicheren Netzwerken oder mit Authentifizierung!
History verlängern
Standard sind 1 Stunde Daten. Für längere Historie:
[global]
history = 7200 # 2 Stunden in SekundenFür längere Zeiträume: Netdata Cloud oder externe Datenbank.
Alerts konfigurieren
Alerts anzeigen
Im Dashboard: Glocken-Symbol oben rechts
Alert-Konfiguration
ls /etc/netdata/health.d/
nano /etc/netdata/health.d/cpu.confEigenen Alert erstellen
In /etc/netdata/health.d/custom.conf:
alarm: high_cpu_usage
on: system.cpu
lookup: average -5m unaligned of user,system
units: %
every: 1m
warn: $this > 80
crit: $this > 95
info: CPU usage over 80%
to: sysadminAlerts per E-Mail
In /etc/netdata/health_alarm_notify.conf:
SEND_EMAIL="YES"
EMAIL_SENDER="netdata@server.de"
DEFAULT_RECIPIENT_EMAIL="admin@example.com"Netdata Cloud
Netdata Cloud ermöglicht:
- Mehrere Server zentral überwachen
- Längere Historie
- Team-Zugriff
Mit Cloud verbinden
netdata-claim.sh -token=DEIN_TOKEN -rooms=DEIN_ROOMToken und Room-ID erhalten Sie nach Registrierung auf netdata.cloud.
Einzelne Dienste überwachen
MySQL/MariaDB
In /etc/netdata/go.d/mysql.conf:
jobs:
- name: local
dsn: 'netdata:passwort@tcp(localhost:3306)/'MySQL-Benutzer erstellen:
CREATE USER 'netdata'@'localhost' IDENTIFIED BY 'passwort';
GRANT USAGE ON *.* TO 'netdata'@'localhost';
FLUSH PRIVILEGES;Nginx
Nginx Status aktivieren:
location /nginx_status {
stub_status on;
allow 127.0.0.1;
deny all;
}Netdata erkennt es automatisch.
Docker
# Benutzer zur docker-Gruppe
usermod -aG docker netdata
systemctl restart netdataZugriff absichern
Mit Nginx als Reverse Proxy
server {
listen 443 ssl;
server_name netdata.example.com;
ssl_certificate /etc/letsencrypt/live/netdata.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/netdata.example.com/privkey.pem;
auth_basic "Netdata";
auth_basic_user_file /etc/nginx/.htpasswd;
location / {
proxy_pass http://127.0.0.1:19999;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}Passwort-Datei erstellen:
htpasswd -c /etc/nginx/.htpasswd adminNetdata nur localhost
In /etc/netdata/netdata.conf:
[web]
bind to = 127.0.0.1Zugriff dann nur über SSH-Tunnel oder Reverse Proxy.
Performance optimieren
Ressourcenverbrauch reduzieren
[global]
update every = 2 # Statt 1 Sekunde
memory mode = ram # Kein Disk-Speicher
[plugins]
apps = no # Prozess-Details deaktivieren
cgroups = no # Container-Details deaktivierenMetriken deaktivieren
# Plugin deaktivieren
mv /etc/netdata/python.d/example.conf /etc/netdata/python.d/example.conf.disabledAPI nutzen
Netdata hat eine JSON-API:
# Aktuelle CPU-Daten
curl "http://localhost:19999/api/v1/data?chart=system.cpu"
# Chart-Liste
curl "http://localhost:19999/api/v1/charts"
# Einzelner Wert
curl "http://localhost:19999/api/v1/data?chart=system.cpu&format=ssv&after=-1"Updates
# Bei Installation per Kickstart
/usr/libexec/netdata/netdata-updater.sh
# Bei APT-Installation
apt update && apt upgrade netdataTroubleshooting
Netdata startet nicht
# Logs prüfen
journalctl -u netdata
cat /var/log/netdata/error.log
# Manuell starten
netdata -DChart fehlt
# Plugins prüfen
/usr/libexec/netdata/plugins.d/go.d.plugin -dZu viel RAM-Verbrauch
[global]
history = 1800 # Reduzieren
memory mode = ramAlternativen
| Tool | Eigenschaften | |------|---------------| | Grafana + Prometheus | Flexibel, mehr Aufwand | | Zabbix | Enterprise, komplex | | Glances | Terminal-basiert | | htop | Nur Prozesse |
Fazit
Netdata ist das beste Tool für schnelles Server-Monitoring. Die Installation dauert Sekunden, die Oberfläche ist modern, und die automatische Erkennung erspart Konfigurationsaufwand. Für produktive Umgebungen sollten Sie den Zugriff absichern.