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:

Nagios Anmeldung

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:

Nagios Dashboard

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.

Das könnte dich auch interessieren …