Website-Suche

So überwachen Sie die Ubuntu-Leistung mithilfe von Netdata


Netdata ist ein kostenloses und quelloffenes Echtzeit-Überwachungs- und Fehlerbehebungstool für Cloud-Server, Container, Anwendungen und die IT-Infrastruktur vor Ort. Es bietet hochgranulare und Echtzeit-Systemmetriken wie CPU-Leistung, RAM- und Festplattenauslastung sowie Bandbreitenstatistiken, um nur einige zu nennen.

Darüber hinaus bietet Netdata auch interaktive Metrikvisualisierungen, auf die über einen Webbrowser zugegriffen werden kann, sowie intelligente Alarme, die bei der Behebung von Systemfehlern helfen.

Netdatas Spitzentechnologie und seine Beliebtheit haben Netdata einen Platz in der Forbes Cloud 100 Rising Stars im Jahr 2020 eingebracht, was keine leichte Aufgabe ist. Tatsächlich hat es zum Zeitpunkt der Erstellung dieses Leitfadens fast 50.000 Github-Sterne erhalten.

Es gibt zwei Möglichkeiten, Netdata zu installieren. Sie können sofort ein automatisiertes Skript auf einer BASH-Shell ausführen. Dadurch werden Ihre Systeme aktualisiert und die Installation von Netdata eingeleitet. Alternativ können Sie das Git-Repository von Netdata klonen und anschließend das automatisierte Skript ausführen. Die erste Methode ist einfach und unkompliziert und darauf konzentrieren wir uns in diesem Leitfaden.

In diesem Artikel erfahren Sie, wie Sie Netdata auf Ubuntu installieren können, um die Echtzeit-, Leistungs- und Zustandsüberwachung von Servern und Anwendungen zu überwachen.

Unterstützte Plattformen

Netdata unterstützt die folgenden Ubuntu LTS-Distributionen:

  • Ubuntu 20.04
  • Ubuntu 18.04
  • Ubuntu 16.04

So installieren Sie Netdata unter Ubuntu Linux

Um mit der Installation zu beginnen, führen Sie den folgenden Befehl auf Ihrem Bash-Terminal aus, um das Skript herunterzuladen und auszuführen.

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

Während der Ausführung des Skripts geschieht Folgendes:

  • Das Skript erkennt automatisch Ihre Linux-Distribution, aktualisiert die Paketliste und installiert alle erforderlichen Softwarepakete.
  • Der neueste Netdata-Quellbaum wird in den Pfad /usr/src/netdata.git heruntergeladen.
  • Das Skript installiert netdata, indem es das Skript ./netdata-installer.sh aus dem Quellbaum ausführt.
  • Es wird ein Update an cron.daily durchgeführt, um sicherzustellen, dass netdata täglich aktualisiert wird.

Während das Skript ausgeführt wird, erhalten Sie Tipps, wie Sie über einen Browser auf Netdata zugreifen und es als systemd-Dienst verwalten.

Die Installation dauert eine Weile, also nehmen Sie sich etwa 10 Minuten Zeit und kommen Sie dann wieder vorbei. Schließlich erhalten Sie die folgende Ausgabe, während das Skript die Installation abschließt.

Nach der Installation starten, aktivieren und überprüfen Sie den Status von Netdata wie gezeigt.

sudo systemctl start netdata
sudo systemctl enable netdata
sudo systemctl status netdata

Standardmäßig lauscht Netdata auf Port 19999 und dies kann wie gezeigt mit dem Befehl „netstat“ bestätigt werden.

sudo netstat -pnltu | grep netdata

Wenn Sie UFW ausgeführt haben, versuchen Sie, den Port 19999 zu öffnen, da dies für den Zugriff auf Netdata im Browser erforderlich ist.

sudo ufw allow 19999/tcp
sudo ufw reload

Um schließlich auf Netdata zuzugreifen, wechseln Sie zu Ihrem Browser und durchsuchen Sie die folgende URL

http://server-ip:19999/

Das ist es, was Sie begrüßt, wenn Sie die URL durchsuchen. Tatsächlich werden Sie feststellen, dass Sie sich nicht anmelden müssen. Alle Systemmetriken werden wie gezeigt angezeigt.

Sie können durch verschiedene Diagramme blättern, indem Sie in der rechten Seitenleiste des Dashboards auf Ihre bevorzugten Messwerte klicken. Um beispielsweise die Statistiken der Netzwerkschnittstellen anzuzeigen, klicken Sie auf die Option „Netzwerkschnittstellen“.

Sichern von Netdata mit Basisauthentifizierung unter Ubuntu

Bis zu diesem Zeitpunkt kann jeder auf das Netdata-Dashboard zugreifen und einen Blick auf die verschiedenen Systemmetriken werfen. Dies stellt eine Sicherheitslücke dar, die wir auf jeden Fall vermeiden wollen.

Vor diesem Hintergrund konfigurieren wir die grundlegende HTTP-Authentifizierung. Wir müssen das Paket Apache2-utils installieren, das das Programm htpasswd bereitstellt, mit dem der Benutzername und das Passwort des Benutzers konfiguriert werden. Zusätzlich installieren wir den Nginx-Webserver, der als Reverse-Proxy fungiert.

