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

Debian-Updates installieren

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

Überprüfen Sie die Apache-Installation mit dem Befehl netstat.

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

Apache-Module aktivieren

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

Apache Standardwebseite

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

Überprüfen Sie die Einstellung der PHP-Zeitzone.

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

Nagios herunterladen

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

Nagios konfigurieren und erstellen

Nagios aus dem Quellcode erstellen

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

Installierte, kompilierte Nagios-Dateien

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

Nagios-Init-Dateien installieren

Installieren und konfigurieren Sie auch die externe Befehlsdatei von Nagios, indem Sie den folgenden Befehl ausführen.

make install-commandmode

Nagios-Kommandomodus installieren

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

Nagios-Beispielkonfigurationsdateien installieren

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

Nagios Apache Web-Konfiguration installieren

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

Erstellen einer htpasswd-Datei für Nagios

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.

Bei Nagios anmelden

Nagios Dashboard

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.

Nagios noch keine Plugins installiert

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/

Download Nagios Plugins

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/

Nagios Libexec Verzeichnis

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.

Nagios überwachte Dienste

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

https im Apache aktivieren

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

Apache mit https überprüfen

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.

Nagios mit HTTPS

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
        }

Bearbeiten der Nagios-Konfigurationsdatei

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.

Nagios gesichert mit SSL / TLS

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.

 

 

Das könnte Dich auch interessieren …