So installierst du die Netdata Monitoring Software auf AlmaLinux 9

Erfasse Systemmetriken und überwache deine Anwendungen mit Netdata. Netdata ist ein Open-Source-, erweiterbares und Echtzeit-Überwachungssystem für Server, Container und Anwendungen.

Netdata kann Metriken von verschiedenen Betriebssystemen wie Linux, Unix, Windows und macOS erfassen. Außerdem unterstützt es containerisierte Technologien wie Docker und Kubernetes.

Folge unserer Anleitung, um Netdata mit Nginx als Reverse Proxy auf dem AlmaLinux 9 Server zu installieren.

Voraussetzungen

Um loszulegen, musst du folgende Voraussetzungen erfüllen:

  • Einen AlmaLinux 9 Server.
  • Einen Nicht-Root-Benutzer mit Administrator-Rechten.
  • Ein SELinux mit dem Modus permissive.

Repositories einrichten

Bevor du mit der Installation beginnst, wirst du einige Repositories für Netdata hinzufügen und aktivieren. Du fügst die EPEL und Netdata Repositories hinzu und aktivierst dann das RHEL crb (Code Ready Build) Repository auf deinem AlmaLinux Server.

Führe zunächst den folgenden Befehl aus, um das Paket dnf-plugins-core zu installieren.

sudo dnf install dnf-plugins-core -y

Führe nun den folgenden Befehl aus, um das EPEL-Repository hinzuzufügen und das CRB-Repository auf deinem System zu aktivieren. Gib y ein, wenn du zum Fortfahren aufgefordert wirst.

sudo dnf install epel-release
sudo dnf config-manager --set-enabled crb

epel und crb aktivieren

Als Nächstes führst du den folgenden Befehl aus, um das Netdata-Repository zu deinem System hinzuzufügen. In diesem Fall wirst du das Netdata-Repository 2.2 verwenden.

sudo rpm -ivh https://repo.netdata.cloud/repos/stable/el/9/x86_64/netdata-repo-2-2.noarch.rpm

Repo hinzufügen

Wenn du damit fertig bist, überprüfe die verfügbaren Repositories auf deinem AlmaLinux Rechner mit dem folgenden Befehl.

sudo dnf repolist

Die Ausgabe, die du erhalten solltest, sieht wie folgt aus:

Listen-Repo

Herunterladen und Installieren von Netdata

Nachdem du nun die Repositories konfiguriert hast, können wir mit der Installation von Netdata beginnen.

In diesem Beispiel wirst du Netdata mit zusätzlichen Plugins für die Überwachung deines Systems und deiner Anwendungen installieren.

Führe den folgenden dnf-Befehl aus, um Netdata zu installieren. Gib y ein, um den GPG-Schlüssel zu akzeptieren und mit der Installation fortzufahren, und warte dann, bis sie abgeschlossen ist.

Es kann sein, dass du nicht alle Netdata-Plugins brauchst, also passe deine Paketinstallation an.

sudo dnf install netdata netdata-plugin-{apps,chartsd,cups,ebpf,go,pythond,perf,freeipmi,slabinfo,systemd-journal}

netdata installieren

Nachdem du Netdata installiert hast, führe den folgenden Befehl aus, um den Netdata-Dienst zu starten und zu aktivieren.

sudo systemctl start netdata
sudo systemctl enable netdata

Überprüfe anschließend den Netdata-Dienst, indem du den folgenden Befehl ausführst.

sudo systemctl status netdata

Wenn deine Installation erfolgreich war, sollte der Netdata-Dienst wie folgt aktiv sein (laufen):

start verify netdata

Zuletzt öffnest du den Standard-Netdata-Port 19999 mit dem folgenden Befehl.

In diesem Beispiel fügst du Port 19999 vorübergehend hinzu, weil du Nginx als Reverse Proxy einrichten wirst. Das machen wir im nächsten Abschnitt.

sudo firewall-cmd --add-port=19999/tcp