Um den Nginx-Webserver und das Apache2-utils-Paket zu installieren, führen Sie den Befehl aus.


sudo apt install nginx apache2-utils

Wenn Nginx und Apache2-utils installiert sind, erstellen wir eine Konfigurationsdatei im Verzeichnis /etc/nginx/conf.d. Sie können jedoch gerne das Verzeichnis sites-available verwenden, wenn Sie Nginx für andere Zwecke als Netdata verwenden.


sudo vim /etc/nginx/conf.d/default.conf

In der Konfigurationsdatei weisen wir zunächst Nginx an, eingehende Anfragen für das Netdata-Dashboard weiterzuleiten. Anschließend fügen wir eine Standardauthentifizierungsaufforderung hinzu, die nur autorisierten Benutzern Zugriff auf das Netdata-Dashboard mit Benutzername/Passwort-Authentifizierung gewährt.

Hier ist die gesamte Konfiguration. Denken Sie daran, die Anweisungen server_ip und example.com durch Ihre eigene Server-IP-Adresse und Ihren eigenen Servernamen zu ersetzen.


upstream netdata-backend {
    server 127.0.0.1:19999;
    keepalive 64;
}

server {
    listen server_ip:80;
    server_name example.com;

    auth_basic "Authentication Required";
    auth_basic_user_file netdata-access;

    location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://netdata-backend;
        proxy_http_version 1.1;
        proxy_pass_request_headers on;
        proxy_set_header Connection "keep-alive";
        proxy_store off;
    }
}

Lassen Sie uns die Konfiguration Abschnitt für Abschnitt verstehen.

Abschnitt 1:


upstream netdata-backend {
    server 127.0.0.1:19999;
    keepalive 64;
}

Wir haben ein Upstream-Modul namens netdata-backend angegeben, das über die Loopback-Adresse 127.0.0.1< auf den integrierten Webserver von Netdata verweist und Port 19999, der der Standardport ist, den Netdata abhört. Die keepalive-Direktive definiert die maximale Anzahl inaktiver Verbindungen, die offen bleiben können.

Sektion 2:


server {
    listen server_ip:80;
    server_name example.com;

    auth_basic "Authentication Required";
    auth_basic_user_file netdata-access;

Dies ist der Hauptabschnitt des Nginx-Serverblocks. Die erste Zeile gibt die externe IP-Adresse an, auf die Nginx achten soll, wenn Clients ihre Anfragen senden. Die server_name-Direktive gibt den Domänennamen des Servers an und weist Nginx an, den Serverblock auszuführen, wenn die Clients den Domänennamen anstelle der externen IP-Adresse aufrufen.

Die letzten beiden Zeilen geben die einfache HTTP-Authentifizierung an, bei der sich der Benutzer mit einem Benutzernamen und einem Passwort anmelden muss. Das auth_basic-Modul löst im Browser das Popup-Fenster „Benutzername/Passwort“ mit der Meldung „Authentifizierung erforderlich“ im Titel aus, das später nach Ihren Wünschen angepasst werden kann.

Das Modul auth_basic_user_file verweist auf den Dateinamen, der den Benutzernamen und das Passwort des Benutzers enthält, der berechtigt ist, auf das Dashboard von Netdata zuzugreifen – in diesem Fall netdata-access. Wir werden diese Datei später erstellen.

Sektion 3:

Der letzte Abschnitt ist der location-Block, der im Serverblock enthalten ist. Dieser übernimmt das Proxying und die Weiterleitung eingehender Anfragen an den Nginx-Webserver.


location / {
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://netdata-backend;
        proxy_http_version 1.1;
        proxy_pass_request_headers on;
        proxy_set_header Connection "keep-alive";
        proxy_store off;
    }

Zur Authentifizierung erstellen wir mit dem Dienstprogramm htpasswd einen Benutzernamen und ein Passwort für einen Benutzer namens tecmint und speichern die Anmeldeinformationen in der Datei netdata-access .


sudo htpasswd -c /etc/nginx/netdata-access tecmint

Geben Sie das Passwort ein und bestätigen Sie es.

Starten Sie anschließend den Nginx-Webserver neu, damit die Änderungen wirksam werden.


sudo systemctl restart nginx

Um zu testen, ob die Konfiguration richtig gelaufen ist, fahren Sie fort und durchsuchen Sie die IP-Adresse Ihres Servers


http://server-ip

Es erscheint ein Authentifizierungs-Popup, wie unten dargestellt. Geben Sie Ihren Benutzernamen und Ihr Passwort ein und klicken Sie auf ENTER.

Anschließend erhalten Sie Zugriff auf das Netdata-Dashboard.

Damit sind wir am Ende unseres heutigen Themas angelangt. Sie haben gerade erfahren, wie Sie das Netdata-Überwachungstool und die Konfiguration der grundlegenden HTTP-Authentifizierung auf Ubuntu installieren. Schauen Sie sich gerne andere Diagramme zu verschiedenen Systemmetriken an.