Dieses Tutorial zeigt Ihnen, wie Sie die neueste Version von Nagios Core, derzeit 4.3.4, aus Quellen in Debian 9.1, Codename Stretch, installieren und konfigurieren.
Nagios, auch bekannt als Nagios Core, ist ein kostenloses Open-Source-Netzwerküberwachungstool, das von seinen Entwicklern aktiv gepflegt wird und zur Überwachung einer gesamten Netzwerkinfrastruktur entwickelt wurde. Nagios kann fast jedes Netzwerkgerät überwachen, solange für das Gerät eine Netzwerkverbindung konfiguriert ist, z. B. Router, Switches, Server, Desktops, Firewalls, IoT-Geräte. Neben der Überwachung von Geräten zur Bestimmung ihres Netzwerkstatus kann Nagios auch Netzwerkdienste, Anwendungen oder andere spezifische Aufgaben im Zusammenhang mit Betriebssystemen überwachen und kann so konfiguriert werden, dass Alarme per E-Mail oder SMS gesendet werden, um Netzwerkadministratoren über mögliche Geräte zu informieren. Ausfälle oder Dienstausfälle.
Anforderungen
- Debian 9.1 installiert auf einer Bare-Metal-Maschine oder auf einem Virtual Private Server. 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-Privilegien über sudo.
- Ein Domänenname, privat oder öffentlich, mit den richtigen konfigurierten DNS-A-Einträgen. Falls Sie in Ihrem Unternehmen keinen DNS-Server konfiguriert haben, können Sie über die Server-IP-Adresse auf Nagios zugreifen.
Erstkonfiguration
Bevor wir mit der Installation von Nagios aus den Quellen beginnen, stellen Sie sicher, dass das System alle Softwareanforderungen zum Kompilieren und Installieren von Nagios erfüllt. Aktualisieren Sie im ersten Schritt Ihre System-Repositories und Softwarepakete, indem Sie den folgenden Befehl ausführen.
apt update
apt upgrade
Starten Sie im nächsten Schritt einen neuen Befehl, um einige notwendige Dienstprogramme zu installieren, die zur weiteren Verwaltung Ihres Systems über die Befehlszeile verwendet werden.
apt install wget unzip zip bash-completion
N ext, 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 Hostdatei des Computers, indem Sie die folgenden Befehle ausführen.
hostnamectl
cat /etc/hostname
cat /etc/hosts
Starten Sie abschließend das System neu, um den neuen Hostnamen zu übernehmen.
init 6
Nagios ist eine webbasierte Überwachungsanwendung, bei der einige Teile in der serverseitigen Programmiersprache PHP und anderen CGI-Programmen geschrieben sind. Um Nagios-PHP-Dateiskripte auszuführen, müssen ein Webserver, z. B. ein Apache HTTP-Server, und ein PHP-Verarbeitungsgateway im System installiert und betriebsbereit sein. Um den Apache-Webserver und den PHP-Interpreter zusammen mit allen erforderlichen PHP-Modulen zu installieren, die von Nagios 4 zum ordnungsgemäßen Betrieb benötigt werden, geben Sie den folgenden Befehl in Ihrer Serverkonsole ein.
apt install apache2 libapache2-mod-php7.0 php7.0
Testen Sie nach der Installation von Apache und PHP, ob der Webserver betriebsbereit ist und auf Netzwerkverbindungen auf Port 80 wartet, indem Sie den folgenden Befehl mit Root-Rechten ausgeben.
netstat –tlpn
Falls das Netzwerkdienstprogramm netstat nicht standardmäßig in Ihrem Debian 9-System installiert ist, führen Sie den folgenden Befehl aus, um es zu installieren.
apt install net-tools
Indem Sie die Ausgabe des netstat-Befehls überprüfen, können Sie sehen, dass der Apache-Webserver auf Port 80 auf eingehende Netzwerkverbindungen wartet.
Falls auf Ihrem System eine Firewall aktiviert ist, z. B. eine UFW-Firewall-Anwendung, sollten Sie eine neue Regel hinzufügen, um HTTP-Datenverkehr durch die Firewall passieren zu lassen, indem Sie den folgenden Befehl ausführen.
ufw allow WWW
oder
ufw allow 80/tcp
Falls Sie iptables verwenden möchten Raw-Regeln, um eingehenden Datenverkehr von Port 80 auf der Firewall zuzulassen, damit Besucher die Nagios Core-Weboberfläche 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 für die ordnungsgemäße Ausführung der Nagios-Webanwendung erforderlich sind, 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 aufrufen, wie im folgenden Bild gezeigt. Wenn Sie die IP-Adresse Ihres Computers nicht kennen, führen Sie ifconfig aus oder ip a Befehle.
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-Zeitzone Einstellung richtig konfiguriert ist und mit dem physischen Standort Ihres Systems übereinstimmt. Öffnen Sie /etc/php/7.0/apache2/php.ini Datei 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 konsultieren, die von PHP-Dokumenten unter folgendem Link bereitgestellt wird: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 zu übernehmen, indem Sie die folgenden Befehle ausführen.
echo '<?php phpinfo(); ?>'| tee /var/www/html/info.php
systemctl restart apache2
Überprüfen Sie, ob die PHP-Zeitzone korrekt konfiguriert wurde, indem Sie die phpinfo-Skriptdatei von einem Browser unter der folgenden URL aufrufen, wie im folgenden Bild dargestellt. Scrollen Sie nach unten zur Datumseinstellung, um die PHP-Zeitzoneneinstellung zu prüfen.
http://192.168.1.14/info.php
Installieren Sie Nagios Core
Bevor Sie Nagios Core aus den Quellen herunterladen und kompilieren, stellen Sie zunächst sicher, dass Sie die folgenden erforderlichen Pakete in 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 zum Kompilieren 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 Quellarchivs von Nagios Core herunter indem Sie wget ausgeben Dienstprogramm, wie im folgenden Befehlsauszug gezeigt.
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.3.4.tar.gz
Nachdem der Nagios-Quell-Tarball heruntergeladen wurde, extrahieren Sie das Tar-Archiv und geben Sie das extrahierte Nagios-Verzeichnis mit den folgenden Befehlen ein. Führen Sie ls aus Befehl innerhalb des extrahierten Verzeichnisses von Nagios, 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 extrahierten Nagios-Quellen befinden, starten Sie den Nagios-Kompilierungsprozess aus den Quellen, indem Sie die folgenden Befehle ausführen. Konfigurieren Sie zunächst Nagios so, dass es mit dem HTTP-Konfigurationspfad des Apache-Webservers kompiliert wird, der auf sites-enabled zeigt Verzeichnis.
./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
Erstellen Sie als Nächstes den Nagios-Systembenutzer und die Gruppe und fügen Sie dem Apache-Laufzeitbenutzer ein Nagios-Konto hinzu, damit der Nagios-Benutzer die erforderlichen Berechtigungen für den Zugriff auf Webressourcen 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 Befehls make install sollte die binären Speicherorte anzeigen, wie im folgenden Bild gezeigt.
make install
Installieren Sie als Nächstes die systemd-Init-Dateien des Nagios-Daemons 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 außerdem die externe Befehlsdatei von Nagios, indem Sie den folgenden Befehl ausführen.
make install-commandmode
Führen Sie als Nächstes 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 abschließend die Apache-Webserver-Konfigurationsdatei für Nagios, die sich unter /etc/apacahe2/sites-enabled/ befindet Verzeichnis, indem Sie den folgenden Befehl ausführen.
make install-webconf
Erstellen Sie den nagiosadmin Benutzerkonto mit dem entsprechenden Passwort, das der Apache-Webserver benötigt, um sich beim Nagios-Webtool anmelden 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 zuerst 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 bei der Nagios-Webschnittstelle an, indem Sie einen Browser öffnen und die IP-Adresse oder den Domänennamen oder FQDN Ihres Servers aufrufen und /nagios anhängen 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 bei der Nagios-Weboberfläche anzumelden.
Nagios-Plugins installieren
Die Nagios-Engine ist jetzt auf dem System installiert. Die Nagios-Software ist jedoch noch nicht betriebsbereit, da die Plugins, die zum Überprüfen von Hosts und Diensten verwendet werden, nicht installiert sind. Dieses Verhalten kann beobachtet werden, indem Sie zum Hosts-Menü navigieren, wo Sie die Plugin-Fehler bemerken werden, wie im folgenden Screenshot gezeigt.
Um einige grundlegende Nagios-Plugins aus dem Quellcode 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, gehen Sie zur Nagios-Plugins-Repository-Seite, indem Sie die folgende Adresse besuchen https://github.com/nagios-plugins/nagios-plugins/releases und holen Sie sich das neueste Quellcodearchiv mit Hilfe von wget Befehlszeilendienstprogramm, 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-Plugin-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, finden Sie sie unter /usr/local/nagios/libexec/ Systempfad. Geben Sie das ls aus Befehl, um den gesamten Inhalt von /usr/local/nagios/libexec/ zu untersuchen Verzeichnis und sehen Sie, 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 wieder bei der Nagios-Webschnittstelle an, indem Sie einen Browser öffnen und die IP-Adresse, den FQDN oder den Domänennamen Ihres Servers besuchen und zum Menü Hosts oder Dienste navigieren, wie im folgenden Screenshot dargestellt. Die überwachten Hosts und Services sollten nun von den Plugins überprüft werden und je nach Exit-Status des Plugin-Befehls die korrekte Ausgabe anzeigen. Die angezeigten Farben sind:grün für OK, gelb für Warnung und rot für kritisch.
Um das HTTPS-Protokoll für den Zugriff auf die Webschnittstelle der Nagios-Engine über eine gesicherte Verbindung zu verwenden, geben Sie den folgenden Befehl ein, um das SSL-Modul des Apache-Webservers und die SSL-Site-Konfigurationsdatei zu aktivieren.
a2enmod ssl
a2ensite default-ssl.conf
Als Nächstes öffnen Sie /etc/apache2/sites-enabled/000-default.conf, um zu erzwingen, dass die Besucher jedes Mal, wenn sie die Nagios-Weboberfläche von ihren Browsern aus besuchen, automatisch zum HTTPS-Protokoll umgeleitet werden Datei zur Bearbeitung und fügen Sie nach DocumentRoot die folgenden Rewrite-Regeln hinzu Anweisung 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 prüfen, ob Apache den HTTPS-Port abhört, führen Sie netstat aus Befehl und suchen Sie nach der 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, um HTTPS-Verkehr durch die Firewall passieren zu lassen, indem Sie den folgenden Befehl ausgeben.
ufw allow 'WWW Full'
oder
ufw allow 443/tcp
Falls Sie die iptables-Firewall zum Schutz Ihres Debian-Systems ausführen, fügen Sie die folgende Regel hinzu, um den eingehenden Datenverkehr von Port 443 in der Firewall zuzulassen, damit Besucher die Nagios Core-Weboberfläche durchsuchen können.
iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload
Jetzt sollten Sie automatisch über das HTTPS-Protokoll zum Nagios-Webpanel weitergeleitet werden. Da Sie die automatisch selbstsignierten Zertifikatspaare verwenden, die von Apache bei der Installation ausgestellt werden, sollte eine Fehlermeldung im Browser angezeigt werden. Akzeptieren Sie die Browserwarnung und melden Sie sich mit den zuvor konfigurierten Anmeldeinformationen bei Nagios an, wie im folgenden Screenshot gezeigt.
Um einen neuen Host hinzuzufügen, der von Nagios überwacht werden soll, öffnen Sie /usr/local/nagios/etc/objects/localhost.cfg Konfigurationsdatei zum Bearbeiten und fügen Sie das neue Gerät nach localhost hinzu Definition, wie im folgenden Beispiel gezeigt.
define host{
use linux-server
host_name router
alias router
address 192.168.1.1
}
Ersetzen Sie den host_name , Alias und IP-Adresse Variablen entsprechend und starten Sie den Nagios-Daemon neu, um die neue Host-Definition zu laden und die Änderungen zu übernehmen.
systemctl restart nagios
Was ein paar Minuten und navigieren Sie zum Hosts-Menü 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 erfolgreich aus Quellen in Debian 9 installiert und konfiguriert. Sie können damit beginnen, Netzwerkgeräte, Server oder kritische Dienste Ihrer Organisation hinzuzufügen, die von Nagios überwacht werden sollen. Für andere benutzerdefinierte Konfigurationen in Bezug auf Nagios Core und Nagios Plugins besuchen Sie die Dokumentationsseiten unter folgendem Link https://support.nagios.com/kb/category.php?id=12