Mobile-Menu

Open Source-Tool mit Virtualisierung für Echtzeitmetriken Netdata: Netzwerkanalyse für Linux, macOS und FreeBSD

Autor / Redakteur: Thomas Joos / Dipl.-Ing. (FH) Andreas Donner

Netdata ist ein Linux-/macOS-Tool, mit dem sich Echtzeitmetriken über eine webbasierte Oberfläche visualisieren lassen. Dadurch ist es möglich, eine komplette Infrastruktur effektiv zu überwachen und Probleme schnell zu erkennen.

Firma zum Thema

Mit dem auch als Cloud-Plattform zur Verfügung stehenden Tool Netdata können lokale oder verteilte Netzwerke sowie IoT-Infrastrukturen überwacht werden.
Mit dem auch als Cloud-Plattform zur Verfügung stehenden Tool Netdata können lokale oder verteilte Netzwerke sowie IoT-Infrastrukturen überwacht werden.
(Bild: Joos / Netdata)

Netdata ist ein Open Source-Tool für Linux, macOS und FreeBSD. Mit der Lösung können im Netzwerk verschiedene Systeme auf Basis von Echtzeitmetriken überwacht werden. Das Tool kann gleichzeitig eine Visualisierung erstellen, die sich mit Webbrowsern anzeigen lässt. Durch diese Möglichkeiten lassen sich auch komplexe IT-Infrastrukturen kostenlos überwachen. Netdata kann sofort nach der Installation verschiedene Bereiche der angebundenen Knoten im Netzwerk überwachen. Dazu gehören zum Beispiel:

  • CPU, Speicher, Festplatte, Netzwerk, systemd, eBPF und andere. Jede Metrik, die von /proc, /sys und anderen Linux-Kernel-Quellen zur Verfügung stehen, können überwacht werden.
  • Metriken von Container-Agenten wie dockerd oder kubectl, zusammen mit der Ressourcennutzung von Containern und den Anwendungen können mit Netdata überwacht werden.
  • Metriken von Webservern, Datenbanken, Protokollen, Message Brokern, APM-Tools, E-Mail-Servern und anderen Anwendungen lassen sich ebenfalls anbinden.

Parallel zum Open Source-Tool Netdata bieten die Entwickler auch eine kostenlose Cloud-Version der Lösung an. Für die Verwendung der Cloud-Plattform ist eine Registrierung beim Anbieter notwendig.

Bildergalerie
Bildergalerie mit 6 Bildern

Mit Netdata ist es nicht nur möglich, lokale oder verteilte Netzwerke zu überwachen, sondern auch IoT-Infrastrukturen sind mit Netdata problemlos zu überwachen. Dazu ist auf den jeweiligen Systemen der Netdata-Agent notwendig. Nach der Installation des Agenten kann dieser auch über das Internet an die Cloud-Plattform von Netdata Informationen senden. Die Überwachung ist aber auch problemlos ohne die Cloud-Variante nutzbar.

Netdata in Betrieb nehmen

Die Installation kann auch mit einem vorgefertigten Kickstart-Skript auf Linux erfolgen. Der Befehl dazu lautet:

