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.
Passende Infrastruktur bei centron
Zum Ausprobieren braucht es keine eigene Hardware: ccloud³ VMs mit vollem Root-Zugriff gibt es ab 3,12 € im Monat, stundengenau abgerechnet und in Sekunden bereit. Cloud Server mieten →
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 updateSchritt 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-utilsDieser Befehl installiert Apache, PHP und verschiedene Entwicklungsbibliotheken, die Nagios benötigt.
Schritt 3: Arbeitsverzeichnis vorbereiten
Wechsle in dein Home-Verzeichnis:
$ cdErstelle ein temporäres Verzeichnis für Nagios-Dateien:
$ mkdir nagios-tempWechsle in dieses Verzeichnis:
$ cd nagios-tempSchritt 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.gzSchritt 5: Archiv entpacken
Entpacke das heruntergeladene Archiv:
$ tar xzf nagios-4.5.8.tar.gzSchritt 6: Entpackung überprüfen
Stelle sicher, dass das Archiv korrekt entpackt wurde:
$ lsErwartete 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.8Schritt 8: Konfigurationsskript ausführen
Führe das Konfigurationsskript aus, um die Apache-Einbindung vorzubereiten:
$ sudo ./configure --with-httpd-conf=/etc/apache2/sites-enabledSchritt 9: Kompilieren
Kompiliere die Nagios Core-Komponenten:
$ sudo make allNagios 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:
$ pwdErwartete 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-usersFüge den Apache-Benutzer zur Nagios-Gruppe hinzu:
$ sudo usermod -a -G nagios www-dataSchritt 12: Nagios-Komponenten installieren
Installiere die zentralen Komponenten von Nagios:
$ sudo make installInstalliere den Systemdienst:
$ sudo make install-daemoninitAktiviere den Befehlsmodus:
$ sudo make install-commandmodeInstalliere Standardkonfigurationen:
$ sudo make install-configRichte die Weboberfläche ein:
$ sudo make install-webconfSchritt 13: Apache-Module aktivieren
Aktiviere das Rewrite-Modul:
$ sudo a2enmod rewriteAktiviere CGI-Unterstützung:
$ sudo a2enmod cgiSchritt 14: Benutzerzugang einrichten
Lege einen Webnutzer nagiosadmin mit sicherem Passwort an:
$ sudo htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadminNagios 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:
$ cdLade 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.gzEntpacke das heruntergeladene Archiv:
$ tar xzf nagios-plugins-2.4.12.tar.gzListe die Inhalte des Verzeichnisses auf:
$ lsErwartete 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.12Starte das Konfigurationsskript zur Erkennung der Systemumgebung:
$ sudo ./configureKompiliere die Plugins:
$ sudo makeInstalliere die kompilierten Plugins auf dem System:
$ sudo make installSchritt 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.cfgBeispielausgabe:
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 nagiosAktiviere den Dienst, damit er beim Systemstart automatisch ausgeführt wird:
$ sudo systemctl enable nagiosStarte den Apache-Webserver neu, um alle Änderungen zu übernehmen:
$ sudo systemctl restart apache2Zugriff 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 statusFalls 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/tcpWende die Änderungen an, indem du die Firewall neu lädst:
$ sudo ufw reloadRufe 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@remotehostInstalliere 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.cfgErgänze die IP-Adresse des Nagios-Servers in der allowed_hosts-Zeile:
allowed_hosts=127.0.0.1,nagios_server_ipFü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-serverStarte den Dienst neu, um Änderungen zu übernehmen:
$ sudo systemctl restart nagios-nrpe-serverSchritt 20: Remote-Host im Nagios-Server registrieren
Erstelle ein Verzeichnis für Konfigurationsdateien externer Hosts:
$ sudo mkdir -p /usr/local/nagios/etc/serversErstelle eine neue Konfigurationsdatei:
$ sudo nano /usr/local/nagios/etc/servers/remote-host.cfgFü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.cfgFüge diese Zeile hinzu, um die Konfigurationsdatei einzubinden:
cfg_file=/usr/local/nagios/etc/servers/remote-host.cfgSchritt 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.cfgBeispielausgabe:
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 nagiosRufe 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.
Testen Sie Ihr Setup auf ccloud³
Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.