Nagios unter Debian 12 installieren und einrichten
Mit der Installation von Nagios auf Debian 12 erhältst du Zugriff auf ein leistungsfähiges Open-Source-Tool zur Überwachung von Netzwerkinfrastrukturen, Diensten und Applikationen. Nagios verwendet ein Server-Agent-Modell, bei dem der NRPE-Agent (Nagios Remote Plugin Executor) mit entfernten Systemen kommuniziert, um Systemressourcen, Geräte und Softwarestatus zu analysieren. Regelmäßige Prüfungen liefern Statuswerte zurück, die über ein webbasiertes Interface grafisch dargestellt werden.
Diese Anleitung beschreibt Schritt für Schritt, wie du Nagios unter Debian 12 installierst und für die Überwachung eines entfernten Hosts konfigurierst.
Systemanforderungen
Bevor du beginnst, stelle sicher, dass du folgendes bereit hast:
- Zwei Debian 12 Systeme – eines als Nagios-Server und eines als zu überwachender Remote-Host.
Nagios Core kompilieren und installieren
Da Nagios nicht in den Standard-Repositories von Debian 12 enthalten ist, muss es manuell aus dem Quellcode kompiliert und installiert werden.
Schritt 1: Paketquellen aktualisieren
Aktualisiere zunächst die Paketlisten deines Systems:
$ sudo apt update
Schritt 2: Benötigte Abhängigkeiten installieren
Installiere alle Pakete, die Nagios für die Ausführung und Kompilierung benötigt:
$ sudo apt install -y apache2 php libapache2-mod-php php-gd php-mysql build-essential libgd-dev unzip libssl-dev wget curl autoconf gcc libc6 make apache2-utils
Dieser Befehl installiert Apache, PHP und verschiedene Entwicklungsbibliotheken, die Nagios benötigt.
Schritt 3: Arbeitsverzeichnis vorbereiten
Wechsle in dein Home-Verzeichnis:
$ cd
Erstelle ein temporäres Verzeichnis für Nagios-Dateien:
$ mkdir nagios-temp
Wechsle in dieses Verzeichnis:
$ cd nagios-temp
Schritt 4: Nagios-Quellcode herunterladen
Lade die aktuelle Version von Nagios Core (z. B. 4.5.8) herunter:
$ wget https://github.com/NagiosEnterprises/nagioscore/releases/download/nagios-4.5.8/nagios-4.5.8.tar.gz
Schritt 5: Archiv entpacken
Entpacke das heruntergeladene Archiv:
$ tar xzf nagios-4.5.8.tar.gz
Schritt 6: Entpackung überprüfen
Stelle sicher, dass das Archiv korrekt entpackt wurde:
$ ls
Erwartete Ausgabe:
nagios-4.5.8 nagios-4.5.8.tar.gz
Schritt 7: Verzeichnis wechseln
Wechsle in das entpackte Nagios-Verzeichnis:
$ cd nagios-4.5.8
Schritt 8: Konfigurationsskript ausführen
Führe das Konfigurationsskript aus, um die Apache-Einbindung vorzubereiten:
$ sudo ./configure --with-httpd-conf=/etc/apache2/sites-enabled
Schritt 9: Kompilieren
Kompiliere die Nagios Core-Komponenten:
$ sudo make all
Nagios unter Debian 12 installieren
Führe die folgenden Schritte aus, um Nagios zu installieren und die benötigten Apache-Module für den Webzugriff zu aktivieren.
Schritt 10: Arbeitsverzeichnis prüfen
Vergewissere dich, dass du dich im richtigen Quellverzeichnis befindest:
$ pwd
Erwartete Ausgabe:
/home/linuxuser/nagios-4.5.8
Schritt 11: Nagios-Benutzer und Gruppenrechte einrichten
Erstelle Benutzer- und Gruppenzuweisungen für Nagios:
$ sudo make install-groups-users
Füge den Apache-Benutzer zur Nagios-Gruppe hinzu:
$ sudo usermod -a -G nagios www-data
Schritt 12: Nagios-Komponenten installieren
Installiere die zentralen Komponenten von Nagios:
$ sudo make install
Installiere den Systemdienst:
$ sudo make install-daemoninit
Aktiviere den Befehlsmodus:
$ sudo make install-commandmode
Installiere Standardkonfigurationen:
$ sudo make install-config
Richte die Weboberfläche ein:
$ sudo make install-webconf
Schritt 13: Apache-Module aktivieren
Aktiviere das Rewrite-Modul:
$ sudo a2enmod rewrite
Aktiviere CGI-Unterstützung:
$ sudo a2enmod cgi
Schritt 14: Benutzerzugang einrichten
Lege einen Webnutzer nagiosadmin
mit sicherem Passwort an:
$ sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
Nagios Plugins installieren
Die Plugins von Nagios bestehen aus zahlreichen Prüfskripten, die kontinuierlich den Zustand des Systems überwachen und ihre Ergebnisse an die Nagios Core-Engine übermitteln. Sie erfassen wichtige Informationen wie CPU-Auslastung, Festplattenaktivitäten und Netzwerkverbindungen.
Schritt 15: Plugins herunterladen und kompilieren
Wechsle zurück in dein Home-Verzeichnis:
$ cd
Lade die aktuelle Version der Nagios Plugins herunter (Beispiel: Version 2.4.12):
$ wget https://github.com/nagios-plugins/nagios-plugins/releases/download/release-2.4.12/nagios-plugins-2.4.12.tar.gz
Entpacke das heruntergeladene Archiv:
$ tar xzf nagios-plugins-2.4.12.tar.gz
Liste die Inhalte des Verzeichnisses auf:
$ ls
Erwartete Ausgabe:
nagios-4.5.8 nagios-4.5.8.tar.gz nagios-plugins-2.4.12 nagios-plugins-2.4.12.tar.gz
Wechsle in das Plugin-Verzeichnis:
$ cd nagios-plugins-2.4.12
Starte das Konfigurationsskript zur Erkennung der Systemumgebung:
$ sudo ./configure
Kompiliere die Plugins:
$ sudo make
Installiere die kompilierten Plugins auf dem System:
$ sudo make install
Schritt 16: Nagios-Konfiguration überprüfen
Führe eine Syntaxprüfung der Konfiguration durch, um eventuelle Fehler oder Warnungen zu erkennen:
$ sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Beispielausgabe:
Nagios Core 4.5.8 Copyright (c) 2009-present Nagios Core Development Team and Community Contributors Copyright (c) 1999-2009 Ethan Galstad Last Modified: 2024-11-19 License: GPL .................... Total Warnings: 0 Total Errors: 0 Things look okay - No serious problems were detected during the pre-flight check
Schritt 17: Nagios-Dienst starten und aktivieren
Starte den Nagios-Dienst manuell:
$ sudo systemctl start nagios
Aktiviere den Dienst, damit er beim Systemstart automatisch ausgeführt wird:
$ sudo systemctl enable nagios
Starte den Apache-Webserver neu, um alle Änderungen zu übernehmen:
$ sudo systemctl restart apache2
Zugriff auf das Nagios-Webinterface
Standardmäßig lauscht Nagios auf Port 80 (HTTP) und stellt über ein webbasiertes Dashboard Echtzeitinformationen über Hosts, Dienste und Systemzustände bereit. Mit den folgenden Schritten aktivierst du den Zugriff über Port 80 und erreichst das Webinterface.
Schritt 18: Firewallstatus prüfen
Überprüfe, ob die UFW-Firewall aktiv ist:
$ sudo ufw status
Falls sie deaktiviert ist, aktiviere sie und erlaube SSH-Zugriffe:
$ sudo ufw allow ssh && sudo ufw enable
Öffne Port 80 für HTTP-Zugriffe:
$ sudo ufw allow 80/tcp
Wende die Änderungen an, indem du die Firewall neu lädst:
$ sudo ufw reload
Rufe das Nagios-Webinterface in deinem Browser über folgende Adresse auf:
http://SERVER-IP/nagios
Logge dich mit den vorher vergebenen Zugangsdaten ein:
- Benutzer: nagiosadmin
- Passwort: dein zuvor festgelegtes Passwort
Nach dem Login findest du im Menü den Bereich „Hosts“, in dem alle überwachten Systeme aufgelistet sind.
Remote-Host-Überwachung einrichten
Mit Hilfe des NRPE-Agents kann Nagios Leistungsdaten von entfernten Hosts erfassen. Der Agent führt vordefinierte Prüfkommandos aus, etwa zur Festplattenauslastung oder CPU-Nutzung. Hier erfährst du, wie du den Agent auf einem Debian-Client installierst und in Nagios einbindest.
Schritt 19: Remote-System vorbereiten
Verbinde dich via SSH mit dem entfernten Server:
$ ssh user@remotehost
Installiere NRPE und die benötigten Plugins:
$ sudo apt install -y nagios-nrpe-server nagios-plugins
Öffne die Konfigurationsdatei des NRPE-Dienstes:
$ sudo nano /etc/nagios/nrpe.cfg
Ergänze die IP-Adresse des Nagios-Servers in der allowed_hosts
-Zeile:
allowed_hosts=127.0.0.1,nagios_server_ip
Füge dann diesen Prüf-Befehl zur Überwachung der Root-Partition hinzu:
command[check_disk]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /
Aktiviere den NRPE-Dienst für den Autostart:
$ sudo systemctl enable nagios-nrpe-server
Starte den Dienst neu, um Änderungen zu übernehmen:
$ sudo systemctl restart nagios-nrpe-server
Schritt 20: Remote-Host im Nagios-Server registrieren
Erstelle ein Verzeichnis für Konfigurationsdateien externer Hosts:
$ sudo mkdir -p /usr/local/nagios/etc/servers
Erstelle eine neue Konfigurationsdatei:
$ sudo nano /usr/local/nagios/etc/servers/remote-host.cfg
Füge folgende Definition für den Remote-Host hinzu (IP und Name anpassen):
define host {
use linux-server
host_name centron
alias Remote Server
address
max_check_attempts 5
check_period 24x7
notification_interval 30
notification_period 24x7
}
Öffne die zentrale Konfigurationsdatei von Nagios:
$ sudo nano /usr/local/nagios/etc/nagios.cfg
Füge diese Zeile hinzu, um die Konfigurationsdatei einzubinden:
cfg_file=/usr/local/nagios/etc/servers/remote-host.cfg
Schritt 21: Konfiguration prüfen und Nagios neustarten
Führe einen Konfigurationstest durch, um mögliche Fehler auszuschließen:
$ sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Beispielausgabe:
Checking for circular paths... Checked 2 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
Starte den Nagios-Dienst neu, damit die Konfiguration aktiv wird:
$ sudo systemctl restart nagios
Rufe erneut http://SERVER-IP/nagios
im Browser auf, um den neu hinzugefügten Remote-Host unter „Hosts“ einzusehen.
Fazit
Du hast nun erfolgreich Nagios auf Debian 12 installiert und für die Überwachung eines entfernten Systems eingerichtet. Nagios analysiert fortlaufend Zustände, liefert Statuswerte und präsentiert diese übersichtlich im Webinterface. Weitere Optionen zur Anpassung findest du in der offiziellen Nagios-Dokumentation.