linux-ubuntu-debian monitoring netdata real-time performance

Netdata: Real-time System Monitoring (Artikel 048)

Installation und Nutzung von Netdata zur hochauflösenden Echtzeit-Überwachung von Linux-Servern. Diagnose von Performance-Engpässen in Sekunden mit 1s-Auflösung.

# Netdata Deep Dive: Performance-Diagnose in Echtzeit

TL;DR / Management Summary Während Prometheus und Grafana ideal für Langzeittrends sind, ist Netdata das Röntgengerät für den Moment. Mit einer Auflösung von einer Sekunde und tausenden automatisch erkannten Metriken erlaubt es Netdata, Performance-Engpässe (Spikes, I/O-Hänger, CPU-Steal) in Echtzeit zu diagnostizieren. Ein Senior Admin installiert Netdata auf jedem Node, um bei akuten Problemen sofort unter die Haube schauen zu können.


# 1. Einführung & Architektur

Metriken ohne Grenzen.

Netdata ist extrem ressourceneffizient (geschrieben in C) und benötigt keine manuelle Konfiguration. Es erkennt Dienste (Nginx, MySQL, Docker) automatisch.

# Architektur-Übersicht (Mermaid)

graph TD
    A[Linux Host] --- B[Netdata Agent]
    B -->|Collect every 1s| C[In-Memory TSDB]
    C -->|Render| D[Local Web UI Port 19999]
    B -.->|Streaming| E[Netdata Cloud / Parent]
    B -->|Export| F[Prometheus / InfluxDB]

# 2. Installation & Schnellstart

In 30 Sekunden zum Dashboard.

# Der “One-Liner”

Der offizielle Weg nutzt ein automatisches Skript, das Repositories und Abhängigkeiten verwaltet.

wget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh && sh /tmp/netdata-kickstart.sh --no-updates --stable-channel

# Manueller Zugriff

Nach der Installation ist das Dashboard unter http://<server_ip>:19999 erreichbar.


# 3. Diagnose-Features

Was Netdata besonders macht.

# 1s Auflösung

Andere Systeme sammeln Daten alle 15-60 Sekunden. Ein CPU-Spike von 2 Sekunden bleibt dort unsichtbar. Netdata zeigt ihn präzise an.

# Applikations-Performance

Netdata zeigt nicht nur “CPU Last”, sondern schlüsselt diese nach Prozessen und Usern auf.

  • Charts: CPU, RAM, Disk I/O (per disk!), Network (per interface!).
  • Alarme: Kommt mit hunderten vordefinierten Alarmen (z.B. “Predictive Disk Fill”).

# 4. Day-2 Operations: Streaming & Export

Logs für die Ewigkeit.

Netdata speichert standardmäßig nur Daten der letzten Stunden/Tage im RAM (oder Disk-Cache).

# Daten zu Prometheus senden

Netdata bietet einen Prometheus-kompatiblen Endpunkt: http://localhost:19999/api/v1/allmetrics?format=prometheus

# Netdata Cloud

In Enterprise-Umgebungen verbinden Sie die Agents mit der Netdata Cloud.

  • Vorteil: Ein zentrales Dashboard für alle Server, ohne Port 19999 nach außen öffnen zu müssen (via Outbound-Stream).

# 5. Troubleshooting & “War Stories”

Wenn der Monitor selbst zur Last wird.

# Story 1: “Der RAM-Fresser”

Symptom: Auf einem Server mit nur 1GB RAM wird Netdata vom OOM-Killer beendet. Ursache: Netdata nutzt standardmäßig einen RAM-Cache für seine Datenbank. Lösung: Stellen Sie in der netdata.conf den Datenbank-Modus auf dbengine um. Dies nutzt die Disk für die Langzeitspeicherung und verbraucht minimal RAM.

# Story 2: “Das volle /var/log”

Symptom: Netdata schreibt massiv Fehler-Logs. Ursache: Ein Plugin (z.B. für eine nicht existierende Datenbank) versucht ständig, sich zu verbinden. Lösung: Deaktivieren Sie das spezifische Plugin in /etc/netdata/python.d.conf oder go.d.conf.


# 6. Sicherheit & Hardening

  • Firewall: Port 19999 sollte niemals offen im Internet stehen. Er bietet keine native Authentifizierung im Agent.
  • Reverse Proxy: Nutzen Sie Nginx mit Basic-Auth, um das lokale Dashboard abzusichern.
  • ReadOnly: Deaktivieren Sie Schreibrechte für das Web-Interface, um Manipulationen zu verhindern.

# Anhang: Cheatsheet

Aufgabe Befehl / Link
Config bearbeiten /etc/netdata/edit-config netdata.conf
Dienst neustarten systemctl restart netdata
Dashboard Port 19999
Health-Check curl http://localhost:19999/api/v1/info
Cloud Anbindung netdata-claim.sh -token=TOKEN -rooms=ROOM