Nagios Installation · 20 min read · Nov 09, 2025
Wie man Nagios auf Rocky Linux 9 installiert und konfiguriert

Nagios ist eines der beliebtesten und leistungsstärksten Open-Source-Überwachungssysteme. Es überwacht Ihre IT-Infrastruktur und sorgt dafür, dass Ihre Netzwerke, Server, Anwendungen und Prozesse reibungslos funktionieren. Mit einem Überwachungssystem können Sie Probleme erkennen, bevor sie auftreten, und sie schnell beheben, um Kosten und Ausfallzeiten zu sparen.
Dieses Tutorial zeigt Ihnen, wie Sie Nagios auf einem Rocky Linux 9-Server installieren und konfigurieren. Wir werden auch einige grundlegende Konfigurationen vornehmen und den Nagios Remote Plugin Executor (NPRE) installieren, der es uns ermöglicht, entfernte Hosts zu überwachen.
Voraussetzungen
- Ein Server, der Rocky Linux 9 ausführt.
- Ein Nicht-Sudo-Benutzer mit Root-Rechten.
- SELinux ist deaktiviert. Für dieses Tutorial würde es auch funktionieren, wenn Sie SELinux aktiviert lassen, aber je nach den Nagios-Überwachungen, die Sie verwenden, müssen Sie entweder SELinux konfigurieren oder es besser deaktiviert lassen.
- Ein weiterer Server, der Rocky Linux 9 ausführt und den Sie überwachen möchten.
- Stellen Sie sicher, dass alles aktualisiert ist.
$ sudo dnf update
Schritt 1 - Firewall konfigurieren
Der erste Schritt besteht darin, die Firewall zu konfigurieren. Der Rocky Linux-Server wird mit der Firewalld-Firewall geliefert.
Überprüfen Sie, ob die Firewall läuft.
$ sudo firewall-cmd --state
Sie sollten die folgende Ausgabe erhalten.
running
Überprüfen Sie die aktuellen erlaubten Dienste/Ports.
$ sudo firewall-cmd --permanent --list-services
Es sollte die folgende Ausgabe angezeigt werden.
dhcpv6-client mdns ssh
Erlauben Sie HTTP- und HTTPS-Ports.
$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https
Überprüfen Sie den Status der Firewall erneut.
$ sudo firewall-cmd --permanent --list-services
Sie sollten eine ähnliche Ausgabe sehen.
dhcpv6-client http https mdns ssh
Laden Sie die Firewall neu.
$ sudo firewall-cmd --reload
Schritt 2 - Apache und PHP installieren
Um Nagios auszuführen, benötigen Sie Apache zusammen mit installiertem PHP.
Installieren und aktivieren Sie den Apache-Dienst.
$ sudo dnf install httpd
$ sudo systemctl enable httpd
Um PHP zu installieren, verwenden wir das Remi-Repository. Installieren Sie das Remi-Repo und aktivieren Sie PHP 8.1.
$ sudo dnf install dnf-utils http://rpms.remirepo.net/enterprise/remi-release-9.rpm
$ sudo dnf module reset php -y
$ sudo dnf module enable php:remi-8.1 -y
Installieren Sie PHP und mehrere gängige PHP-Module.
$ sudo dnf install -y php php-gd php-curl
Überprüfen Sie die PHP-Installation.
$ php --version
PHP 8.1.16 (cli) (built: Feb 14 2023 18:59:41) (NTS gcc x86_64)
Copyright (c) The PHP Group
Zend Engine v4.1.16, Copyright (c) Zend Technologies
with Zend OPcache v8.1.16, Copyright (c), by Zend Technologies
Aktivieren Sie PHP und starten Sie den Dienst.
$ sudo systemctl enable --now php-fpm
Starten Sie den Apache-Dienst neu, damit die Änderungen wirksam werden.
$ sudo systemctl restart httpd
Sie können die Installation von Apache und PHP überprüfen, indem Sie eine Datei info.php im Verzeichnis /var/www/html erstellen, das vom Apache-Installer erstellt wurde.
$ sudo nano /var/www/html/info.php
Fügen Sie den folgenden Code in den Editor ein.
Speichern Sie die Datei, indem Sie Ctrl + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.
Öffnen Sie die URL http:// in Ihrem Browser, und Sie sollten von der folgenden Seite begrüßt werden.