Rufe die IP-Adresse deines Servers gefolgt von Port 19999 (d.h. http://192. 168.5.50:19999) mit deinem bevorzugten Webbrowser auf.

Wenn alles gut geht, solltest du das Netdata-Dashboard wie folgt sehen.

Netdata Dashboard

Netdata konfigurieren

Nach der Installation von Netdata musst du Netdata so konfigurieren, dass es in der UNIX sock-Datei läuft. Dies ermöglicht es dir, Nginx als Reverse Proxy für Netdata einzurichten, was du im nächsten Schritt tun wirst.

Um die Netdata-Konfiguration zu starten, führe den folgenden Befehl aus, um die Netdata-Konfiguration nach /etc/netdata/netdata.conf herunterzuladen.

wget -O /etc/netdata/netdata.conf http://localhost:19999/netdata.conf

Wechsle in das Verzeichnis /etc/netdata und öffne die Standardkonfiguration netdata.conf mit dem folgenden Befehl.

cd /etc/netdata
sudo ./edit-config netdata.conf

Suche den Abschnitt [web] und entferne das Kommentarzeichen für die Option bind to. Dann änderst du die Standardoption bind in UNIX-Socket unix:/var/run/netdata/netdata.sock.

[web]
    bind to = unix:/var/run/netdata/netdata.sock

Speichere und schließe die Datei, wenn du fertig bist.

Starte Netdata neu, um deine Änderungen zu übernehmen, indem du den folgenden Befehl ausführst.

sudo systemctl restart netdata

Jetzt sollte Netdata als UNIX-Socket unter unix:/var/run/netdata/netdata.sock laufen.

Überprüfe den Netdata-UNIX-Socket mit dem ss-Befehl unten.

ss -pl | grep netdata.sock

Wenn deine Konfiguration erfolgreich ist, solltest du folgendes erhalten:

netdata sock file

Installation von Nginx als Reverse Proxy

An dieser Stelle hast du Netdata auf dem AlmaLinux 9 Server installiert. Im nächsten Schritt wirst du Nginx als Reverse Proxy für Netdata installieren und konfigurieren.

Dazu benötigst du einen Domainnamen, du kannst eine Subdomain oder einen lokalen Domainnamen verwenden.

Nginx installieren

Zunächst installierst du Nginx mit dem folgenden dnf-Befehl. Gib y ein, um mit der Installation fortzufahren.

sudo dnf install nginx

nginx installieren

Nachdem du Nginx installiert hast, führe den folgenden Befehl aus, um ein Serverblock-Verzeichnis /etc/nginx/server-blocks zu erstellen und öffne die Nginx-Konfiguration /etc/nginx/nginx.conf.

mkdir -p /etc/nginx/server-blocks
sudo nano /etc/nginx/nginx.conf

Füge im Abschnitt http {…} die Option include... unten hinzu.

http {
...
include /etc/nginx/server-blocks/*.conf;
}

Speichere und schließe die Datei, wenn du fertig bist.

Hinzufügen der Server-Block-Konfiguration

Als Nächstes erstellst du mit dem folgenden nano-Editor-Befehl einen neuen Nginx-Serverblock für den Netdata-Reverse-Proxy /etc/nginx/server-blocks/netdata.conf.

sudo nano /etc/nginx/server-blocks/netdata.conf

Füge die folgende Konfiguration ein und vergewissere dich, dass du deinen Domainnamen in den Parameter server_name einträgst. In diesem Fall werden wir die Domain netdata.hwdomain.io verwenden.

Außerdem wirst du Netdata über das Modul auth_basic mit der Datei /etc/nginx/.passwords sichern.

upstream backend {
    # the Netdata server
    server unix:/var/run/netdata/netdata.sock;
    keepalive 1024;
}
server {
# nginx listens to this
listen 80;

# the virtual host name of this
server_name netdata.hwdomain.io;

auth_basic "Protected";
auth_basic_user_file /etc/nginx/.passwords;

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://backend;
proxy_http_version 1.1;
proxy_pass_request_headers on;
proxy_set_header Connection "keep-alive";
proxy_store off;
}
}

Wenn du fertig bist, speichere die Datei und beende den Editor.

Führe nun den folgenden Befehl aus, um die Passwortdatei /etc/nginx/.passwords zu erstellen.

Achte darauf, dass du den Benutzer alice durch deinen Benutzernamen ersetzt. Dann gibst du dein Passwort ein und wiederholst den Vorgang.

printf "alice:$(openssl passwd -apr1)" > /etc/nginx/.passwords

nginx Reverse Proxy

Führe nun den folgenden Befehl aus, um deine Nginx-Syntax zu überprüfen. Wenn kein Fehler auftritt, solltest du die Ausgabe„syntax is ok – test is successful“ erhalten.

sudo nginx -t

Starte und aktiviere dann Nginx mit dem folgenden Befehl.

sudo systemctl start nginx
sudo systemctl enable nginx

nginx-Einrichtung

Sobald Nginx gestartet ist, überprüfe es, indem du den folgenden Befehl ausführst.

sudo systemctl status nginx

Wenn alles gut läuft, solltest du die Ausgabe active (running) erhalten, die bestätigt, dass Nginx läuft.

nginx prüfen

Öffne HTTP- und HTTPS-Ports

Öffne die HTTP- und HTTPS-Ports auf deinem AlmaLinux-Server, um den Zugriff auf deine Netdata-Installation zu ermöglichen. Führe dazu den folgenden Befehl aus.

sudo firewall-cmd --add-service={http,https} --permanent
sudo firewall-cmd --reload

Überprüfe nun die Firewalld-Regeln mit dem folgenden Befehl.

sudo firewall-cmd --list-all

Vergewissere dich, dass sowohl HTTP- als auch HTTPS-Dienste in der Liste der Firewalld-Dienste verfügbar sind. Falls nicht, wiederhole den vorherigen Befehl.

firewalld einrichten

Rufe schließlich deine Netdata-Domain wie http://netdata.hwdomain.io mit deinem bevorzugten Webbrowser auf.

Gib deinen Benutzer und dein Passwort ein, wenn du zur Nginx-Basisauthentifizierung aufgefordert wirst.

nginx basic auth

Wenn deine Nginx-Installation erfolgreich war, solltest du das Netdata Monitoring Dashboard wie folgt sehen:

netdata nginx Reverse Proxy

Netdata mit SSL/TLS-Zertifikaten absichern

Nachdem du Nginx konfiguriert hast, generierst du SSL/TLS-Zertifikate, um deine Installation zu sichern.

Wenn du einen lokalen Domainnamen verwendest, kannst du selbstsignierte Zertifikate erstellen. Wenn du jedoch einen echten Domainnamen verwendest, musst du SSL/TLS-Zertifikate mit den folgenden Schritten erstellen:

Führe den folgenden Befehl aus, um Certbot und das Certbot Nginx Plugin auf deinem System zu installieren. Gib y ein, um mit der Installation fortzufahren.

sudo dnf install certbot python3-certbot-nginx -y

Führe nun den folgenden Certbot-Befehl aus, um SSL/TLS-Zertifikate von Letsencrypt zu erzeugen. Achte darauf, den Domainnamen und die E-Mail-Adresse zu ändern, bevor du diesen Befehl ausführst.

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email alice@hwdomain.io -d netdata.hwdomain.io

Sobald der Vorgang abgeschlossen ist, sollte deine Netdata mit HTTPS gesichert sein. Du hast SSl/TLS-Zertifikate von Letsencrypt generiert und HTTPS über das Certbot Nginx Plugin auf deinem Nginx Serverblock implementiert.

Beispiel: Nginx mit Netdata überwachen

Wenn du bis hierher gefolgt bist, hast du deine Netdata-Installation mit Nginx als Reverse Proxy abgeschlossen und HTTPS konfiguriert. Jetzt lernst du die grundlegende Überwachung mit Netdata.

In diesem Fall wirst du die Überwachung des Nginx-Webservers über Netdata einrichten, damit du einen Überblick darüber bekommst, wie du andere Dienste und Anwendungen überwachen kannst.

Aktiviere Nginx stub_status

Erstelle eine neue Konfiguration /etc/nginx/default.d/stub.conf mit dem folgenden Befehl des nano Editors.

sudo nano /etc/nginx/default.d/stub.conf

Füge die folgende Konfiguration ein, um das Nginx-Modul stub_status zu aktivieren. Dadurch wird der Nginx stub_status unter der URL /basic_status sichtbar gemacht.

location /basic_status {
    stub_status;
    server_tokens on;
}

Speichere und schließe die Datei, wenn du fertig bist.

Als Nächstes führst du den folgenden Befehl aus, um die Nginx-Syntax zu überprüfen. Starte Nginx neu, damit deine Änderungen wirksam werden.

sudo nginx -t
sudo systemctl restart nginx

nginx stub aktivieren

Führe nun den folgenden curl-Befehl aus, um das Nginx-Modul stub_status zu überprüfen.

curl http://localhost/basic_status

Wenn deine Konfiguration erfolgreich ist, solltest du den Status deines Nginx-Webservers sehen.

nginx stub

Aktiviere das Netdata Plugin für die Überwachung von Nginx

Gehe in das Verzeichnis /etc/netdata und öffne die Plugin-Konfiguration für die Überwachung von Nginx. Das Netdata-Plugin zur Überwachung von Nginx ist Teil der Go-Plugins. Weitere Informationen findest du in der Netdata-Liste der Plugins.

cd /etc/netdata
sudo ./edit-config go.d/nginx.conf

Vergewissere dich, dass die Konfiguration url: http://127.0.0.1/stub_status vorhanden ist, oder du kannst sie manuell erstellen. Damit wird Netdata angewiesen, Nginx über die URL: http: //127.0.0.1/stub_status zu überwachen .

jobs:
  - name: local
    url: http://127.0.0.1/stub_status

Speichere und schließe die Datei, wenn du fertig bist.

Führe anschließend den folgenden Befehl aus, um Netdata neu zu starten und deine Änderungen zu übernehmen.

sudo systemctl restart netdata

Jetzt kannst du deinen Nginx-Webserver mit dem folgenden Befehl testen oder einem Stresstest unterziehen. Der ab- oder Apache-Benchmark ist Teil der httpd-tools, stelle sicher, dass du ihn auf deinem Rechner installierst.

ab -n 50000 -c 500 http://localhost/

Gehe zurück zum Netdata Daten-Dashboard und klicke auf das Nginx-Menü auf der linken Seite. Wenn deine Konfiguration erfolgreich war, solltest du Details zur Nginx-Überwachung wie die folgenden sehen.

nginx Überwachung mit netdata

Fazit

Damit hast du die Installation der Netdata Monitoring-Lösung auf dem AlmaLinux 9 Server abgeschlossen. Du hast Netdata mit Nginx als Reverse Proxy installiert und Netdata mit SSL/TLS-Zertifikaten gesichert.

Außerdem hast du die grundlegende Verwendung des Netdata-Plugins zur Überwachung deiner Anwendungen kennengelernt.

Überprüfe von hier aus die Liste der verfügbaren Netdata zur Überwachung deiner Anwendungen.

Das könnte dich auch interessieren …