So installieren Sie das Nagios 4.3.x Monitoring Tool unter Debian 9
Dieses Tutorial zeigt Ihnen, wie Sie die neueste Version von Nagios Core, derzeit 4.3.4, aus Quellen in Debian 9.1 mit dem Codenamen Stretch installieren und konfigurieren.
Nagios, auch bekannt als Nagios Core, ist ein kostenloses Open Source Netzwerk-Monitoring-Tool, das von seinen Entwicklern aktiv gepflegt wird und dazu dient, eine gesamte Netzwerkinfrastruktur zu überwachen. Nagios kann fast jedes Netzwerkgerät überwachen, solange das Gerät eine Netzwerkverbindung konfiguriert hat, wie z.B. Router, Switches, Server, Desktops, Firewalls, IoT-Geräte. Neben der Überwachung von Geräten zur Bestimmung des Netzwerkzustands kann Nagios auch Netzwerkdienste, Anwendungen oder andere spezifische Aufgaben im Zusammenhang mit Betriebssystemen überwachen und kann so konfiguriert werden, dass er Benachrichtigungen per E-Mail oder SMS versendet, um Netzwerkadministratoren über mögliche Geräte, Ausfälle oder Dienstausfälle zu informieren.
Anforderungen
- Debian 9.1 wird auf einem Bare-Metal-Rechner oder auf einem Virtual Private Server installiert. Vorzugsweise muss die Installation mit minimalen Softwareanforderungen durchgeführt werden.
- Die Netzwerkschnittstellenkarte, die mit einer statischen IP-Adresse konfiguriert ist.
- Zugriff auf das Root-Konto oder einen Benutzer mit Root-Konto-Rechten über sudo.
- Ein Domainname, privat oder öffentlich, mit den richtigen DNS A-Einträgen konfiguriert. Falls Sie keinen DNS-Server bei Ihnen vor Ort konfiguriert haben, können Sie über die Server-IP-Adresse auf Nagios zugreifen.
Erstkonfiguration
Bevor wir mit der Installation von Nagios aus Quellen beginnen, stellen Sie sicher, dass das System alle Softwareanforderungen für die Kompilierung und Installation von Nagios erfüllt. Aktualisieren Sie im ersten Schritt Ihre System-Repositorys und Softwarepakete, indem Sie den folgenden Befehl ausführen.
apt update
apt upgrade
Im nächsten Schritt starten Sie einen neuen Befehl, um einige notwendige Dienstprogramme zu installieren, die zur weiteren Verwaltung Ihres Systems von der Befehlszeile aus verwendet werden.
apt install wget unzip zip bash-completion
Als nächstes richten Sie den Namen für Ihr System ein, indem Sie den folgenden Befehl ausführen:
hostnamectl set-hostname nagios.server.lan
Überprüfen Sie den Hostnamen und die Hosts-Datei des Computers, indem Sie die folgenden Befehle ausführen.
hostnamectl
cat /etc/hostname
cat /etc/hosts
Zum Schluss starten Sie das System neu, um den neuen Hostnamen anzuwenden.
init 6
Nagios ist eine webbasierte Überwachungsanwendung mit einigen Teilen, die in der serverseitigen Programmiersprache PHP und anderen CGI-Programmen geschrieben sind. Um Nagios PHP-Dateiskripte ausführen zu können, muss ein Webserver, wie z.B. Apache HTTP-Server, und ein PHP-Verarbeitungs-Gateway im System installiert und betriebsbereit sein. Um den Apache Webserver und den PHP-Interpreter sowie alle erforderlichen PHP-Module zu installieren, die Nagios 4 für die ordnungsgemäße Ausführung benötigt, geben Sie den folgenden Befehl in Ihrer Serverkonsole aus.
apt install apache2 libapache2-mod-php7.0 php7.0
Nachdem Apache und PHP installiert wurden, testen Sie, ob der Webserver läuft und warten Sie auf Netzwerkverbindungen auf Port 80, indem Sie den folgenden Befehl mit root-Rechten ausführen.
netstat –tlpn
Falls das netstat-Netzwerkdienstprogramm in Ihrem Debian-9-System nicht standardmäßig installiert ist, führen Sie den folgenden Befehl aus, um es zu installieren.
apt install net-tools
Wenn Sie sich die Ausgabe des netstat-Befehls ansehen, können Sie sehen, dass der apache Webserver auf Port 80 auf eingehende Netzwerkverbindungen wartet.
Wenn Sie eine Firewall auf Ihrem System aktiviert haben, wie z.B. die UFW-Firewall-Anwendung, sollten Sie eine neue Regel hinzufügen, damit der HTTP-Verkehr die Firewall passieren kann, indem Sie den folgenden Befehl ausführen.
ufw allow WWW
oder
ufw allow 80/tcp
Wenn Sie iptables Rohregeln verwenden möchten, um eingehenden Datenverkehr auf Port 80 auf der Firewall zuzulassen, so dass Besucher die Webschnittstelle von Nagios Core durchsuchen können, fügen Sie die folgende Regel hinzu.
apt-get install -y iptables-persistent
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload
Als nächstes aktivieren und wenden Sie die folgenden Apache-Module an, die von der Nagios-Webanwendung für die ordnungsgemäße Ausführung benötigt werden, indem Sie den folgenden Befehl ausführen.
a2enmod rewrite headers cgi
systemctl restart apache2
Testen Sie abschließend, ob die Standardwebseite des Apache Webservers im Browser Ihres Clients angezeigt werden kann, indem Sie die IP-Adresse oder den Domänennamen Ihres Debian-Rechners über das HTTP-Protokoll besuchen, wie im folgenden Bild gezeigt. Wenn Sie die IP-Adresse Ihrer Maschine nicht kennen, führen Sie ifconfig oder ip a commands aus.
http://192.168.1.14
Im nächsten Schritt müssen wir einige weitere Änderungen an der PHP-Standardkonfigurationsdatei vornehmen, um sicherzustellen, dass die PHP-Zeitzoneneinstellung korrekt konfiguriert ist und zu Ihrem physischen Standort passt. Öffnen Sie die Datei /etc/php/7.0/apache2/php.ini zur Bearbeitung und stellen Sie sicher, dass die folgenden Zeilen wie folgt eingerichtet sind.
date.timezone = Europe/London
Ersetzen Sie die Zeitzonenvariable entsprechend Ihrer physischen Zeit, indem Sie die Liste der Zeitzonen in PHP-Dokumenten unter folgendem Link einsehen http://php.net/manual/en/timezones.php.
Starten Sie den Apache-Daemon neu, um die Änderungen zu übernehmen.
systemctl restart apache2
Nachdem Sie die erforderlichen Änderungen vorgenommen haben, erstellen Sie eine php-Infodatei und starten Sie den Apache-Daemon neu, um die Änderungen durch Ausführen der folgenden Befehle anzuwenden.
echo '<?php phpinfo(); ?>'| tee /var/www/html/info.php
systemctl restart apache2
Überprüfen Sie, ob die PHP-Zeitzone korrekt konfiguriert ist, indem Sie die phpinfo-Skriptdatei von einem Browser aus unter der folgenden URL aufrufen, wie im folgenden Bild dargestellt. Scrollen Sie nach unten zur Datumseinstellung, um die Einstellung der php-Zeitzone zu überprüfen.
http://192.168.1.14/info.php
Nagios Core installieren
Bevor Sie Nagios Core aus Quellen herunterladen und kompilieren, stellen Sie zunächst sicher, dass Sie die folgenden vorab benötigten Pakete auf Ihrem System installieren, indem Sie den folgenden Befehl ausführen.
apt install autoconf gcc libc6 make apache2-utils libgd-dev
Nachdem alle notwendigen Abhängigkeiten und Pakete für die Kompilierung von Nagios aus Quellen auf Ihrem Debian-System installiert sind, besuchen Sie die offizielle Website von Nagios unter https://www.nagios.org/downloads/nagios-core/ und laden Sie die neueste Version des stabilen Nagios Core Quellarchivs herunter, indem Sie das Dienstprogramm wget ausgeben, wie im folgenden Befehlsauszug gezeigt.
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.3.4.tar.gz
Nachdem der Nagios source tarball heruntergeladen wurde, entpacken Sie das tar-Archiv und geben Sie das extrahierte Nagios-Verzeichnis mit den folgenden Befehlen ein. Führen Sie den Befehl ls im von Nagios extrahierten Verzeichnis aus, um die Quelldateien aufzulisten.
tar xzf nagios-4.3.4.tar.gz
cd nagios-4.3.4/
ls
Während Sie sich im Verzeichnis der von Nagios extrahierten Quellen befinden, starten Sie den Kompilierungsprozess von Nagios aus Quellen, indem Sie die folgenden Befehle ausführen. Konfigurieren Sie zunächst Nagios, die mit dem Konfigurationspfad des Apache-Webservers http kompiliert werden sollen, der auf das standortaktivierte Verzeichnis zeigt.
./configure --with-httpd-conf=/etc/apache2/sites-enabled
Als nächstes kompilieren Sie Nagios, indem Sie den folgenden Befehl ausführen, wie in den folgenden Bildern dargestellt.
make all
Als nächstes erstellen Sie den Benutzer und die Gruppe des Nagios-Systems und fügen dem Apache-Laufzeitbenutzer ein Nagios-Konto hinzu, damit der Nagios-Benutzer die erforderlichen Berechtigungen für den Zugriff auf Web-Ressourcen hat.
useradd nagios
usermod -a -G nagios www-data
Beginnen Sie nun mit der Installation von Nagios-Binärdateien, CGI-Skripten und HTML-Dateien, indem Sie den folgenden Befehl ausführen. Die endgültige Ausgabe des make install-Befehls sollte die Binärpositionen anzeigen, wie im folgenden Bild gezeigt.
make install
Als nächstes installieren Sie die Init-Dateien des Nagios-Daemon-Systems und aktivieren Sie den Nagios-Dienst systemweit, indem Sie die folgenden Befehle ausführen.
make install-init
systemctl enable nagios.service
Installieren und konfigurieren Sie auch die externe Befehlsdatei von Nagios, indem Sie den folgenden Befehl ausführen.
make install-commandmode
Führen Sie anschließend den folgenden Befehl aus, um Nagios-Beispielkonfigurationsdateien zu installieren, die vom Nagios-Daemon benötigt werden, um ordnungsgemäß zu starten und zu funktionieren.
make install-config
Installieren Sie schließlich die Apache Webserver-Konfigurationsdatei für Nagios, die sich im Verzeichnis /etc/apacahe2/sites-enabled/ befindet, indem Sie den folgenden Befehl ausführen.
make install-webconf
Erstellen Sie die Nagiosadministratorin Benutzerkonto mit dem entsprechenden Passwort, das vom Apache-Webserver benötigt wird, um die Anmeldung am Nagios-Webtool durchführen zu können, indem Sie den folgenden Befehl ausführen.
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Um auf das Nagios-Webpanel zuzugreifen, starten Sie zunächst den Apache HTTP-Server neu und starten Sie den Nagios-Dienst, indem Sie die folgenden Befehle ausführen.
systemctl restart apache2
systemctl start nagios
Melden Sie sich dann am Nagios Web Interface an, indem Sie einen Browser öffnen und die IP-Adresse oder den Domänennamen Ihres Servers oder FQDN besuchen und anhängen. /nagios URL-Pfad über das HTTP-Protokoll, wie in den folgenden Screenshots dargestellt. Verwenden Sie den Nagiosadmin-Benutzer mit dem zuvor für diesen Benutzer konfigurierten Passwort, um sich an der Nagios-Weboberfläche anzumelden.
Nagios Plugins installieren
Die Nagios-Engine ist nun auf dem System installiert. Die Nagios-Software ist jedoch noch nicht funktionsfähig, da die Plugins, die zur Überprüfung von Hosts und Diensten verwendet werden, nicht installiert sind. Dieses Verhalten kann beobachtet werden, indem Sie zum Menü Hosts navigieren, wo Sie die Plugin-Fehler bemerken, wie im folgenden Screenshot gezeigt.
Um einige grundlegende Nagios-Plugins aus der Quelle zu kompilieren und zu installieren, stellen Sie zunächst sicher, dass Sie die folgenden Bibliotheken und Abhängigkeiten installieren, indem Sie den folgenden Befehl ausführen.
apt install libmcrypt-dev make libssl-dev bc gawk dc build-essential snmp libnet-snmp-perl gettext libldap2-dev smbclient fping default-libmysqlclient-dev
Nachdem alle Abhängigkeitspakete in Ihrem System installiert wurden, besuchen Sie die Nagios Plugins Repository-Seite unter der folgenden Adresse https://github.com/nagios-plugins/nagios-plugins/releases und holen Sie sich das neueste Quellcode-Archiv mit Hilfe des wget Kommandozeilenprogramms, wie im folgenden Befehlsbeispiel gezeigt.
wget https://github.com/nagios-plugins/nagios-plugins/archive/release-2.2.1.tar.gz
Extrahieren Sie dann den komprimierten Nagios Plugins Quellcode-Tarball und geben Sie das extrahierte Nagios-plugins-Verzeichnis ein, indem Sie die folgenden Befehle ausführen.
tar xfz release-2.2.1.tar.gz
cd nagios-plugins-release-2.2.1/
Um Nagios Plugins aus Quellen zu kompilieren und zu installieren, führen Sie die folgenden Skripte und Befehle mit root-Rechten aus, wie im folgenden Auszug gezeigt.
./tools/setup
./configure
make
make install
Nachdem alle Plugins installiert sind, können Sie sie unter /usr/local/nagios/libexec/ system path finden. Geben Sie den Befehl ls ein, um den gesamten Inhalt des Verzeichnisses /usr/local/nagios/libexec/ zu untersuchen und zu sehen, welche Plugins für Nagios in Ihrem System verfügbar sind.
ls /usr/local/nagios/libexec/
Damit die Nagios-Engine die installierten Plugins aufnehmen und verwenden kann, müssen Sie den Nagios-Dienststatus mit den folgenden Befehlen neu starten und überprüfen.
systemctl restart nagios.service
systemctl status nagios.service
Um zu testen, ob die Nagios-Plugins wie erwartet funktionieren, melden Sie sich erneut am Nagios Web Interface an, indem Sie einen Browser öffnen und die IP-Adresse, den FQDN oder den Domänennamen Ihres Servers aufrufen und zum Menü Hosts oder Services navigieren, wie im folgenden Screenshot gezeigt. Die überwachten Hosts und Dienste sollten nun von den Plugins überprüft werden und die korrekte Ausgabe anzeigen, abhängig vom Exit-Status des Plugins. Die angezeigten Farben sind: grün für OK, gelb für Warnung und rot für kritisch.
Um das HTTPS-Protokoll zu verwenden, um über eine gesicherte Verbindung auf die Webschnittstelle der Nagios-Engine zuzugreifen, geben Sie den folgenden Befehl ein, um das Apache Webserver-SSL-Modul und die SSL-Standortkonfigurationsdatei zu aktivieren.
a2enmod ssl
a2ensite default-ssl.conf
Um die Besucher zu zwingen, bei jedem Besuch des Nagios-Webinterfaces von ihrem Browser aus automatisch zum HTTPS-Protokoll umgeleitet zu werden, öffnen Sie die Datei /etc/apache2/sites-enabled/000-default.conf zur Bearbeitung und fügen Sie die folgenden Umschreibungsregeln nach der DocumentRoot-Anweisung hinzu, wie im folgenden Beispiel gezeigt.
RewriteEngine on RewriteCond %{HTTPS} off RewriteRule ^(.*) https://%{HTTP_HOST}/$1
Starten Sie schließlich den Apache-Daemon neu, um alle bisher konfigurierten Regeln anzuwenden, und besuchen Sie die Nagios-Weboberfläche über das HTTP-Protokoll.
systemctl restart apache2.service
Um zu überprüfen, ob der Apache am HTTPS-Port lauscht, führen Sie den Befehl netstat aus und suchen Sie nach einer 443-Portbindung, wie im folgenden Bild gezeigt.
netstat -tlpn
Falls die UFW-Firewall-Anwendung eingehende Netzwerkverbindungen zum HTTPS-Port blockiert, sollten Sie eine neue Regel hinzufügen, damit der HTTPS-Verkehr die Firewall passieren kann, indem Sie den folgenden Befehl ausführen.
ufw allow 'WWW Full'
oder
ufw allow 443/tcp
Falls Sie eine iptables-Firewall betreiben, um Ihr Debian-System zu schützen, fügen Sie die folgende Regel hinzu, um eingehenden Datenverkehr auf Port 443 in der Firewall zu erlauben, so dass Besucher die Nagios Core Webschnittstelle durchsuchen können.
iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload
Nun sollten Sie per HTTPS-Protokoll automatisch auf das Nagios-Webpanel weitergeleitet werden. Da Sie die von Apache bei der Installation automatisch ausgegebenen selbstsignierten Zertifikatspaare verwenden, sollte im Browser eine Fehlermeldung angezeigt werden. Akzeptieren Sie die Browser-Warnung und melden Sie sich bei Nagios mit den zuvor konfigurierten Anmeldeinformationen an, wie im folgenden Screenshot gezeigt.
Um einen neuen Host hinzuzufügen, der von Nagios überwacht werden soll, öffnen Sie die Konfigurationsdatei /usr/local/nagios/etc/objects/localhost.cfg zur Bearbeitung und fügen Sie das neue Gerät nach der Definition des lokalen Hosts hinzu, wie im folgenden Beispiel gezeigt.
define host{ use linux-server host_name router alias router address 192.168.1.1 }
Ersetzen Sie die Variablen host_name, alias und IP-Adresse entsprechend und starten Sie den Nagios-Daemon neu, um die neue Hostdefinition zu laden und Änderungen vorzunehmen.
systemctl restart nagios
Was ein paar Minuten dauert und navigieren Sie zum Menü Hosts in der Nagios-Weboberfläche, um den Gerätestatus zu überprüfen, wie im folgenden Bild dargestellt.
Das ist alles! Sie haben die Nagios-Engine aus Quellen in Debian 9 erfolgreich installiert und konfiguriert und können nun Netzwerkgeräte, Server oder kritische Dienste Ihres Unternehmens hinzufügen, die von Nagios überwacht werden. Für weitere benutzerdefinierte Konfigurationen zu Nagios Core und Nagios Plugins besuchen Sie bitte die Dokumentationsseiten unter folgendem Link https://support.nagios.com/kb/category.php?id=12.