Netdata ist ein leistungsstarkes und vielseitiges Open-Source-Überwachungssystem, mit dem Sie Echtzeitmetriken von verschiedenen Betriebssystemen wie Linux, Unix, Windows und macOS erfassen können. Es unterstützt auch containerisierte Technologien wie Docker und Kubernetes. In diesem umfassenden Leitfaden werden wir Sie Schritt für Schritt durch den Installationsprozess von Netdata auf einem AlmaLinux 9-Server führen. Zusätzlich verwenden wir Nginx als Reverse-Proxy für zusätzliche Sicherheit und Bequemlichkeit.
Einrichten der Repositories
Der erste Schritt besteht darin, die erforderlichen Repositories für Netdata hinzuzufügen und zu aktivieren. Wir werden das EPEL- und Netdata-Repository hinzufügen und das RHEL CRB (Code Ready Build) -Repository auf Ihrem AlmaLinux-Server aktivieren. Befolgen Sie diese Schritte:
- Installieren Sie das Paket
dnf-plugins-core
, indem Sie den folgenden Befehl ausführen:
sudo dnf install dnf-plugins-core -y
- Fügen Sie das EPEL-Repository hinzu und aktivieren Sie das CRB-Repository auf Ihrem System mit den folgenden Befehlen:
sudo dnf install epel-release sudo dnf config-manager --set-enabled crb
- Fügen Sie das Netdata-Repository zu Ihrem System hinzu, indem Sie den folgenden Befehl ausführen:
sudo rpm -ivh https://repo.netdata.cloud/repos/stable/el/9/x86_64/netdata-repo-2-2.noarch.rpm
- Überprüfen Sie die verfügbaren Repositories auf Ihrem AlmaLinux-Server mit dem Befehl:
sudo dnf repolist
Herunterladen und Installieren von Netdata
Jetzt, da die Repositories eingerichtet sind, ist es an der Zeit, Netdata zu installieren. In diesem Beispiel installieren wir Netdata mit zusätzlichen Plugins, um Ihr System und Ihre Anwendungen zu überwachen. Befolgen Sie die folgenden Schritte:
- Installieren Sie Netdata und die gewünschten Plugins, indem Sie den folgenden Befehl ausführen:
sudo dnf install netdata netdata-plugin-{apps,chartsd,cups,ebpf,go,pythond,perf,freeipmi,slabinfo,systemd-journal}
- Starten und aktivieren Sie den Netdata-Dienst mit den folgenden Befehlen:
sudo systemctl start netdata sudo systemctl enable netdata
- Überprüfen Sie den Status des Netdata-Dienstes, indem Sie den Befehl ausführen:
sudo systemctl status netdata
- Öffnen Sie vorübergehend den Standard-Netdata-Port 19999, indem Sie den Befehl ausführen:
sudo firewall-cmd --add-port=19999/tcp
- Öffnen Sie Ihren bevorzugten Webbrowser und besuchen Sie die IP-Adresse Ihres Servers gefolgt von Port 19999 (z. B.
http://192.168.5.50:19999
). Wenn die Installation erfolgreich war, sollten Sie das Netdata-Dashboard sehen.
Konfigurieren von Netdata
Nach der Installation von Netdata ist es an der Zeit, es so zu konfigurieren, dass es den UNIX-Sockel verwendet. Dadurch können wir Nginx als Reverse-Proxy für Netdata in einem späteren Schritt einrichten. Befolgen Sie diese Schritte:
- Laden Sie die Netdata-Konfigurationsdatei herunter, indem Sie den folgenden Befehl ausführen:
sudo wget -O /etc/netdata/netdata.conf http://localhost:19999/netdata.conf
- Navigieren Sie zum Verzeichnis
/etc/netdata
und öffnen Sie die Dateinetdata.conf
mit dem folgenden Befehl:
cd /etc/netdata sudo ./edit-config netdata.conf
- Suchen Sie den Abschnitt
[web]
und kommentieren Sie die Optionbind to
aus. Ändern Sie die Standard-Bindungsoption inUNIX socket unix:/var/run/netdata/netdata.sock
. Die Konfiguration sollte wie folgt aussehen:
[web] bind to = unix:/var/run/netdata/netdata.sock
- Speichern und schließen Sie die Datei.
- Starten Sie Netdata neu, um die Änderungen zu übernehmen:
sudo systemctl restart netdata
- Überprüfen Sie, ob Netdata als UNIX-Sockel ausgeführt wird, indem Sie den folgenden Befehl ausführen:
ss -pl | grep netdata.sock
Installation von Nginx als Reverse-Proxy
Jetzt, da Netdata installiert und konfiguriert ist, können wir fortfahren und Nginx als Reverse-Proxy für Netdata installieren und konfigurieren. Dadurch wird zusätzliche Sicherheit und Bequemlichkeit gewährleistet, da Sie auf Netdata über Nginx zugreifen können. Befolgen Sie diese Schritte:
- Installieren Sie Nginx, indem Sie den folgenden Befehl ausführen:
sudo dnf install nginx
- Erstellen Sie ein Verzeichnis für den Serverblock und öffnen Sie die Nginx-Konfigurationsdatei mit den folgenden Befehlen:
sudo mkdir -p /etc/nginx/server-blocks sudo nano /etc/nginx/nginx.conf
- Fügen Sie innerhalb des Abschnitts
http {...}
die Optioninclude
wie folgt hinzu:
http{ ... include /etc/nginx/server-blocks/*.conf; }
- Speichern und schließen Sie die Datei.
- Erstellen Sie eine neue Nginx-Serverblock-Konfigurationsdatei für den Netdata-Reverse-Proxy, indem Sie den folgenden Befehl ausführen:
sudo nano /etc/nginx/server-blocks/netdata.conf
- Fügen Sie die folgende Konfiguration in die Datei ein. Ersetzen Sie
netdata.shapehost.io
durch Ihren gewünschten Domainnamen:
upstream backend { server unix:/var/run/netdata/netdata.sock; keepalive 1024; } server { listen 80; server_name netdata.shapehost.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; } }
- Speichern und schließen Sie die Datei.
- Generieren Sie eine Passwortdatei für die Nginx-Basisauthentifizierung, indem Sie den folgenden Befehl ausführen. Ersetzen Sie
alice
durch Ihren gewünschten Benutzernamen und geben Sie bei Aufforderung Ihr Passwort ein:
printf "alice:$(openssl passwd -apr1)" > /etc/nginx/.passwords
- Überprüfen Sie die Syntax der Nginx-Konfiguration, indem Sie den Befehl ausführen:
sudo nginx -t
- Starten und aktivieren Sie Nginx mit den folgenden Befehlen:
sudo systemctl start nginx sudo systemctl enable nginx
- Überprüfen Sie, ob Nginx ausgeführt wird, indem Sie den Befehl ausführen:
sudo systemctl status nginx
- Öffnen Sie die HTTP- und HTTPS-Ports auf Ihrem AlmaLinux-Server, indem Sie den folgenden Befehl ausführen:
sudo firewall-cmd --add-service={http,https} --permanent sudo firewall-cmd --reload
- Überprüfen Sie die Firewall-Regeln, indem Sie den Befehl ausführen:
sudo firewall-cmd --list-all
- Besuchen Sie Ihren Netdata-Domainnamen (z. B.
http://netdata.shapehost.io
) in Ihrem Webbrowser. Sie werden zur Eingabe Ihrer Nginx-Basisauthentifizierungsanmeldeinformationen aufgefordert. Wenn alles korrekt eingerichtet ist, sollten Sie das Netdata-Überwachungsdashboard sehen.
Sichern von Netdata mit SSL/TLS-Zertifikaten
Um Ihre Netdata-Installation abzusichern, können Sie SSL/TLS-Zertifikate mit Hilfe von Certbot erstellen. Wenn Sie einen lokalen Domainnamen verwenden, können Sie selbstsignierte Zertifikate generieren. Befolgen Sie diese Schritte:
- Installieren Sie Certbot und das Certbot Nginx-Plugin, indem Sie den folgenden Befehl ausführen:
sudo dnf install certbot python3-certbot-nginx -y
- Generieren Sie SSL/TLS-Zertifikate von Let’s Encrypt, indem Sie den folgenden Befehl ausführen. Ersetzen Sie
netdata.shapehost.io
durch Ihren Domainnamen undtest@shapehost.io
durch Ihre E-Mail-Adresse:
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email test@shapehost.io -d netdata.shapehost.io
- Sobald der Vorgang abgeschlossen ist, sollte Ihre Netdata-Installation mit HTTPS abgesichert sein.
Beispiel: Überwachen von Nginx mit Netdata
Jetzt, da Netdata installiert, konfiguriert und abgesichert ist, schauen wir uns an, wie Sie es verwenden können, um Nginx zu überwachen. Dieses Beispiel zeigt, wie Sie den Nginx-Webserver mit Netdata überwachen können, um Einblicke in seine Leistung und Ressourcennutzung zu erhalten. Befolgen Sie diese Schritte:
- Erstellen Sie eine neue Konfigurationsdatei, um das Nginx-
stub_status
-Modul zu aktivieren, indem Sie den folgenden Befehl ausführen:
sudo nano /etc/nginx/default.d/stub.conf
- Fügen Sie die folgende Konfiguration ein, um das Nginx-
stub_status
-Modul zu aktivieren und es unter der URL/basic_status
freizugeben:
location/basic_status{ stub_status; server_tokens on; }
- Speichern und schließen Sie die Datei.
- Überprüfen Sie die Nginx-Syntax, indem Sie den Befehl ausführen:
sudo nginx -t
- Starten Sie Nginx neu, um die Änderungen zu übernehmen:
sudo systemctl restart nginx
- Überprüfen Sie das Nginx-
stub_status
-Modul, indem Sie den folgenden Befehl ausführen:
curl http://localhost/basic_status
- Wenn die Konfiguration erfolgreich ist, sollten Sie die Statusinformationen von Ihrem Nginx-Webserver sehen.
- Öffnen Sie das Netdata-Dashboard und navigieren Sie zum Nginx-Bereich. Dort sollten Sie detaillierte Überwachungsinformationen über Ihren Nginx-Server sehen.
Herzlichen Glückwunsch! Sie haben Netdata erfolgreich auf Ihrem AlmaLinux 9-Server installiert und mit Nginx als Reverse-Proxy konfiguriert. Mit dieser Anleitung haben Sie die Möglichkeit, Systemmetriken und Anwendungen in Echtzeit zu überwachen und fundierte Entscheidungen über Ihre Infrastruktur zu treffen.
Netdata, kombiniert mit der Leistung und Zuverlässigkeit der Shape.host Cloud VPS -Dienste, bietet Ihnen eine umfassende Überwachungslösung, die eine optimale Leistung und Sicherheit Ihrer Anwendungen gewährleistet. Mit Shape.host können Sie Ihre Infrastruktur mühelos skalieren und sich auf das konzentrieren, was am wichtigsten ist: den Erfolg Ihres Unternehmens.