Zum Inhalt springen

Netdata - Echtzeit-Leistungsüberwachung Spickzettel

Netdata - Echtzeit-Leistungsüberwachung Spickzettel

Netdata ist ein Open-Source-Überwachungsagent, der tausende Metriken pro Sekunde mit nahezu null Konfiguration sammelt und sie auf einem Live-Web-Dashboard visualisiert (Standard-Port 19999). Er erkennt automatisch Dienste (Datenbanken, Webserver, Container, Kubernetes) durch 800+ Sammler und enthält Anomalieerkennung und ein integriertes Warnsystem.

Installation

MethodeBefehl
Universeller Kickstartwget -O /tmp/netdata-kickstart.sh https://get.netdata.cloud/kickstart.sh && sh /tmp/netdata-kickstart.sh
curl-Variantecurl https://get.netdata.cloud/kickstart.sh > /tmp/k.sh && sh /tmp/k.sh
Debian/Ubuntu pkgsudo apt install netdata
Fedora/RHEL pkgsudo dnf install netdata
Dockerdocker run -d --name=netdata -p 19999:19999 --cap-add SYS_PTRACE netdata/netdata
Helm (Kubernetes)helm install netdata netdata/netdata

Nach der Installation http://localhost:19999 öffnen (oder die IP des Servers).

Dienstverwaltung

BefehlBeschreibung
sudo systemctl start netdataAgent starten
sudo systemctl enable netdataBeim Booten starten
sudo systemctl restart netdataNeustarten (Konfigurationsänderungen anwenden)
sudo systemctl status netdataStatus überprüfen
sudo journalctl -u netdata -fAgent-Protokolle verfolgen
netdatacli reload-healthWarnungen neu laden, ohne vollständigen Neustart
netdatacli reload-labelsHost-Labels neu laden
netdatacli shutdown-agentAgent ordnungsgemäß stoppen

Konfiguration

Bearbeite die Konfiguration immer mit dem edit-config-Wrapper — er kopiert die Stock-Datei von /usr/lib/netdata/conf.d in /etc/netdata, sodass Upgrades sie nicht überschreiben.

cd /etc/netdata
sudo ./edit-config netdata.conf          # Hauptagentkonfiguration
sudo ./edit-config health_alarm_notify.conf   # Benachrichtigungen
sudo ./edit-config go.d.conf             # Go-Sammler aktivieren/deaktivieren
Einstellung (in netdata.conf)Zweck
[global] update every = 1Sammlungsintervall in Sekunden
[global] history / dbengineAufbewahrung / Größen der On-Disk-Datenbankebene
[web] bind to = *Netzwerkschnittstellen, auf denen das Dashboard lauscht
[web] default port = 19999Dashboard-Port
[plugins]Schalte ganze Plugin-Gruppen ein/aus

Sammler (Plugins)

AufgabeWie
Konfigurationsdateien pro Sammler auflistencd /etc/netdata && sudo ./edit-config go.d/CONFIG.conf
Ein Modul aktivieren (z.B. nginx)sudo ./edit-config go.d/nginx.conf dann auf die Status-URL verweisen
Go-Sammler debuggensudo /usr/libexec/netdata/plugins.d/go.d.plugin -d -m nginx
Häufig automatisch erkannte Modulenginx, apache, mysql, postgres, redis, docker, systemd units, disks, network, sensors

Gesundheit & Warnungen

Warndefinitionen liegen in /etc/netdata/health.d/*.conf.

cd /etc/netdata
sudo ./edit-config health.d/cpu.conf     # integrierten Alarm anpassen
netdatacli reload-health                  # anwenden
BefehlBeschreibung
curl http://localhost:19999/api/v1/alarms?allAlle Warnungen und aktueller Status auflisten (JSON)
curl http://localhost:19999/api/v1/infoAgent-Info, Version, Sammler
health_alarm_notify.conf bearbeitenE-Mail, Slack, PagerDuty, Discord, etc. verdrahten

Nützliche API-Endpunkte

EndpunktRückgabe
/api/v1/chartsAlle verfügbaren Diagramme auf dem Knoten
/api/v1/data?chart=system.cpuZeitreihendaten für ein Diagramm
/api/v1/allmetrics?format=prometheusScrapeziel für Prometheus
/api/v1/badge.svg?chart=system.cpu&value_color=greenEinbettbares Statusabzeichen

Netdata Cloud (Optional)

# Verbinde (beanspruche) einen Knoten mit Netdata Cloud für Multi-Knoten-Dashboards
sudo netdata-claim.sh -token=YOUR_TOKEN -rooms=ROOM_ID -url=https://app.netdata.cloud

Der Agent funktioniert vollständig eigenständig, wenn du ihn nie beanspruchst — Cloud fügt nur Querknotenansichten und zentralisierte Warnungen hinzu.

Häufige Workflows

# Schnelle Gesundheitsprüfung aus der Shell
curl -s http://localhost:19999/api/v1/alarms | jq '.alarms | keys'

# Metriken für einen vorhandenen Prometheus-Stack verfügbar machen
curl -s 'http://localhost:19999/api/v1/allmetrics?format=prometheus' | head

# CPU/Festplatten-Fußabdruck auf einer kleinen VM senken (netdata.conf)
#   [global] update every = 2
#   [db] mode = ram         # Metriken nur im Speicher halten

# Bewahrung reduzieren, aber Pro-Sekunde-Granularität beibehalten, dann neu laden
sudo systemctl restart netdata

Netdata vs Prometheus + Grafana

AspektNetdataPrometheus + Grafana
EinrichtungMinuten, Auto-ErkennungManuelle Exporter + Dashboards
GranularitätPro Sekunde standardmäßigTypischerweise 15s Scrape
SpeicherungLokale abgestufte Datenbank (dbengine)Zentrale TSDB
Am besten fürEinzelknoten-Tiefe, schnelle TriageGroße Flotten, Langzeit-Abfragen
InteropExportiert Prometheus-FormatKann Netdata scrapen

Ressourcen