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
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
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:
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}
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):
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 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:
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
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
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
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.
Ö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.
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.
Wenn deine Nginx-Installation erfolgreich war, solltest du das Netdata Monitoring Dashboard wie folgt sehen:
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
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.
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.
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.