Installation der Nagios-Serverüberwachung unter Ubuntu 16.04
Nagios ist eine Open-Source-Software für die System- und Netzwerküberwachung. Nagios kann die Aktivität eines Hosts und seiner Dienste überwachen und gibt eine Warnmeldung aus, wenn auf dem Server etwas Schlimmes passiert. Nagios kann auf Linux-Betriebssystemen laufen. Zur Zeit verwende ich Ubuntu 16.04 für die Installation.
Voraussetzungen
- 2 Ubuntu 16.04 – 64bit-Server
- 1 – Nagios-Host mit IP: 192.168.1.9
- 2 – Ubuntu-Client mit IP: 192.168.1.10
- Root/Sudo-Zugriff
Was wir in diesem Tutorial tun werden:
- Software die Paketabhängigkeiten wie – LAMP etc.
- Benutzer- und Gruppenkonfiguration.
- Installation von Nagios.
- Konfigurieren von Apache.
- Testen des Nagios-Servers.
- Hinzufügen eines Hosts zum Monitor.
Installieren der Voraussetzungen
Nagios benötigt den gcc-Compiler und Build-essentials für die Kompilierung, LAMP (Apache, PHP, MySQL) für die Nagios-Webschnittstelle und Sendmail zum Versenden von Alerts vom Server. Um all diese Pakete zu installieren, führen Sie diesen Befehl aus (es ist nur 1 Zeile):
sudo apt-get install wget build-essential apache2 php apache2-mod-php7.0 php-gd libgd-dev sendmail unzip
Benutzer- und Gruppenkonfiguration
Damit Nagios läuft, müssen Sie einen neuen Benutzer für Nagios anlegen. Wir werden den Benutzer „nagios“ nennen und zusätzlich eine Gruppe namens „nagcmd“ anlegen. Wir fügen den neuen Benutzer der Gruppe wie unten gezeigt hinzu:
useradd nagios groupadd nagcmd usermod -a -G nagcmd nagios usermod -a -G nagios,nagcmd www-data
Nagios installieren
Schritt 1 – Herunterladen und Extrahieren des Nagios-Kerns
cd ~ wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.2.0.tar.gz tar -xzf nagios*.tar.gz cd nagios-4.2.0
Schritt 2 – Nagios kompilieren
Bevor Sie Nagios bauen, müssen Sie es mit dem Benutzer und der Gruppe, die Sie zuvor erstellt haben, konfigurieren.
./configure --with-nagios-group=nagios --with-command-group=nagcmd
Für weitere Informationen verwenden Sie bitte: ./configure –help .
Nun können Sie Nagios installieren:
make all sudo make install sudo make install-commandmode sudo make install-init sudo make install-config /usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-available/nagios.conf
Und kopieren Sie das Evenhandler-Verzeichnis in das Nagios-Verzeichnis:
cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/ chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers
Schritt 3 – Installieren der Nagios-Plugins
Laden Sie die Nagios-Plugins herunter und entpacken Sie sie:
cd ~ wget https://nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz tar -xzf nagios-plugins*.tar.gz cd nagios-plugin-2.1.2/
Installieren Sie die Nagios-Plugins mit den folgenden Kommandos:
./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl make make install
Schritt 4 – Nagios konfigurieren
Nachdem die Installationsphase abgeschlossen ist, finden Sie die Standardkonfiguration von Nagios in /usr/local/nagios/.
Wir werden Nagios und Nagios-Kontakt konfigurieren.
Die Standard-Nagios-Konfiguration mit vim bearbeiten:
vim /usr/local/nagios/etc/nagios.cfg
unkommentierte Zeile 51 für die Konfiguration des Host-Monitors.
cfg_dir=/usr/local/nagios/etc/servers
Speichern und beenden.
Fügen Sie einen neuen Ordner namens Server hinzu:
mkdir -p /usr/local/nagios/etc/servers
Der Nagios-Kontakt kann in der Datei contact.cfg konfiguriert werden. Um sie zu öffnen, verwenden Sie:
vim /usr/local/nagios/etc/objects/contacts.cfg
Ersetzen Sie dann die Standard-E-Mail durch Ihre eigene E-Mail.
Konfiguration des Apache
Schritt 1 – Apache-Module aktivieren
sudo a2enmod rewrite sudo a2enmod cgi
Mit dem Kommando htpasswd können Sie einen Benutzer nagiosadmin für die Nagios-Weboberfläche konfigurieren
sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
und geben Sie Ihr Passwort ein.
Schritt 2 – aktivieren Sie den Nagios-Virtualhost
sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/
Schritt 3 – Apache und Nagios starten
service apache2 restart service nagios start
Wenn Nagios startet, sehen Sie möglicherweise folgenden Fehler :
Starting nagios (via systemctl): nagios.serviceFailed
Und das ist die Lösung:
cd /etc/init.d/ cp /etc/init.d/skeleton /etc/init.d/nagios
Bearbeiten Sie nun die Nagios-Datei:
vim /etc/init.d/nagios
… und fügen Sie den folgenden Code hinzu:
DESC="Nagios" NAME=nagios DAEMON=/usr/local/nagios/bin/$NAME DAEMON_ARGS="-d /usr/local/nagios/etc/nagios.cfg" PIDFILE=/usr/local/nagios/var/$NAME.lock
Machen Sie es ausführbar und starten Sie Nagios:
chmod +x /etc/init.d/nagios service apache2 restart servuce nagios start
Testen des Nagios-Servers
Bitte öffnen Sie Ihren Browser und greifen Sie in meinem Fall auf die Nagios-Server-IP zu:http://192.168.1.9/nagios.
Nagios-Anmeldung mit Apache htpasswd.
Nagios-Administrator-Dashboard
Hinzufügen eines Hosts zum Monitor
In diesem Tutorial werde ich einen Ubuntu-Host zur Überwachung des Nagios-Servers hinzufügen, den wir oben gemacht haben.
Nagios Server IP : 192.168.1.9 Ubuntu Host IP : 192.168.1.10
Schritt 1 – Verbindung zum Ubuntu-Host
ssh root@192.168.1.10
Schritt 2 – NRPE-Dienst installieren
sudo apt-get install nagios-nrpe-server nagios-plugins
Schritt 3 – NRPE konfigurieren
Nachdem die Installation abgeschlossen ist, bearbeiten Sie die nrpe-Datei /etc/nagios/nrpe.cfg:
vim /etc/nagios/nrpe.cfg
… und die Nagios-Server-IP 192.168.1.9 zur server_address hinzufügen.
server_adresse=192.168.1.9
Schritt 4 – NRPE neu starten
service nagios-nrpe-server restart
Schritt 5 – Ubuntu-Host zum Nagios-Server hinzufügen
Bitte verbinden Sie sich mit dem Nagios-Server:
ssh root@192.168.1.9
Dann erstellen Sie eine neue Datei für die Host-Konfiguration in /usr/local/nagios/etc/servers/.
vim /usr/local/nagios/etc/servers/ubuntu_host.cfg
Fügen Sie die folgenden Zeilen hinzu:
# Ubuntu Host configuration file define host { use linux-server host_name ubuntu_host alias Ubuntu Host address 192.168.1.10 register 1 } define service { host_name ubuntu_host service_description PING check_command check_ping!100.0,20%!500.0,60% max_check_attempts 2 check_interval 2 retry_interval 2 check_period 24x7 check_freshness 1 contact_groups admins notification_interval 2 notification_period 24x7 notifications_enabled 1 register 1 } define service { host_name ubuntu_host service_description Check Users check_command check_local_users!20!50 max_check_attempts 2 check_interval 2 retry_interval 2 check_period 24x7 check_freshness 1 contact_groups admins notification_interval 2 notification_period 24x7 notifications_enabled 1 register 1 } define service { host_name ubuntu_host service_description Local Disk check_command check_local_disk!20%!10%!/ max_check_attempts 2 check_interval 2 retry_interval 2 check_period 24x7 check_freshness 1 contact_groups admins notification_interval 2 notification_period 24x7 notifications_enabled 1 register 1 } define service { host_name ubuntu_host service_description Check SSH check_command check_ssh max_check_attempts 2 check_interval 2 retry_interval 2 check_period 24x7 check_freshness 1 contact_groups admins notification_interval 2 notification_period 24x7 notifications_enabled 1 register 1 } define service { host_name ubuntu_host service_description Total Process check_command check_local_procs!250!400!RSZDT max_check_attempts 2 check_interval 2 retry_interval 2 check_period 24x7 check_freshness 1 contact_groups admins notification_interval 2 notification_period 24x7 notifications_enabled 1 register 1 }
Sie finden viele check_command in der Datei /usr/local/nagios/etc/objects/commands.cfg. Schauen Sie dort nach, wenn Sie weitere Dienste wie DHCP, POP usw. hinzufügen wollen.
Und nun überprüfen Sie die Konfiguration:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
… um zu sehen, ob die Konfiguration korrekt ist.
Schritt 6 – Neustart aller Dienste
Starten Sie auf dem Ubuntu-Host den NRPE-Dienst:
service nagios-nrpe-server restart
… und starten Sie auf dem Nagios-Server Apache und Nagios:
service apache2 restart service nagios restart
Schritt 7 – Testen des Ubuntu-Hosts
Öffnen Sie den Nagios-Server vom Browser aus und sehen Sie den zu überwachenden ubuntu_host.
Der Ubuntu-Host ist auf dem überwachten Host verfügbar.
Alle Dienste werden ohne Fehler überwacht.
Schlussfolgerung
Nagios ist eine Open-Source-Anwendung zur Überwachung eines Systems. Nagios ist aufgrund der einfachen Konfiguration weit verbreitet. Nagios wird von verschiedenen Plugins unterstützt, und Sie können sogar Ihre eigenen Plugins erstellen. Schauen Sie hier für weitere Informationen.