Nagios Plugins: Die elementaren Module der beliebten IT-Monitoring-Software

Über die vielfältigen Möglichkeiten der leistungsstarken IT-Monitoring-Anwendung Nagios lesen Sie in unserem "Nagios: Der Standard zur effektiven Überwachung der IT-Infrastruktur". Dort sind bereits die offiziellen Plug-ins angesprochen, ohne die die Überwachung von Netzwerk und Co. mit Nagios gar nicht funktionieren würde. Aber welche Bedeutung haben dieses spezielle Plug-in-Paket und die diversen anderen Erweiterungen von Drittanbietern eigentlich genau und wie installiert man sie?

Was sind Nagios Plugins eigentlich überhaupt?

Anders als viele andere Monitoring-Programme besitzt Nagios keinerlei eigene Mechanismen, um den Status von Systemen und Netzwerkdiensten zu überprüfen. Diese Aufgabe überlässt es externen Anwendungen, den Nagios Plugins. Bei den Erweiterungen, die man auch als Module bezeichnet, handelt es sich entweder um bereits kompilierte Dateien, die beispielsweise in C oder C++ geschrieben sind, oder um ausführbare Skripte (Perl, PHP etc.). Sie enthalten Kommandozeilenargumente, die den jeweiligen Check in die Wege leiten und die Ergebnisse an die Überwachungssoftware weiterleiten. Die Ausführung übernimmt Nagios wiederum selbst, wenn der Status des entsprechenden Dienstes bzw. Hosts kontrolliert werden soll.

Die Plug-ins agieren folglich als Abstraktionsschicht zwischen der Monitoring-Logik, die im Nagios-Interface in visualisierter Form präsentiert wird, und den eigentlichen Diensten und Hosts, die überwacht werden. Der Vorteil dieser Architektur ist, dass sie Nagios dazu befähigt, alles zu überwachen, für das sich ein automatischer Überprüfungsprozess programmieren lässt. Allerdings versteht das Monitoring-Tool selbst weder, welche Eigenschaften der Netzwerkkomponenten es inspiziert, noch, wie die einzelnen Checks ausgeführt werden – was auch der Grund dafür ist, dass Nagios ohne Plugins nicht funktioniert.

Welche Arten von Nagios Plugins gibt es?

Die Freiheiten bei der Programmierung eines Nagios Plugins haben dafür gesorgt, dass Erweiterungen für die verschiedensten Geräte, Programme, Systemprozesse, Protokolle und sonstige Dienste entwickelt worden sind (und auch weiterhin werden). So gibt es u. a. Plugins für:

  • HTTP, POP3, IMAP, FTP, SSH, DHCP
  • CPU-Auslastung, Festplatten- und Arbeitsspeichernutzung, aktive Nutzer
  • Betriebssysteme wie Windows, Linux-/Unix-Distributionen
  • Router, Switches
  • Log-Files

Prinzipiell gilt es, die bereits erwähnten offiziellen Nagios-Plug-ins von den tausenden Erweiterungen, die von Mitgliedern der Nagios-Community entwickelt wurden, zu unterscheiden. Das offizielle Paket umfasst rund 50 Standard-Plug-ins, die eine Vielzahl der wichtigsten Netzwerk-Checks abdecken, sowie verschiedene Bibliotheken, die für viele der Drittanbieter-Module von essenzieller Bedeutung sind. Die Sammlung wird vom Hersteller gepflegt, sodass alle Erweiterungen stets auf dem neuesten Stand sind. Community-Plug-ins werden hingegen nicht immer weiterentwickelt und sind somit in einigen Fällen nicht mit der aktuellen Nagios-Core-Version bzw. den überprüften Netzwerkkomponenten kompatibel.

Bevor Sie sich im Nagios-Exchange-Verzeichnis auf die Suche nach spezifischen Plugins begeben, sollten Sie also zunächst das offizielle Plugin-Paket auf der Herstellerseite herunterladen. Verfügen Sie über das notwendige Know-how, haben Sie außerdem die Möglichkeit, eigene Nagios-Plug-ins zu programmieren. Was Sie dabei beachten müssen, erfahren Sie in den Nagios Plugin Development Guidelines.

Wie Sie Nagios Plugins installieren und konfigurieren

Haben Sie sich für ein Nagios-Plug-in entschieden und den Download abgeschlossen, müssen Sie es installieren und einrichten. Im Folgenden zeigen wir Ihnen die wichtigsten Schritte des Installations- und Konfigurationsprozesses beispielhaft unter Ubuntu.

