So installierst du Netdata unter Debian 10
Netdata ist ein Echtzeit-Leistungsmonitor für Linux-Systeme. Er kann verwendet werden, um verschiedene Systeminformationen wie Netzwerk-, Festplattennutzungs- oder CPU-Stromverbrauchsstatistiken im Live-Modus zu sammeln. Netdata kann auch als Agentenprozess auf dem Netdata Chassis (einer kommerziellen Server-Appliance von Netdata LLC) laufen und Endnutzermetriken sammeln, die auf zentralen Netdata-Servern zur weiteren Verarbeitung und Visualisierung über das Netdata Web Dashboard gespeichert werden.
Netdata ist schnell und effizient, leichtgewichtig und einfach zu implementieren. Es läuft als Daemon auf allen gängigen Linux-Distributionen und eignet sich sowohl für Server als auch für eingebettete Systeme (einschließlich ARM-Boards).
Netdata wird unter der GPLv2 mit einer zusätzlichen Gewährung von Patentrechten veröffentlicht, was bedeutet, dass es ohne Einschränkungen auch in kommerziellen Produkten verwendet werden kann.
Netdata wurde von Grund auf so entwickelt, dass es in Echtzeit-Dashboards gut funktioniert. Dazu gehören ein optimiertes Speicherlayout für einen schnellen Datenabruf, minimale Verzögerungen beim Streaming von Metriken über das Netzwerk und die Vermeidung unnötiger CPU-Belastung durch effiziente Metrik-Aggregationsberechnungen.
Die gesammelten Leistungsstatistiken von Netdata werden über den rollierenden Algorithmus von RRDtool verarbeitet, so dass sie in kompakten Zeitreihendateien gespeichert werden, die nur sehr wenig Speicherplatz benötigen, aber dennoch für die Erstellung von grafischen Statistiken über die Weboberfläche verwendet werden können. Netdata verwendet TICK-Skripte für die meisten seiner Visualisierungs- und Datenverarbeitungsroutinen.
Die Benutzeroberfläche von Netdata wurde in HTML5 erstellt (und ist daher mit allen modernen Browsern, einschließlich mobilen Geräten, kompatibel). Das Frontend wurde responsive gestaltet, damit es sowohl auf Handys als auch auf Desktop-Monitoren effizient genutzt werden kann.
Netdata bietet eine REST-API für die benutzerdefinierte Entwicklung, mit der 100% Netdata-kompatible Monitoring-Tools oder Dashboards erstellt werden können. Netdata ist auch als Docker-Container verfügbar und wird häufig in Verbindung mit Prometheus, der führenden Open-Source-Monitoring-Lösung, eingesetzt.
Diese Anleitung hilft dir bei der Installation von Netdata auf Debian 10(Buster) 64bit Server, der neuesten stabilen Version von Debian.
Voraussetzung
- Du solltest einen grundlegenden Debian 10 Server eingerichtet haben.
- Ein Nicht-Root-Benutzer mit sudo-Rechten.
Erste Schritte
Dein System aktualisieren
Bevor du mit der Installation von Netdata beginnst, ist es ratsam, dein System zu aktualisieren.
Gehe zum Terminal und gib Folgendes ein:
sudo apt-get update
sudo apt-get upgrade -y
Mit -y beantwortest du alle Fragen, die während des Aktualisierungsvorgangs auftreten können. Da es sich um eine saubere Distro handelt, sollten wir dies recht häufig tun.
apt-get update wird die Paketquellen aktualisieren, die du beziehen möchtest.
apt-get upgrade führt eine Suche nach neuen Paketen oder aktualisierten Versionen der bereits installierten Pakete durch.
Beispielhafte Ausgabe:
Sobald die Aktualisierung abgeschlossen ist, solltest du dein System neu starten:
sudo reboot
Installieren von Abhängigkeiten
Du kannst die benötigten Abhängigkeiten mit dem folgenden Befehl installieren:
sudo apt-get install zlib1g-dev libuv1-dev uuid-dev libmnl-dev gcc make git autoconf autoconf-archive autogen automake pkg-config cmake curl
autogen ist ein großartiges Werkzeug zum Erstellen von configure-Dateien. Es analysiert die Software und ermittelt alle notwendigen Bibliotheken, die sie zum Kompilieren und zum korrekten Betrieb benötigt. Netdata benötigt Autogen, um einige Module bauen zu können.
autoconf ist ein Werkzeug zum Erstellen von configure-Skripten. autoconf-archive enthält zusätzliche Makros, die du zum Erstellen von configure-Skripten brauchst.
uuid-dev ermöglicht es Netdata, den Universally Unique Identifier (UUID) zu verwenden.
libmnl-dev ist wie eine Leet-Version von libnetlink – und Netdata nutzt libmnl als Schnittstelle zum Kernel.
libuv1-dev ermöglicht es dir, Netdata als Bibliothek zu bauen, damit andere Programme sie nutzen können.
Die übrigen Bibliotheken sind so weit verbreitet, dass die meisten Systeme sie bereits haben.
Beispielhafte Ausgabe:
Nachdem du die Abhängigkeiten installiert hast, kannst du dem Rest dieser Anleitung folgen.
Installation von Netdata
In diesem Schritt werden wir das offizielle Installationsskript verwenden, um Netdata zu installieren. Dazu kannst du den folgenden Befehl ausführen:
git clone https://github.com/firehol/netdata.git --depth=1 ~/netdata
Mit dem obigen Befehl wird Netdata nach ~/netdata geklont, aber du kannst dies mit dem Flag –destination ändern.
Mit dem Flag –depth=1 wird nur eine Ebene geklont, wobei alle Untermodule unberührt bleiben.
Mit dem Flag –destination wird das Netdata-Verzeichnis nach /home/netdata geklont. Du kannst deine Netdata an einem beliebigen Ort ablegen, solange du ihn dir merkst. Wenn du bereits ein Verzeichnis mit dem Namen Netdata hast, solltest du den Namen mit folgendem Befehl ändern mv ~/netdata ~/Netdata-my-own-dir
Nachdem du Netdata installiert hast, kannst du es mit den folgenden Befehlen ausführen. Mach dir keine Sorgen, wenn du noch nichts siehst, denn wir konfigurieren zunächst nur einige Parameter.
cd netdata
sudo ./netdata-installer.sh
cd netdata bringt dich in das Netdata-Verzeichnis.
sudo ./netdata-installer.sh startet das Installationsskript für Netdata.
Wenn du nicht als root eingeloggt bist, wirst du eventuell aufgefordert, das „Passwort“ für das System einzugeben. Gib das Passwort ein, damit Netdata installiert werden kann.
Es gibt dir eine Zusammenfassung über den Deamon, die Konfigurationsdateien und andere Dinge. Unten auf der Seite siehst du einige Hilfebefehle, um Netdata besser nutzen zu können. Drücke die Eingabetaste, um Netdata zu erstellen und auszuführen, oder Strg+C, um abzubrechen.
Beispielhafte Ausgabe:
Netdata beginnt dann mit der Installation einiger Abhängigkeiten, kompiliert die Quellen und führt sie schließlich aus.
Das kann je nach deinen Systemressourcen eine Weile dauern. Sei also geduldig und warte. Schließe dein Terminal nicht, wir werden im nächsten Abschnitt einige Konfigurationsschritte durchführen.
Beispielhafte Ausgabe:
Nach der Installation wird NetData automatisch gestartet und für den automatischen Start beim Systemstart aktiviert. Du kannst das überprüfen, indem du den unten stehenden Befehl ausführst:
systemctl status netdata
Beispielhafte Ausgabe:
NetData aktualisieren
Es ist ratsam, deine Netdata-Konfiguration regelmäßig zu aktualisieren, da neue Versionen wichtige Verbesserungen und Fehlerbehebungen enthalten können.
Um Netdata zu aktualisieren, kannst du die neueste Version von Netdata herunterladen, indem du den folgenden Befehl ausführst:
cd netdata
git pull
sudo ./netdata-installer.sh
Der Befehl zieht die neueste Version von NetData aus dem Github-Repository und aktualisiert deine Kopie in ~/netdata. Anschließend kannst du die Installation erneut starten.
Der Netdata-Aktualisierungsprozess ändert nichts an deinen bestehenden Konfigurationsdateien oder installierten Modulen/Abhängigkeiten. Wenn du Netdata bereits installiert hast, ist es nicht notwendig, die Pakete zu deinstallieren und neu zu installieren.
Wenn du benachrichtigt werden möchtest, wenn eine neue Version veröffentlicht wird, solltest du dich in die announce Mailingliste eintragen.
Du kannst neue Versionen auch automatisch überwachen, indem du die Github-Integrationsfunktion eines Projekts nutzt. Dazu musst du nur auf die Schaltfläche „Einstellungen“ klicken, dann auf die Registerkarte „Benachrichtigungen“ gehen und „Beobachten“ wählen. Danach erhältst du jedes Mal eine E-Mail, wenn eine neue Version veröffentlicht wird.
Netdata deinstallieren
Wenn du Netdata entfernen möchtest, kannst du den folgenden Befehl in deinem Terminal eingeben. Keine Sorge, es wird nichts Wichtiges entfernt, nur einige Verzeichnisse und Dateien, die von Netdata verwendet werden.
sudo ./netdata-installer.sh –uninstall
Wenn du denkst, dass du auf diese Weise Dienste starten/stoppen oder Befehle auf entfernten Servern ausführen kannst, solltest du das nicht tun, denn dadurch wird der Netdata-Dienst deinstalliert.
Firewall konfigurieren
Im nächsten Schritt musst du die Firewall-Ports für das UDP- und TCP-Protokoll öffnen. Wenn du möchtest, dass andere Systeme in deinem lokalen Netzwerk netdata erreichen können, musst du die angegebenen Ports tcp:19999 und udp:19999 in deinem Router/Firewall zulassen.
Du kannst diese Ports an jeden Rechner weiterleiten, auf dem netdata läuft, indem du einige zusätzliche Konfigurationen am Router vornimmst. Wenn du diese Portnummer änderst, musst du sie auch (und nur sie) in /etc/netdata/netdata.conf aktualisieren.
In aktuellen Versionen von Debian 10, wie z.B. der Buster-Version, ist die UFW-Firewall optional und nicht Teil der Standardinstallation. Du musst sie manuell mit dem folgenden Befehl installieren:
sudo apt-get install ufw -y
Als Nächstes aktivierst du UFW, indem du den folgenden Befehl ausführst:
sudo ufw enable
Du kannst überprüfen, ob UFW aktiviert ist, indem du den folgenden Befehl ausführst:
sudo ufw status
Beispielhafte Ausgabe:
Gib nun den Port 19999 mit folgendem Befehl frei:
sudo ufw allow 19999/tcp
Beispielhafte Ausgabe:
Zum Schluss lädst du die Firewall neu und wendest alle Änderungen an, indem du Folgendes eingibst:
sudo ufw reload
Beispielhafte Ausgabe:
Der Port ist jetzt für den TCP-Verkehr geöffnet und du kannst ihn von jedem anderen System in deinem lokalen Netzwerk aus erreichen. Verwende den folgenden Befehl, um alle erlaubten Ports/Verkehr aufzulisten:
sudo ufw status verbose
Beispielhafte Ausgabe:
Zugriff auf die Netdata-Webschnittstelle
Die Standard-Webadresse für Netdata ist http://<server_IP>19999. Du kannst sie in jedem Browser aufrufen, indem du die IP deines Servers eingibst, z.B. http://192.168.1.120:19999
Wenn du von einem anderen Rechner (außerhalb deines Netzwerks) darauf zugreifen willst, gibst du einfach die öffentliche IP-Adresse statt localhost oder 127.0.0.1 ein. Um die öffentliche IP deines Servers zu finden, gehe auf diesen Link: Meine IP und kopiere sie.
Beispielhafte Ausgabe:
Netdata verfügt über zwei Weboberflächen: eine ist das Netdata-Dashboard, das dir die wichtigsten Netzwerkmetriken anzeigt, und die andere (in Form einer Seitenleiste), die dir zusätzliche Daten anzeigt, z. B. CPU-Temperatur, Festplattennutzung usw.
Um auf die Seitenleiste zuzugreifen, musst du auf das Symbol „Dashboard“ oben rechts in deinem Browserfenster klicken.
Beispielhafte Ausgabe:
Wenn du aus irgendeinem Grund die Standard-URL (http://localhost:19999) ändern oder das https-Protokoll aktivieren möchtest, bearbeite oder erstelle einfach die Datei /etc/netdata/netdata-conf.json mit einem beliebigen Texteditor mit Root-Rechten und aktualisiere die Portnummer dort. Ersetze 19999 durch die von dir gewählte Portnummer, die in diesem Beispiel nicht von einem anderen Daemon-Prozess verwendet wird, und verwende den Wert HTTPS_PORT anstelle von PORT.
Fehlersuche:
Viele Leute konnten von localhost aus auf netdata zugreifen, aber nachdem sie php7/apache2/nginx auf neue Versionen aktualisiert haben, erhalten sie 404-Fehler oder können es nicht mehr erreichen. Das liegt daran, dass einige Programme, die Zugriff auf localhost benötigen, jetzt die Adresse 127.0.0.1 statt 127.0.0.1:19999 verwenden. Die Lösung ist ganz einfach: Geh in die httpd-Konfigurationsdatei des Dienstes, der Zugriff auf localhost benötigt, und ändere 127.0.0.1 in den ServerName-Zeilen so ab, dass es 127.0.0.1:19999 lautet.
Wenn die von netdata gemeldete Menge an verbrauchtem Arbeitsspeicher zu hoch ist, liegt das wahrscheinlich an den Einschränkungen des Dienstprogramms „top“, das von der Funktion process_vm_read() in deinem System verwendet wird. Installiere das Paket htop und starte netdata neu.
Netdata meldet keine/schlechte Werte für die CPU-Temperatur und die Lüftergeschwindigkeiten. Einige Nutzer berichten, dass sie aus irgendeinem Grund nach ein paar Stunden oder Tagen, in denen netdata lief, bemerkten, dass ihre CPU-Temperaturen konstant sehr hoch waren (~90 C), während sich ihre Lüfter nicht mehr drehten. Die Lösung ist einfach: Starte einfach dein System neu und führe sudo service netdata restart aus, bevor du wieder versuchst, darauf zuzugreifen.
Wenn dein Server Probleme mit dem Zugriff auf dein lokales Netzwerk hat, stelle sicher, dass er die richtigen IP-Bereichseinstellungen auf seiner Netzwerkkarte hat und der Zugriff auf 192.168.1.*/24 Subnetze auf allen Schnittstellen erlaubt ist, von denen aus auf netdata zugegriffen wird, indem du /etc/ufw/before.rules editierst. Wenn du möchtest, dass auch der externe Zugriff funktioniert, füge am Ende der Datei (in der Nähe von Zeile 31) 1:65535 hinzu.
Fehler „Die folgenden Pakete haben nicht erfüllte Abhängigkeiten“. Vergewissere dich, dass das Paket netdata ( sudo apt install netdata ) und alle seine Abhängigkeiten auf deinem System installiert sind. Wenn das nicht der Fall ist, versuche, sie nacheinander zu installieren, bis du herausgefunden hast, welches Programm das Problem ist.
„Failed checksum validation“: Wenn du diese Fehlermeldung beim Zugriff auf die netdata-Weboberfläche erhältst (normalerweise von einem Rechner in deinem Netzwerk), verwendest du wahrscheinlich eine angepasste PHP-Konfiguration. Wenn du kein php-fpm verwendest, ist diese Software nichts für dich.
„Schlechter Rückgabestatus für Skript“ oder „Skript wurde mit einem Fehler beendet“. Das bedeutet, dass Apache/PHP oder eine andere Webserver-Software nicht läuft. Starte sie einfach wieder, bevor du über die Weboberfläche auf netdata zugreifst.
Programme wie htop und dstat zeigen in ihrer Liste der Top-Prozesse falsche Daten zur CPU-Auslastung an, die sich von dem Wert „load average“ unterscheiden, der in der Metrik „runlist“ angezeigt wird. Das liegt daran, dass diese Metrik die Anzahl der Prozesse angibt, die derzeit auf einer CPU ausgeführt werden können, und nicht die Gesamtmenge der genutzten CPU-Zeit, wofür der „Lastdurchschnitt“ steht. Wenn du die Gesamtauslastung deiner CPU sehen willst (die repräsentativer ist), füge einfach eine weitere Metrik im netdata Webinterface mit dem Namen „user“ hinzu und weise ihr in htop oder dstat denselben Schlüssel zu wie dem Pendant „runlist“. Höchstwahrscheinlich möchtest du diese Metrik auch in iftop einbinden. Das bedeutet, dass du die Entwicklungsversion von iftop installieren musst (sudo apt-get install iftop-ng) und die Datei /etc/iftop.conf so bearbeiten musst, dass sie den Pfad angibt, in dem sich die netdata-Datendateien befinden.
Die obige Liste ist nicht vollständig. Wenn du also etwas gefunden hast, das in diesem Leitfaden nicht erwähnt wurde, teile es bitte in den Kommentaren unten mit, damit andere es finden und ihre Probleme mit netdata schnell beheben können.
Fazit
In diesem Tutorial haben wir versucht, einige Bereiche im Zusammenhang mit Netdata abzudecken. Obwohl es keine vollständige Installationsanleitung ist, können die angegebenen Schritte leicht für neue Installationen angepasst werden. Netdata ist ein extrem leistungsfähiges Tool, das nur sehr wenige Ressourcen für die Überwachung von Systemen und Webservern benötigt. Damit ist es perfekt für ISPs und Heimanwender geeignet, die ein grundlegendes Überwachungssystem einrichten wollen, ohne sich um die ständige Ressourcenauslastung durch Überwachungsprogramme kümmern zu müssen.
Hat dir dieser Artikel gefallen oder haben wir eine wichtige Information übersehen? Hinterlasse uns gerne deinen Kommentar unten. Teile diesen Artikel, wenn du ihn nützlich fandest!
Sei sozial und teile ihn in deinem Lieblingsmedium. Wenn du Fragen hast, benutze den Kommentarbereich oder frage uns direkt über unser Kontaktformular.
Um keine unserer zukünftigen Tutorials zu verpassen, folge uns auf Facebook.