Schritt 3 - Nagios installieren
Der größte Teil dieses Tutorials erfordert, dass Sie Nagios installieren und auf Ihrem Hauptserver arbeiten.
Abhängigkeiten installieren
Dieses Tutorial erfordert, dass Nagios und seine Plugins aus dem Quellcode erstellt werden. Daher müssen Sie zuerst einige Entwicklungsbibliotheken installieren. Wir benötigen auch das EPEL-Repository, aber es wurde im vorherigen Schritt automatisch mit dem Remi-Repo installiert, sodass wir es hier überspringen können.
$ sudo dnf install gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel unzip wget gettext autoconf net-snmp-utils postfix automake perl-Net-SNMP
Nagios herunterladen
Laden Sie die neueste Version von der GitHub-Release-Seite von Nagios herunter. Zum Zeitpunkt des Tutorials ist 4.4.10 die neueste verfügbare Version. Ändern Sie den Befehl, falls Sie eine andere Version wünschen.
$ cd ~
$ sudo wget -O nagios.tar.gz https://github.com/NagiosEnterprises/nagioscore/releases/download/nagios-4.4.10/nagios-4.4.10.tar.gz
Entpacken Sie die Tar-Datei.
$ sudo tar zxf nagios.tar.gz
Verschieben Sie das entpackte Verzeichnis in das Verzeichnis /usr/src.
sudo mv nagios-4.4.10 /usr/src/nagios
Wechseln Sie in das Verzeichnis /usr/src/nagios.
$ cd /usr/src/nagios
Nagios kompilieren
Der nächste Schritt besteht darin, Nagios aus seinen Quelldateien zu kompilieren. Führen Sie das configure-Skript aus, um Überprüfungen durchzuführen, um sicherzustellen, dass alle Abhängigkeiten vorhanden sind.
$ sudo ./configure
Sie sollten eine ähnliche Ausgabe nach erfolgreichem Abschluss des Skripts erhalten.
* Konfigurationszusammenfassung für nagios 4.4.10 2023-01-17 *:
Allgemeine Optionen:
-------------------------
Nagios ausführbar: nagios
Nagios Benutzer/Gruppe: nagios,nagios
Befehl Benutzer/Gruppe: nagios,nagios
Ereignis Broker: ja
Installieren ${prefix}: /usr/local/nagios
Installieren ${includedir}: /usr/local/nagios/include/nagios
Sperrdatei: /run/nagios.lock
Überprüfen Sie das Ergebnisverzeichnis: /usr/local/nagios/var/spool/checkresults
Init-Verzeichnis: /lib/systemd/system
Apache conf.d Verzeichnis: /etc/httpd/conf.d
Mail-Programm: /usr/sbin/sendmail
Host-OS: linux-gnu
IOBroker-Methode: epoll
Webinterface-Optionen:
------------------------
HTML-URL: http://localhost/nagios/
CGI-URL: http://localhost/nagios/cgi-bin/
Traceroute (verwendet von WAP):
Überprüfen Sie die Optionen oben auf Richtigkeit. Wenn sie in Ordnung aussehen,
tippen Sie 'make all', um das Hauptprogramm und die CGIs zu kompilieren.
Starten Sie die Kompilierung.
$ sudo make all
Nagios-Benutzer und -Gruppe erstellen
Erstellen Sie einen neuen Benutzer und eine Gruppe, die den Nagios-Prozess ausführen.
$ sudo make install-groups-users
Sie sollten die folgende Ausgabe sehen.
groupadd -r nagios
useradd -g nagios nagios
Fügen Sie den Benutzer apache zur Gruppe nagios hinzu.
$ sudo usermod -a -G nagios apache
Nagios-Binärdateien installieren
Führen Sie den folgenden Befehl aus, um die Nagios-Binärdateien, CGIs und HTML-Dateien zu installieren.
$ sudo make install
Verzeichnis für externe Befehle erstellen
Nagios kann Befehle von externen Anwendungen verarbeiten, und dafür muss ein Verzeichnis eingerichtet werden.
$ sudo make install-commandmode
/bin/install -c -m 775 -o nagios -g nagios -d /usr/local/nagios/var/rw
chmod g+s /usr/local/nagios/var/rw
* Externes Befehlsverzeichnis konfiguriert *
Nagios-Konfigurationsdateien installieren
Installieren Sie die Beispielkonfigurationsdateien.
$ sudo make install-config
Apache-Konfigurationsdateien installieren
Führen Sie den folgenden Befehl aus, um die Apache-Konfigurationsdateien zu installieren.
$ sudo make install-webconf
Starten Sie den Webserver neu, um die Konfiguration zu aktivieren.
$ sudo systemctl restart httpd
Eine Systemd-Dienstdatei erstellen
Führen Sie den folgenden Befehl aus, um eine systemd-Einheitendatei zu installieren.
$ sudo make install-daemoninit
HTTP-Authentifizierung aktivieren
Sie können die Nagios-Weboberfläche über HTTP-Authentifizierung sperren. Führen Sie den folgenden Befehl aus, um htpasswd zu verwenden, um den Benutzer zu erstellen. Sie werden nach einem Passwort gefragt.
$ sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Neues Passwort:
Wiederholen Sie das neue Passwort:
Füge Passwort für Benutzer nagiosadmin hinzu
Der Standardname für den Benutzer ist nagiosadmin. Sie können einen anderen Benutzernamen verwenden, indem Sie alle Instanzen von nagiosadmin in der Datei /usr/local/nagios/etc/cgi.cfg durch den bevorzugten Benutzernamen ersetzen. Oder Sie können den Benutzernamen hinzufügen, indem Sie ein Komma wie folgt verwenden.
authorized_for_system_information=nagiosadmin, username1
authorized_for_configuration_information=nagiosadmin, username1
authorized_for_system_commands=nagiosadmin, username1
authorized_for_all_services=nagiosadmin, username1
authorized_for_all_hosts=nagiosadmin, username1
authorized_for_all_service_commands=nagiosadmin, username1
authorized_for_all_host_commands=nagiosadmin, username1
Sie können Benutzer mit schreibgeschütztem Zugriff hinzufügen, indem Sie die folgende Konfiguration in der Datei aktivieren, indem Sie das Hash-Zeichen (#) davor entfernen. Führen Sie dann htpasswd mit dem Benutzernamen aus.
authorized_for_read_only=username2
Starten Sie den Server neu, damit die Konfiguration wirksam wird.
$ sudo systemctl restart httpd
Schritt 4 - Nagios-Plugins installieren
Installieren Sie die Voraussetzungen, die für die Nagios-Plugins erforderlich sind.
$ sudo dnf install epel-release
$ sudo dnf install -y gcc glibc glibc-common make gettext automake autoconf wget openssl-devel net-snmp net-snmp-utils postgresql-devel openldap-devel bind-utils samba-client fping openssh-clients lm_sensors perl-Net-SNMP
Laden Sie die neueste Version von der GitHub-Seite der Nagios-Plugins herunter. Zum Zeitpunkt des Tutorials ist 2.4.3 die neueste verfügbare Version. Ändern Sie den Befehl, falls Sie eine andere Version wünschen.
$ cd ~
$ sudo wget -O nagios-plugins.tar.gz https://github.com/nagios-plugins/nagios-plugins/releases/download/release-2.4.3/nagios-plugins-2.4.3.tar.gz
Entpacken Sie die Tar-Datei.
$ sudo tar zxf nagios-plugins.tar.gz
Verschieben Sie das entpackte Verzeichnis in das Verzeichnis /usr/src.
$ sudo mv nagios-plugins-2.4.3 /usr/src/nagios-plugins
Wechseln Sie zurück in das Verzeichnis /usr/src/nagios-plugins.
$ cd /usr/src/nagios-plugins
Führen Sie die folgenden Befehle aus, um die Plugins zu kompilieren und zu installieren.
$ sudo ./configure
$ sudo make
$ sudo make install
Schritt 5 - Plugin check_nrpe installieren
Laden Sie die neueste Version von der NRPE-GitHub-Release-Seite herunter. Zum Zeitpunkt des Schreibens dieses Tutorials ist die neueste verfügbare Version 4.1.0. Ändern Sie den folgenden Befehl, falls Sie eine andere Version wünschen.
$ cd ~
$ wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.1.0/nrpe-4.1.0.tar.gz
Entpacken Sie das Archiv.
$ tar zxf nrpe-*.tar.gz
Verschieben Sie das entpackte Verzeichnis in das Verzeichnis /usr/src.
$ sudo mv nrpe-4.1.0 /usr/src/nrpe
Wechseln Sie in das Verzeichnis /usr/src/nrpe.
$ cd /usr/src/nrpe
Konfigurieren und installieren Sie das Plugin.
$ sudo ./configure
$ sudo make check_nrpe
$ sudo make install-plugin
Dies platziert das Plugin check_nrpe im Verzeichnis /usr/local/nagios/libexec/.
Schritt 6 - Nagios starten
Mit installierten Nagios und Plugins ist es Zeit, den Nagios-Dienst zu starten.
$ sudo systemctl start nagios
Überprüfen Sie den Status des Dienstes, um zu sehen, ob er ordnungsgemäß läuft.
$ sudo systemctl status nagios
Nagios-Weboberfläche
Öffnen Sie die URL http:// in Ihrem Browser. Sie sollten eine Anmeldemaske sehen.
Geben Sie die Anmeldeinformationen ein, die Sie während der HTTP-Authentifizierungsmethode erstellt haben, und Sie sollten mit dem folgenden Bildschirm begrüßt werden.

Schritt 7 - Hosts überwachen
Um einen Host zu überwachen, müssen Sie den NRPE-Daemon und die Nagios-Plugins auf dem Host installieren. Wir werden einen Rocky Linux 9-Server von unserem Nagios-Server aus überwachen.
Melden Sie sich bei Ihrem Host an.
$ ssh user@monitored_server_ip
Nagios-Plugins installieren
Installieren Sie die Nagios-Plugins, indem Sie Schritt 4 von zuvor wiederholen.
NRPE installieren
Installieren Sie die Voraussetzungen, die für den NRPE-Daemon erforderlich sind.
$ sudo dnf install -y gcc glibc glibc-common openssl openssl-devel perl wget
Laden Sie NRPE herunter.
$ cd ~
$ wget https://github.com/NagiosEnterprises/nrpe/releases/download/nrpe-4.1.0/nrpe-4.1.0.tar.gz
Entpacken Sie das Archiv.
$ tar zxf nrpe-*.tar.gz
Verschieben Sie das entpackte Verzeichnis in das Verzeichnis /usr/src.
$ sudo mv nrpe-4.1.0 /usr/src/nrpe
Wechseln Sie in das NRPE-Verzeichnis.
$ cd /usr/src/nrpe
Konfigurieren und installieren Sie NRPE.
$ sudo ./configure --enable-command-args
$ sudo make all
Erstellen Sie den Benutzer und die Gruppe.
$ sudo make install-groups-users
Installieren Sie die NRPE-Binärdateien, den NRPE-Daemon und das Plugin check_npre.
$ sudo make install
Installieren Sie die Konfigurationsdateien.
$ sudo make install-config
Aktualisieren Sie die Dienstdatei. Die Datei /etc/services wird verwendet, um Dienstnamen in Portnummern zu übersetzen.
$ sudo sh -c "echo >> /etc/services"
$ sudo sh -c "sudo echo '# Nagios-Dienste' >> /etc/services"
$ sudo sh -c "sudo echo 'nrpe 5666/tcp' >> /etc/services"
Installieren Sie den NPRE-Dienstdaemon.
$ sudo make install-init
$ sudo systemctl enable nrpe
Sie müssen die NPRE-Konfigurationsdatei unter /usr/local/nagios/etc/nrpe.cfg aktualisieren.
Öffnen Sie die Datei zur Bearbeitung.
$ sudo nano /usr/local/nagios/etc/nrpe.cfg
Standardmäßig hört NPRE nur auf Anfragen von localhost (127.0.0.1). Sie müssen die IP-Adresse Ihres Nagios-Servers in die Datei einfügen.
allowed_hosts=127.0.0.1,10.25.5.2
Die folgende Option bestimmt, ob der NPRE-Daemon es Clients erlaubt, Befehlsargumente anzugeben. Erlauben Sie die Option, indem Sie den Wert auf 1 setzen, was erweiterte NPRE-Konfigurationen aktiviert.
dont_blame_nrpe=1
Als nächstes werden Sie beim Scrollen eine Liste von NRPE-Befehlen mit ihren Definitionen finden. Alle sind auskommentiert. Sie müssen sie auskommentieren, damit Nagios sie verwenden kann.
Jeder Befehl kann Argumente übergeben werden. Einige der Befehle haben Argumente fest codiert, während andere Argumente vom Benutzer akzeptieren können. Jeder Befehl kann die folgenden Benachrichtigungsoptionen haben.
- W steht für Warnungsdienstzustände
- C steht für kritische Dienstzustände
- R steht für Benachrichtigung bei Dienstwiederherstellung (OK-Zustände)
So können Sie angeben, auf welcher Ebene welcher Typ von Benachrichtigung ein Befehl senden kann. Wir werden nicht auf die detaillierte Beschreibung und Funktion jedes der Befehle eingehen, da sie über den Rahmen dieses Tutorials hinausgehen.
# Die folgenden Beispiele verwenden fest codierte Befehlsargumente...
# Dies ist bei weitem die sicherste Methode zur Verwendung von NRPE
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10
command[check_load]=/usr/local/nagios/libexec/check_load -r -w .15,.10,.05 -c .30,.25,.20
command[check_hda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/hda1
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
# Die folgenden Beispiele erlauben benutzerspezifische Argumente und können
# nur verwendet werden, wenn der NRPE-Daemon mit Unterstützung für
# Befehlsargumente *UND* die dont_blame_nrpe-Direktive in dieser
# Konfigurationsdatei auf '1' gesetzt wurde. Dies stellt ein potenzielles Sicherheitsrisiko dar, also
# stellen Sie sicher, dass Sie die SECURITY-Datei lesen, bevor Sie dies tun.
### MISC SYSTEMMETRIKEN ###
command[check_users]=/usr/local/nagios/libexec/check_users $ARG1$
command[check_load]=/usr/local/nagios/libexec/check_load $ARG1$
command[check_disk]=/usr/local/nagios/libexec/check_disk $ARG1$
command[check_swap]=/usr/local/nagios/libexec/check_swap $ARG1$
command[check_cpu_stats]=/usr/local/nagios/libexec/check_cpu_stats.sh $ARG1$
command[check_mem]=/usr/local/nagios/libexec/custom_check_mem -n $ARG1$
### GENERISCHE DIENSTE ###
command[check_init_service]=sudo /usr/local/nagios/libexec/check_init_service $ARG1$
command[check_services]=/usr/local/nagios/libexec/check_services -p $ARG1$
### SYSTEMUPDATES ###
command[check_yum]=/usr/local/nagios/libexec/check_yum
#command[check_apt]=/usr/local/nagios/libexec/check_apt
### PROZESSE ###
command[check_all_procs]=/usr/local/nagios/libexec/custom_check_procs
command[check_procs]=/usr/local/nagios/libexec/check_procs $ARG1$
### OFFENE DATEIEN ###
command[check_open_files]=/usr/local/nagios/libexec/check_open_files.pl $ARG1$
### NETZWERKVERBINDUNGEN ###
command[check_netstat]=/usr/local/nagios/libexec/check_netstat.pl -p $ARG1$ $ARG2$
Kommentieren Sie die obigen Befehle aus, indem Sie das #-Symbol davor entfernen. Sie können so viele Befehle auskommentieren, wie Sie benötigen.
Fügen Sie den folgenden Befehl hinzu, um den Speicherplatz auf der Root-Disk zu überprüfen.
command[check_root]=/usr/lib64/nagios/plugins/check_disk -w 20% -c 10% -p /
Sobald Sie fertig sind, speichern Sie die Datei, indem Sie Ctrl + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.
Erlauben Sie den Port 5666, der vom NPRE-Plugin verwendet wird.
$ sudo firewall-cmd --permanent --add-port=5666/tcp
Laden Sie die Firewall neu.
$ sudo firewall-cmd --reload
Starten Sie NPRE.
$ sudo systemctl start nrpe
Alle Befehle von hier an werden auf dem Haupt-Nagios-Server ausgeführt, es sei denn, es wird anders angegeben.
Überprüfen Sie, ob NRPE funktioniert, indem Sie den folgenden Befehl auf Ihrem Haupt-Nagios-Server ausführen.
$ /usr/local/nagios/libexec/check_nrpe -H monitored_server_ip
Sie sollten die folgende Ausgabe sehen.
NRPE v4.1.0
Um die Hosts zu überwachen, müssen Sie Konfigurationsdateien für jeden Host erstellen, den Sie überwachen möchten. Diese Hosts werden dann über die Nagios-Weboberfläche zugänglich.
Erstellen Sie das Verzeichnis zum Speichern der Konfigurationsdateien und geben Sie ihm die entsprechenden Berechtigungen.
$ sudo mkdir /usr/local/nagios/etc/servers
$ sudo chown -R nagios:nagios /usr/local/nagios/etc/servers
$ sudo chmod g+w /usr/local/nagios/etc/servers
Öffnen Sie die Nagios-Konfigurationsdatei /usr/local/nagios/etc/nagios.cfg zur Bearbeitung.
$ sudo nano /usr/local/nagios/etc/nagios.cfg
Suchen Sie die folgende Datei und kommentieren Sie sie aus, indem Sie das # davor entfernen.
cfg_dir=/usr/local/nagios/etc/servers
Speichern Sie die Datei, indem Sie Ctrl + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.
Der nächste Schritt besteht darin, den Befehl check_nrpe in die Datei /usr/local/nagios/etc/objects/commands.cfg hinzuzufügen, damit er zur Überwachung von Hosts verwendet werden kann.
Öffnen Sie die Datei /usr/local/nagios/etc/objects/commands.cfg zur Bearbeitung.
$ sudo nano /usr/local/nagios/etc/objects/commands.cfg
Fügen Sie den folgenden Code am Ende der Datei ein.
define command {
command_name check_nrpe
command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -t 30 -c $ARG1$ $ARG2$
}
Speichern Sie die Datei, indem Sie Ctrl + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.
Erstellen Sie eine neue Konfigurationsdatei für den Remote-Host im Verzeichnis /usr/local/nagios/etc/servers/.
$ sudo nano /usr/local/nagios/etc/servers/yourhost.cfg
Fügen Sie den folgenden Code hinzu, indem Sie den Wert host_name durch Ihren Remote-Hostnamen, den Wert alias durch die Beschreibung Ihres Hosts und den Wert address durch die IP-Adresse Ihres Remote-Hosts ersetzen.
define host {
use linux-server
host_name monitored_server_host_name
alias Mein Client-Server
address monitored_server_private_ip
max_check_attempts 5
check_period 24x7
notification_interval 30
notification_period 24x7
}
Mit dieser Konfiguration wird Nagios Sie informieren, wenn der Host online oder offline ist. Sie müssen weitere Dienste hinzufügen, um zusätzliche Dinge zu überwachen.
Fügen Sie den folgenden Block hinzu, um die Verbindungsstatistiken für den Host zu überprüfen.
define service {
use generic-service
host_name monitored_server_host_name
service_description PING
check_command check_ping!200.0,20%!400.0,90%
}
Fügen Sie den folgenden Block hinzu, um die durchschnittliche Last Ihres Servers zu überwachen.
define service {
use generic-service
host_name monitored_server_host_name
service_description Durchschnittslast
check_command check_nrpe!check_load!-a '-w 0.7,0.6,0.5 -c 0.9,0.8,0.7'
}
Die Direktive use generic-service weist Nagios an, von einer Vorlage namens generic-service zu erben, die von Nagios vordefiniert ist.
Fügen Sie als Nächstes einen Block hinzu, um die Festplattennutzung zu überwachen. Ändern Sie den Befehl mit den entsprechenden Festplattensymbolen.
define service {
use generic-service
host_name monitored_server_host_name
service_description /dev/vda1 freier Speicherplatz
check_command check_nrpe!check_disk!-a '-w 20% -c 10% -p /dev/vda1'
}
Überwachen Sie SSH mit dem folgenden Block. Der folgende Block überprüft den SSH-Server und generiert eine Warnung, wenn der Server innerhalb von 5 Sekunden nicht reagiert.
define service {
use generic-service
host_name monitored_server_host_name
service_description SSH-Version überprüfen
check_command check_ssh!-t 5
}
Lassen Sie uns die Gesamtzahl der laufenden Prozesse überprüfen.
define service{
use generic-service
host_name monitored_server_host_name
service_description Gesamtprozesse
check_command check_nrpe!check_total_procs
}
Überprüfen Sie die aktuell angemeldeten Benutzer.
define service{
use generic-service
host_name monitored_server_host_name
service_description Aktuelle Benutzer
check_command check_nrpe!check_users!-a '-w 5 -c 10'
}
Überprüfen Sie die SWAP-Disknutzung.
define service{
use generic-service
host_name monitored_server_host_name
service_description SWAP-Nutzung
check_command check_nrpe!check_swap!-a '-w 40% -c 20%'
}
Überprüfen Sie die Root-Partition und deren Festplattennutzung.
define service{
use generic-service
host_name nagiosclient
service_description Root / Partition
check_command check_nrpe!check_disk!-a '-w 20% -c 10% -p /'
}
Überprüfen Sie, ob ein HTTP-Server installiert ist.
define service {
use generic-service
host_name nagiosclient
service_description HTTP
check_command check_http
}
Speichern Sie die Datei, indem Sie Ctrl + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.
Starten Sie Nagios neu.
$ sudo systemctl restart nagios
Überprüfen Sie die Überwachungen
Öffnen Sie Ihr Nagios-Dashboard und klicken Sie auf die Option Hosts in der linken Seitenleiste. Sie sollten den neu konfigurierten Host zusammen mit localhost auf der Seite sehen.

Klicken Sie auf den neu konfigurierten Host (nagiosclient), und wenn alles korrekt konfiguriert ist, sollten Sie seinen Status sehen. Es kann eine Minute oder länger dauern, bis der Status angezeigt wird.

Um die Dienste oder Überwachungen zu sehen, die wir konfiguriert haben, klicken Sie auf die Option Statusdetails für diesen Host anzeigen, und Sie sollten von der folgenden Seite begrüßt werden.

Dies sollte Ihnen eine gute Vorstellung davon geben, wie Ihre Hosts funktionieren.
Schritt 8 - Nginx installieren
Sie können Nagios entweder direkt über die Server-IP ausführen oder es auf Ihrem Domainnamen hosten. Nagios wird bereits mit Apache-Konfigurationsdateien geliefert, aber wir werden Nginx verwenden, um es auszuführen. Wir werden Nginx als Reverse-Proxy vor dem Apache-Webserver verwenden.
Apache läuft bereits auf Port 80. Daher müssen wir das zuerst ändern. Und dann können wir Nginx als Proxy ausführen.
Öffnen Sie die Datei /etc/httpd/conf/httpd.conf zur Bearbeitung.
$ sudo nano /etc/httpd/conf/httpd.conf
Ändern Sie die Zeile Listen 80 in Listen 8080. Speichern Sie die Datei, indem Sie Ctrl + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden. Da wir den Domainnamen verwenden werden, um auf Nagios zuzugreifen, müssen wir Port 8080 nicht für den öffentlichen Zugriff öffnen.
Starten Sie den Apache-Server neu.
$ sudo systemctl restart httpd
Als Nächstes installieren Sie Nginx.
Rocky Linux 9 wird mit einer älteren Version von Nginx ausgeliefert. Sie müssen das offizielle Nginx-Repository herunterladen, um die neueste Version zu installieren.
Erstellen und öffnen Sie die Datei /etc/yum.repos.d/nginx.repo, um das offizielle Nginx-Repository zu erstellen.
$ sudo nano /etc/yum.repos.d/nginx.repo
Fügen Sie den folgenden Code ein.
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
Speichern Sie die Datei, indem Sie Ctrl + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.
Installieren Sie den Nginx-Server.
$ sudo dnf install nginx
Überprüfen Sie die Installation.
$ nginx -v
nginx version: nginx/1.22.1
Aktivieren und starten Sie den Nginx-Server.
$ sudo systemctl enable nginx --now
Schritt 9 - SSL installieren und konfigurieren
Bevor Sie Nginx konfigurieren, richten wir ein SSL-Zertifikat für die Domain ein, die wir mit Nagios verwenden werden. In unserem Fall verwenden wir http://nagios.example.com.
Wir werden den Snapd-Paketinstaller dafür verwenden. Da Rocky Linux nicht mit ihm geliefert wird, installieren Sie den Snapd-Installer. Er benötigt das EPEL-Repository, um zu funktionieren, das wir bereits zuvor installiert haben, sodass wir das überspringen können.
Installieren Sie Snapd.
$ sudo dnf install -y snapd
Aktivieren und starten Sie den Snap-Dienst.
$ sudo systemctl enable snapd --now
Installieren Sie das Snap-Core-Paket und stellen Sie sicher, dass Ihre Version von Snapd auf dem neuesten Stand ist.
$ sudo snap install core && sudo snap refresh core
Erstellen Sie die erforderlichen Links, damit Snapd funktioniert.
$ sudo ln -s /var/lib/snapd/snap /snap
$ echo 'export PATH=$PATH:/var/lib/snapd/snap/bin' | sudo tee -a /etc/profile.d/snapd.sh
Führen Sie den folgenden Befehl aus, um Certbot zu installieren.
$ sudo snap install --classic certbot
Verwenden Sie den folgenden Befehl, um sicherzustellen, dass der Certbot-Befehl ausgeführt werden kann, indem Sie einen symbolischen Link zum Verzeichnis /usr/bin erstellen.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Überprüfen Sie die Installation.
$ certbot --version
certbot 2.3.0
Führen Sie den folgenden Befehl aus, um ein SSL-Zertifikat zu generieren.
$ sudo certbot certonly --nginx --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d nagios.example.com
Der obige Befehl lädt ein Zertifikat in das Verzeichnis /etc/letsencrypt/live/nagios.example.com auf Ihrem Server herunter.
Generieren Sie ein Diffie-Hellman-Gruppen-Zertifikat.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Führen Sie einen Testlauf des Prozesses durch, um zu überprüfen, ob die SSL-Erneuerung einwandfrei funktioniert.
$ sudo certbot renew --dry-run
Wenn Sie keine Fehler sehen, sind Sie bereit. Ihr Zertifikat wird automatisch erneuert.
Schritt 10 - Nginx konfigurieren
Bevor Sie Nginx konfigurieren, sollten wir eine weitere Änderung vornehmen. Standardmäßig bedient Apache Nagios über http://. Jetzt können wir einen Proxy direkt über Nagios einrichten, aber es wird über https://nagios.example.com/nagios bereitgestellt. Wir können eine Umleitung über Nginx zur Root-URL einrichten, was die Sache kompliziert. Aus diesem Grund werden wir eine Änderung bei Apache und Nagios direkt vornehmen.
Öffnen Sie zuerst die Datei /usr/local/nagios/etc/cgi.cfg zur Bearbeitung.
$ sudo nano /usr/local/nagios/etc/cgi.cfg
Ändern Sie url_html_path=/nagios in url_html_path=/.
Speichern Sie die Datei, indem Sie Ctrl + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.
Öffnen Sie als Nächstes /etc/httpd/conf.d/nagios.conf zur Bearbeitung.
$ sudo nano /etc/httpd/conf.d/nagios.conf
Ändern Sie ScriptAlias /nagios/cgi-bin "/usr/local/nagios/sbin" in ScriptAlias /cgi-bin "/usr/local/nagios/sbin".
Kommentieren Sie die Zeile Alias /nagios "/usr/local/nagios/share" aus, indem Sie sie wie folgt ändern.
#Alias /nagios "/usr/local/nagios/share"
Fügen Sie die folgende Zeile darunter hinzu.
DocumentRoot /usr/local/nagios/share
Fügen Sie die folgende Zeile an den Anfang der Datei hinzu.
Fügen Sie die folgende Zeile am Ende der Datei hinzu.
Sobald Sie fertig sind, speichern Sie die Datei, indem Sie Ctrl + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.
Und schließlich öffnen Sie die Datei /usr/local/nagios/share/config.inc.php zur Bearbeitung.
$ sudo nano /usr/local/nagios/share/config.inc.php
Ändern Sie $cfg['cgi_base_url']='/nagios/cgi-bin'; in $cfg['cgi_base_url']='/cgi-bin';.
Speichern Sie die Datei, indem Sie Ctrl + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.
Starten Sie sowohl Apache als auch Nagios neu.
$ sudo systemctl restart httpd
$ sudo systemctl restart nagios
Um zu bestätigen, dass alles korrekt funktioniert, öffnen Sie die URL http:// in Ihrem Browser, und Sie sollten sehen, dass Nagios ordnungsgemäß funktioniert. Stellen Sie außerdem sicher, dass die Hostdaten empfangen werden.
Sobald alles funktioniert, können wir fortfahren, unsere Konfigurationsdatei für Nginx zu erstellen.
Erstellen Sie eine Konfigurationsdatei für Nagios im Verzeichnis /etc/nginx/conf.d.
$ sudo nano /etc/nginx/conf.d/nagios.conf
Fügen Sie den folgenden Code ein.
server {
listen 80; listen [::]:80;
server_name nagios.example.com;
return 301 https://$host$request_uri;
}
server {
server_name nagios.example.com;
listen 443 ssl http2;
listen [::]:443 ssl http2;
access_log /var/log/nginx/nagios.access.log;
error_log /var/log/nginx/nagios.error.log;
ssl_certificate /etc/letsencrypt/live/nagios.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/nagios.example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/nagios.example.com/chain.pem;
ssl_session_timeout 1d;
ssl_session_cache shared:MozSSL:10m;
ssl_session_tickets off;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
ssl_stapling on;
ssl_stapling_verify on;
ssl_dhparam /etc/ssl/certs/dhparam.pem;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
Sobald Sie fertig sind, speichern Sie die Datei, indem Sie Ctrl + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.
Validieren Sie die Konfigurationsdatei.
$ sudo nginx -t
Wenn Sie den folgenden Fehler erhalten, müssen Sie die Datei /etc/nginx/nginx.conf bearbeiten, um die Größe der Variablen server_names_hash_bucket_size zu erhöhen/anzupassen.
nginx: [emerg] konnte den server_names_hash nicht erstellen, Sie sollten server_names_hash_bucket_size erhöhen
Öffnen Sie die Datei /etc/nginx/nginx.conf zur Bearbeitung.
$ sudo nano /etc/nginx/nginx.conf
Fügen Sie die folgende Zeile hinzu, bevor Sie
server_names_hash_bucket_size 64;
Sobald Sie fertig sind, speichern Sie die Datei, indem Sie Ctrl + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden. Validieren Sie Nginx erneut.
Wenn Sie keine Probleme sehen, starten Sie den Nginx-Server neu.
$ sudo systemctl restart nginx
SELinux konfigurieren
Wenn Sie SELinux aktiviert haben, führen Sie den folgenden Befehl aus, um Nginx zu erlauben, eine Verbindung zum Netzwerk herzustellen.
$ sudo setsebool -P httpd_can_network_connect on
Öffnen Sie die Domain https://nagios.example.com in Ihrem Browser, und Sie sollten mit der Nagios-Homepage begrüßt werden.
Fazit
Sie haben Nagios auf einem Rocky Linux 9-Server installiert und konfiguriert, um mehrere Dienste wie die Last, die Festplatten-/Swap-Nutzung, Benutzer, Gesamtprozesse, HTTP und SSH zu überwachen. Dies schließt unser Tutorial ab. Um mehr zu erfahren, sollten Sie die offizielle Nagios-Dokumentation überprüfen, die die Überwachung und verschiedene Befehle im Detail behandelt.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.