bash <(curl -Ss https://my-netdata.io/kickstart.sh)

Das ist der einfachste Weg, um Netdata im Netzwerk in Betrieb zu nehmen. Der Befehl lädt das Skript herunter und führt es in Linux aus. Die Installation ist in wenigen Minuten abgeschlossen. Die Lösung kann auch auf Basis von Docker und Kubernetes zum Einsatz kommen. Auch die Installation auf FreeBSD und macOS ist problemlos möglich. Wer Netdata in Windows nutzen will, kann den Weg über das Windows-Subsystem für Linux gehen, oder auf Docker setzen.

Nach der Installation lassen sich Systeme an Netdata anbinden. Neben der Visualisierung der Echtzeitmetriken kann Netdata auch Alarme auslösen, wenn auf angebundenen Systemen bestimmte Zustände eintreten. Die Weboberfläche der lokalen Netdata-Installation steht über die URL http://<localhost>:19999 zur Verfügung. Es ist aber auch möglich, dass lokale Netdata-Installationen ihre Daten an die Netdata-Cloud senden.

Netdata anpassen

In der Weboberfläche stehen die verschiedenen Metriken zur Verfügung, und die Optionen zum Anbinden weiterer Knoten. Für die Anpassung von Netdata stellen die Entwickler ein Konfigurationsskript zur Verfügung. Dieses Skript ermöglicht die Anpassung des Dashboards und die Konfiguration der zu überwachenden Metriken. Auch die Einschränkung des Zugriffs auf das Netdata-Dashboard erfolgt mit dem Konfigurations-Skript.

Auf den meisten Linux-Systemen erfolgt die Installation der Überwachungslösung im Verzeichnis /etc/netdata/. Das config-Verzeichnis enthält verschiedene Konfigurationsdateien mit der Erweiterung .conf und das Shell-Skript mit der Bezeichnung „edit-config“. Über dieses Skript lassen sich die verschiedenen .conf-Dateien anpassen, welche die unterschiedlichen Bereiche von Netdata steuern.

Die Einstellungen dazu sind auch über den Webbrowser und die URL http://<IP des Knotens>:19999/netdata.conf zu erreichen. Das Verzeichnis der Konfigurationsdateien ist beim Wert „# config directory =“ zu finden. Bei netdata.conf handelt es sich um die Hauptkonfigurationsdatei. Hier sind die meisten Konfigurationsoptionen zu finden. Die einzelnen Optionen der Konfigurationsdateien können der Netdata-Dokumentation entnommen werden.

Cloud-Version von Netdata nutzen

Neben der Installation im lokalen Netzwerk kann Netdata auch als Cloud-Plattform genutzt werden. Für die Anbindung ist nur die Verwendung einer E-Mail-Adresse notwendig. Im Anschluss erfolgt die Definition eines „Spaces“. Damit bildet die Netdata Cloud das lokale Netzwerk ab. Im Anschluss erfolgt die Definition eines „War Rooms“.

Dabei handelt es sich um ein virtuelles Kontrollzentrum, in dem verschiedene Administratoren die einzelnen Server im Netzwerk überwachen und Maßnahmen treffen können. Für die Anbindung von Netzwerkknoten an die Netdata Cloud muss der Netdata-Agent auf den Computern installiert sein. Anschließend können die Systeme an die Netdata Cloud angebunden werden. In der Weboberfläche der Netdata-Cloud sind alle angebundenen Server zu sehen. Der Befehl zum Anbinden eines Servers, in Netdata auch „Node“ genannt, ist beim Erstellen der Spaces zu sehen. Über den Menüpunkt „Claim Nodes“ kann der Befehl zum Anbinden weiterer Server jederzeit angezeigt werden.

Beim Start von Netdata, erkennt die Lösung automatisch und ohne Konfiguration zahlreiche Datenquellen und sammelt sofort sekundengenaue Metriken. Collectoren sammeln Metriken und erstellen interaktive Visualisierungen. Findet der Netdata-Collector kompatible Metriken beginnt er einen Sammeljob. Der Agent sendet die gesammelten Daten zur Speicherung an die Datenbank-Engine und visualisiert sie sofort mit verschiedenen Dashboards.

Jeder Kollektor verfügt über eine vordefinierte Konfiguration. Der Nginx-Kollektor verwendet zum Beispiel die Adresse http://127.0.0.1/stub_status, den Standard-Endpunkt für die Darstellung von Nginx-Metriken. Der Webprotokollkollektor für Nginx oder Apache sucht in /var/log/nginx/access.log und /var/log/apache2/access.log nach Protokolldateien. Auch diese Daten lassen sich sofort anbinden, ohne zusätzliche Konfigurationen durchführen zu müssen. Natürlich lassen sich alle diese Daten auch jederzeit anpassen.

(ID:47480374)

Über den Autor

 Thomas Joos

Thomas Joos

Freiberuflicher Autor und Journalist