1. Rufen Sie Ihr Downloadverzeichnis auf und entpacken die heruntergeladene Datei. Für das offizielle Plug-in-Paket sehen die entsprechenden Kommandozeilenbefehle in etwa so aus:

cd ~/download
tar xzf nagios-plugins-2.1.2.tar.gz

2. Wechseln Sie anschließend in den entpackten Ordner:

cd nagios-plugins-2.1.2

3. Hier geht es nun darum, die Plug-ins zu kompilieren und zu installieren. Das leiten Sie mit diesen Zeilen in die Wege:

./configure --with-nagios-user=nagios --with-nagios-group=Nagios
make
make install

4. Öffnen Sie nun das Nagios-XI-Webinterface und wechseln Sie in den Administratorenbereich. In der linken Menüleiste finden Sie unter „System Extensions“ den Unterpunkt „Manage Plugins“, über den Sie die soeben installierten Erweiterungen mit der Nagios-Software verknüpfen können. Klicken Sie auf die Schaltfläche „Browse“ und wählen Sie das gewünschte Nagios-Plug-in aus. Via „Upload Plugin“ implementieren Sie dieses und sehen es fortan auch in der Liste verfügbarer Module.

5. Es kann sehr nützlich sein, zu testen, ob die implementierten Plug-ins auch tatsächlich funktionieren, und die gewünschten Checks durchzuführen. Dazu müssen Sie die Monitoring-Software nicht einmal starten, da die Erweiterungen über die Kommandozeile ausführbar sind. Sie rufen also einfach das Plug-in-Verzeichnis auf, für gewöhnlich /usr/local/nagios/libexec, und testen die aufgeführten Module mit geeigneten Befehlen. Um das jeweilige Plug-in bzw. die möglichen Parameter kennenzulernen, empfiehlt sich z. B. der Aufruf des Hilfemenüs (-h).

cd /usr/local/nagios/libexec
./name_des_plugins -h 

6. Nach dem Upload des Plug-ins können Sie mithilfe des Wissens um die möglichen Befehlszeilenargumente Anweisungen für die Nagios-Software definieren. Navigieren Sie dazu zum Menüpunkt „Configure“ und wählen Sie die Optionen „Core Config Manager“ und „Commands“. Klicken Sie anschließend auf „Add New“. Es öffnet sich die Eingabemaske für eine neue Nagios-Anweisung, die folgendermaßen spezifiziert wird:

  • Command Name: Definieren Sie hier einen Namen für die Anweisung, der möglichst aussagekräftig sein sollte, z. B. der Name des jeweiligen Nagios-Plug-ins.
  • Command Line: Hier geben Sie das Plug-in und den jeweiligen Kommandozeilenbefehl an. Das Makro $USER1$ fungiert dabei als Platzhalter für das Plug-in-Verzeichnis, $ARG1$ als mögliches Kommandozeilenargument.
  • Command Type: Wählen Sie „check command“, falls das Plug-in einen Host oder einen Dienst überprüfen soll bzw. „misc command“, wenn ein Ereignis überwacht werden soll. Sind Sie sich unsicher, um welchen Typ es sich bei der getesteten Komponente handelt, wählen Sie die Option „unclassified“.
  • Active: Bei gesetztem Häkchen ist die Nagios-Anweisung aktiviert.
  • Available Plugins: In diesem Drop-down-Menü erhalten Sie eine Übersicht über die verfügbaren Plug-ins.

Speichern Sie Ihr Nagios-Command mit „Save“ und bestätigen Sie es anschließend im Übersichtsmenü durch einen Klick auf die Schaltfläche „Apply Configuration“. Die Erweiterung ist damit inklusive einer passenden Nagios-Anweisung verfügbar und kann nun für entsprechende Monitoring-Aufgaben eingesetzt werden, indem Sie Hosts, Dienste oder Ereignisse erstellen und dem Plug-in bzw. dem Command zuweisen.

Eigene Nagios Plugins schreiben

Falls Sie ihr eigenes Nagios Plugin schreiben möchten, dann sollten Sie sich das nachfolgende englischsprachige Video von Janice Singh ansehen, in dem Sie unter dem Titel „Writing Custom Nagios Plugins“ beispielhaft erklärt, wie man in Perl ein eigenes Plugin schreibt und was es dabei generell zu beachten gibt.

Zur Anzeige dieses Videos sind Cookies von Drittanbietern erforderlich. Ihre Cookie-Einstellungen können Sie hier aufrufen und ändern.