Netdata ist ein Open-Source-Überwachungstool für Linux-Server. Es bietet Leistungs- und Zustandsüberwachung in Echtzeit mit einem schönen Dashboard und Analysen. Netdata sollte auf jeder Linux-Distribution laufen, es wurde auf Alpine Linux, Arch Linux, CentOS, Ubuntu usw. getestet. Es überwacht CPU, Speichernutzung, IPv4 und v6, Benutzeranwendungen wie Nginx, fail2ban, MySQL, MongoDB usw.
In diesem Tutorial zeige ich Ihnen, wie Sie Nginx mit Netdata überwachen. Das Tutorial behandelt die Installation des Nginx-Webservers, die Aktivierung des Moduls „stub_status“ in Nginx und die Netdata-Installation auf Ubuntu 16.04 Xenial Xerus.
Was wir tun werden:
- Nginx-Webserver installieren.
- Installieren Sie das Netdata Monitoring Tool unter Ubuntu 16.04.
- Aktiviere das Nginx-Modul 'stub_status'.
- Netdata zur Überwachung von Nginx konfigurieren.
- UFW-Firewall konfigurieren.
- Testen.
Voraussetzung
- Ubuntu 16.04-Server
- Root-Rechte
Schritt 1 – Nginx-Webserver installieren
Der erste Schritt, den wir tun müssen, ist die Installation des Nginx-Webservers aus dem Repository. Aktualisieren Sie das Ubuntu-Repository, bevor Sie Nginx mit dem Befehl apt update installieren.
apt update
Installieren Sie Nginx aus dem Ubuntu-Repository mit dem folgenden apt install-Befehl.
apt install -y nginx
Wenn die Installation abgeschlossen ist, starten Sie Nginx und fügen Sie es hinzu, damit es beim Booten automatisch mit systemctl-Befehlen gestartet wird.
systemctl start nginx
systemctl enable nginx
Der Webserver läuft, überprüfen Sie ihn mit curl.
curl -I localhost
Stellen Sie sicher, dass Sie als Ergebnis den HTTP-Status „200 OK“ haben, wie im Screenshot unten gezeigt.
Der Nginx-Webserver wurde installiert.
Schritt 2 – Installieren Sie das Netdata Monitoring Tool auf Ubuntu 16.04
In diesem Schritt installieren wir das Netdata-Überwachungstool aus der Quelle. Ich werde es manuell mit dem mitgelieferten Installationsprogramm installieren. Vor der Installation von Netdata müssen wir einige benötigte Pakete installieren.
Installieren Sie die für die Netdata-Installation erforderlichen Pakete mit dem folgenden apt install-Befehl.
apt install -y zlib1g-dev uuid-dev libmnl-dev gcc make git autoconf autoconf-archive autogen automake pkg-config curl
Wenn alle Pakete installiert sind, laden Sie den Quellcode von Netdata mit dem Befehl git von github herunter.
git clone https://github.com/firehol/netdata.git --depth=1
Wechseln Sie in das Verzeichnis „netdata“ und führen Sie das Installationsskript „netdata-installer.sh“ mit sudo-Berechtigungen aus.
cd netdata/
sudo ./netdata-installer.sh
Drücken Sie die Eingabetaste, um mit der Installation von Netdata fortzufahren.
Wenn die Installation abgeschlossen ist, erhalten Sie das folgende Ergebnis.
Das Netdata-Überwachungstool stellt ein Dienstskript für das systemd-System bereit. Starten Sie netdata und fügen Sie hinzu, dass es beim Booten automatisch ausgeführt wird, indem Sie die folgenden systemctl-Befehle verwenden.
systemctl start netdata
systemctl enable netdata
Standardmäßig läuft es auf Port 19999, überprüfen Sie den Port mit netstat und stellen Sie sicher, dass sich Port 19999 im Status „LISTEN“ befindet.
netstat -plntu
Das Netdata Monitoring Tool wurde installiert.
Schritt 3 – Nginx-Modul „stub_status“ aktivieren
Um den Nginx-Webserver mit dem Netdata-Überwachungstool zu überwachen, benötigen wir einige zusätzliche Konfigurationen. Zuerst müssen wir das nginx-Modul 'stub_status' für die Konfiguration des virtuellen Hosts aktivieren.
Bevor Sie die Konfiguration des virtuellen Hosts bearbeiten, stellen Sie sicher, dass Sie eine nginx-Version mit dem Modul „stub_status“ darauf installiert haben. Überprüfen Sie es mit dem folgenden Befehl.
nginx -V
Stellen Sie sicher, dass Sie ein 'stub_status'-Modul wie unten haben.
Gehen Sie als Nächstes in das nginx-Konfigurationsverzeichnis und bearbeiten Sie die virtuelle Standardhostdatei mit dem vim-Editor.
cd /etc/nginx/sites-available/
vim default
Fügen Sie die Konfiguration unten in den 'Server {} ein ' blockieren.
location /stub_status {
stub_status;
# Security: Only allow access from the IP below.
allow 127.0.0.1;
# Deny anyone else
deny all;
}
Speichern und beenden.
Testen Sie die nginx-Konfiguration und stellen Sie sicher, dass ein Fehler vorliegt, und starten Sie den nginx-Dienst neu.
nginx -t
systemctl restart nginx
Das Nginx-Modul „stub_status“ wurde aktiviert, überprüfen Sie es mit dem unten stehenden netstat-Befehl.
curl http://127.0.0.1/stub_status
Und Sie erhalten das Ergebnis wie folgt.
Schritt 4 – Netdata konfigurieren, um Nginx zu überwachen
Netdata bietet Python-Module zur Überwachung unserer installierten Anwendungen auf dem System, einschließlich Nginx-Webservern. Um Nginx mit Netdata zu überwachen, benötigen wir das Nginx-Modul „stub_status“ und es wurde bereits aktiviert.
Wechseln Sie nun in das netdata-Konfigurationsverzeichnis. Bearbeiten Sie dann die Datei nginx.conf im Verzeichnis python.d.
cd /etc/netdata/
vim python.d/nginx.conf
Stellen Sie sicher, dass Sie die folgende Konfiguration haben.
localhost:
name : 'local'
url : 'http://localhost/stub_status'
Speichern Sie die Datei und beenden Sie vim.
Starten Sie nun Netdata mit systemctl neu.
systemctl restart netdata
Die Netdata-Konfiguration für die Nginx-Überwachung wurde abgeschlossen.
Schritt 5 – UFW-Firewall konfigurieren
In diesem Tutorial werde ich die Ubuntu-Firewall UFW aktivieren. Ich werde HTTP- und HTTPS-Ports öffnen und dann den neuen Port 19999 für den Zugriff auf das Netdata Dashboard öffnen.
Stellen Sie sicher, dass Sie das UFW-Firewall-Paket installiert haben, wenn nicht, verwenden Sie den folgenden Befehl, um es zu installieren.
apt install -y ufw
Öffnen Sie nun die Ports für ssh, http, https und netdata port 19999 mit den unten stehenden 'ufw allow'-Befehlen.
ufw allow ssh
ufw allow http
ufw allow https
ufw allow 19999/tcp
Starten Sie als Nächstes die UFW-Firewall und fügen Sie sie hinzu, damit sie beim Booten automatisch gestartet wird.
ufw enable
Geben Sie 'y ein ' auf ja und drücken Sie 'Enter'.
Wenn Sie damit fertig sind, überprüfen Sie den Firewall-Status wie folgt.
ufw status
Und Sie erhalten neue Ports in der Liste unten.
Schritt 6 – Testen
Öffnen Sie Ihren Browser und geben Sie die Serveradresse mit Port 19999 ein.
http://192.168.1.11:19999/
Sie sollten das Netdata Dashboard sehen.
Klicken Sie rechts auf „nginx local“ und sehen Sie aktive Nginx-Verbindungen, Anfragen, Status und die Verbindungsrate.
Der Nginx-Webserver wird jetzt mit Netdata überwacht, und Netdata wurde auf dem Ubuntu 16.04-Server installiert.