So installierst du das Nagios Monitoring Tool unter Ubuntu 22.04
Nagios ist ein leistungsstarkes, kostenloses Open-Source-Überwachungstool, das zur Überwachung von Linux- und Windows-Servern, Netzwerken und Infrastrukturen eingesetzt wird. Mit Nagios kannst du die CPU-Auslastung, die Festplattennutzung und verschiedene Dienste wie HTTP, SSH, FTP, SMTP und mehr überwachen. Es verfügt über eine einfache und benutzerfreundliche Weboberfläche, mit der du alle Server von einem zentralen Ort aus überwachen kannst. Mit mehreren APIs lässt es sich leicht in Drittanbieteranwendungen integrieren. Nagios überwacht kontinuierlich die von dir angegebenen Hosts und Dienste und alarmiert dich, wenn etwas schief läuft.
Diese Anleitung zeigt dir, wie du Nagios Core auf einem Ubuntu 22.04 Server installierst.
Voraussetzungen
- Ein Server, auf dem Ubuntu 22.04 läuft.
- Ein Root-Passwort ist auf dem Server konfiguriert.
Erforderliche Abhängigkeiten installieren
Bevor du beginnst, musst du dein Systempaket aktualisieren und andere erforderliche Abhängigkeiten auf deinem Server installieren:
apt-get update -y apt-get install wget unzip vim curl openssl build-essential libgd-dev libssl-dev libapache2-mod-php php-gd php apache2 -y
Sobald alle Pakete installiert sind, kannst du mit dem nächsten Schritt fortfahren.
Nagios Core aus der Quelle installieren
Standardmäßig ist die neueste Nagios Core Version nicht im 22.04 Standard-Repository verfügbar. Es wird daher empfohlen, Nagios aus dem Quellcode zu kompilieren.
Lade zunächst die neueste Version von Nagios Core aus dem Git-Repository mit dem folgenden Befehl herunter:
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.7.tar.gz
Nach dem Download entpackst du die heruntergeladene Datei mit dem folgenden Befehl:
tar -xvzf nagios-4.4.7.tar.gz
Wechsle dann in das entpackte Verzeichnis und konfiguriere Nagios Core mit dem folgenden Befehl:
cd nagios-4.4.7 ./configure --with-httpd-conf=/etc/apache2/sites-enabled
Du solltest die folgende Ausgabe erhalten:
*** Configuration summary for nagios 4.4.7 2022-04-14 ***: General Options: ------------------------- Nagios executable: nagios Nagios user/group: nagios,nagios Command user/group: nagios,nagios Event Broker: yes Install ${prefix}: /usr/local/nagios Install ${includedir}: /usr/local/nagios/include/nagios Lock file: /run/nagios.lock Check result directory: /usr/local/nagios/var/spool/checkresults Init directory: /lib/systemd/system Apache conf.d directory: /etc/apache2/sites-enabled Mail program: /bin/mail Host OS: linux-gnu IOBroker Method: epoll Web Interface Options: ------------------------ HTML URL: http://localhost/nagios/ CGI URL: http://localhost/nagios/cgi-bin/ Traceroute (used by WAP): Review the options above for accuracy. If they look okay, type 'make all' to compile the main program and CGIs.
Als Nächstes führst du den folgenden Befehl aus, um Nagios zu kompilieren:
make all
Als Nächstes erstellst du die erforderlichen Benutzer und Gruppen und fügst den Nagios-Benutzer mit folgendem Befehl zur Gruppe www-data hinzu:
make install-groups-users usermod -a -G nagios www-data
Als Nächstes installierst du den Nagios Core mit dem folgenden Befehl:
make install
Du solltest die folgende Ausgabe sehen:
*** Main program, CGIs and HTML files installed *** You can continue with installing Nagios as follows (type 'make' without any arguments for a list of all possible options): make install-init - This installs the init script in /lib/systemd/system make install-commandmode - This installs and configures permissions on the directory for holding the external command file make install-config - This installs sample config files in /usr/local/nagios/etc make[1]: Leaving directory '/root/nagios-4.4.7'
Sobald der Nagios Core installiert ist, musst du eine systemd-Dienstdatei erstellen, um den Nagios-Dienst zu verwalten. Du kannst das systemd init-Skript mit dem folgenden Befehl erstellen:
make install-daemoninit
Als Nächstes musst du mit folgendem Befehl die richtigen Berechtigungen für das Nagios-Installationsverzeichnis festlegen:
make install-commandmode
Als Nächstes erstellst du eine Nagios-Beispielkonfigurationsdatei mit dem folgenden Befehl:
make install-config
Als Nächstes installierst du die Nagios-Weboberfläche mit dem folgenden Befehl:
make install-webconf a2enmod rewrite cgi
Starte anschließend den Apache-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart apache2
Als Nächstes installierst du das Theme für die Nagios-Weboberfläche.
make install-exfoliation
Nagios-Admin-Benutzer anlegen
Als Nächstes musst du einen Admin-Benutzer anlegen, um auf die Nagios-Weboberfläche zugreifen zu können. Du kannst ihn mit dem folgenden Befehl anlegen:
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Setze dein gewünschtes Passwort wie unten gezeigt:
New password: Re-type new password: Adding password for user nagiosadmin
Nagios Plugins installieren
Als Nächstes musst du die Nagios-Plugins herunterladen, um die Systemdienste zu überwachen. Du kannst sie mit dem folgenden Befehl aus dem Git-Repository herunterladen:
wget https://github.com/nagios-plugins/nagios-plugins/releases/download/release-2.4.0/nagios-plugins-2.4.0.tar.gz
Nach dem Download entpackst du die heruntergeladene Datei mit dem folgenden Befehl:
tar -xvzf nagios-plugins-2.4.0.tar.gz
Wechsle dann in das entpackte Verzeichnis und konfiguriere es mit dem folgenden Befehl:
cd nagios-plugins-2.4.0 ./configure --with-nagios-user=nagios --with-nagios-group=nagios
Als Nächstes installierst du sie mit dem folgenden Befehl:
make make install
Überprüfe die Nagios-Beispielkonfigurationsdateien vor dem Start mit folgendem Befehl:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Wenn alles in Ordnung ist, solltest du die folgende Ausgabe erhalten:
Running pre-flight check on configuration data... Checking objects... Checked 8 services. Checked 1 hosts. Checked 1 host groups. Checked 0 service groups. Checked 1 contacts. Checked 1 contact groups. Checked 24 commands. Checked 5 time periods. Checked 0 host escalations. Checked 0 service escalations. Checking for circular paths... Checked 1 hosts Checked 0 service dependencies Checked 0 host dependencies Checked 5 timeperiods Checking global event handlers... Checking obsessive compulsive processor commands... Checking misc settings... Total Warnings: 0 Total Errors: 0 Things look okay - No serious problems were detected during the pre-flight check
Nagios-Dienst starten
Starte nun den Nagios-Dienst und aktiviere ihn mit folgendem Befehl, damit er beim Neustart des Systems gestartet wird:
systemctl start nagios systemctl enable nagios
Du kannst den Status des Nagios-Dienstes auch mit dem folgenden Befehl überprüfen:
systemctl status nagios
Du solltest die folgende Ausgabe erhalten:
? nagios.service - Nagios Core 4.4.7 Loaded: loaded (/lib/systemd/system/nagios.service; enabled; vendor preset: enabled) Active: active (running) since Wed 2022-05-04 17:18:52 UTC; 1s ago Docs: https://www.nagios.org/documentation Process: 15854 ExecStartPre=/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg (code=exited, status=0/SUCCESS) Process: 15855 ExecStart=/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg (code=exited, status=0/SUCCESS) Main PID: 15856 (nagios) Tasks: 6 (limit: 2241) Memory: 5.2M CPU: 355ms CGroup: /system.slice/nagios.service ??15856 /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg ??15857 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh ??15858 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh ??15859 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh ??15860 /usr/local/nagios/bin/nagios --worker /usr/local/nagios/var/rw/nagios.qh ??15861 /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg June 12 06:10:52 jellyfish nagios[15856]: qh: core query handler registered June 12 06:10:52 jellyfish nagios[15856]: qh: echo service query handler registered June 12 06:10:52 jellyfish nagios[15856]: qh: help for the query handler registered June 12 06:10:52 jellyfish nagios[15856]: wproc: Successfully registered manager as @wproc with query handler June 12 06:10:52 jellyfish nagios[15856]: wproc: Registry request: name=Core Worker 15858;pid=15858 June 12 06:10:52 jellyfish nagios[15856]: wproc: Registry request: name=Core Worker 15857;pid=15857 June 12 06:10:52 jellyfish nagios[15856]: wproc: Registry request: name=Core Worker 15860;pid=15860 June 12 06:10:52 jellyfish nagios[15856]: wproc: Registry request: name=Core Worker 15859;pid=15859 June 12 06:10:53 jellyfish nagios[15856]: Successfully launched command file worker with pid 15861 June 12 06:10:53 jellyfish nagios[15856]: HOST ALERT: localhost;DOWN;SOFT;1;(No output on stdout)
Zugriff auf die Nagios-Weboberfläche
Öffne nun deinen Webbrowser und gib die URL http://your-server-ip/nagios ein. Du wirst zum Nagios-Anmeldebildschirm weitergeleitet:
Gib deinen Nagios-Admin-Benutzernamen und dein Passwort ein und klicke auf die Schaltfläche OK. Auf dem folgenden Bildschirm solltest du das Standard-Dashboard von Nagios sehen:
Fazit
Glückwunsch! Du hast die neueste Version von Nagios Core erfolgreich auf dem Ubuntu 22.04 Server installiert. Jetzt kannst du Nagios in deine Infrastruktur implementieren, deine Monitoring-Hosts hinzufügen und sie über einen Webbrowser überwachen. Wenn du noch Fragen hast, kannst du dich gerne an mich wenden.