© Liashko/Shutterstock.com
Entwickler Magazin
Servermonitoring mit Nagios: Build und Konfiguration in Ubuntu

Probleme erkennen, bevor sie entstehen

Um die Verfügbarkeit komplexer IT-Infrastrukturen zu gewährleisten, müssen diese automatisiert überwacht werden. Hierfür gibt es diverse Monitoringsoftware auf dem Markt, eine davon ist Nagios [1]. Nagios vereint eine Sammlung von Modulen, die zur Überwachung, beispielsweise von Netzwerken, Hosts und Diensten, genutzt werden kann. Nagios selbst ist als Software frei verfügbar und steht unter der GNU GPL. Es steht als fertige Binary für diverse Linux-Distributionen zur Verfügung, ebenso besteht die Möglichkeit, den Quellcode von der Website zu beziehen und die Binary selbst zu kompilieren. Dieses Vorgehen möchte ich im folgenden Artikel demonstrieren und eine Anleitung geben, wie Nagios kompiliert und für den ersten Betrieb konfiguriert werden kann. Bevor ich damit startete, gibt es einen kleinen Exkurs zum Aufbau von Nagios, zu den Grundbegriffen und zum Verwendungszweck.

René Schröder


Nagios zeichnet sich dadurch aus, dass es auf einer objektorientierten Konfiguration aufbaut, die sich wie folgt unterteilt:

HostsServicesKommandosKontakte

Hosts werden üblicherweise über eine IP-Adresse definiert und angesprochen. Hierbei kann es sich um einen physischen Server, aber auch um einen anderen beliebigen Endpoint handeln, der Services bereitstellt, die es zu überwachen gilt. Services können Dienste oder Eigenschaften sein, die für den Betrieb der IT-Infrastruktur von Bedeutung sind. Das heißt, ein Ausfall oder eine Unregelmäßigkeit dieser Services muss zeitnah signalisiert werden. Oft überwachte Dienste sind z. B. HTTP-Server, Mail- oder Datenbankserver. Nicht nur Dienste können überwacht werden, häufig empfiehlt es sich auch, z. B. den freien Speicherplatz eines Hosts zu überwachen. So können Fehler verhindert werden, die auftreten können, wenn kein Speicherplatz mehr zur Verfügung steht, weil beispielsweise eine Datenbank erhaltene Daten dauerhaft persistieren muss. Die Kommandoobjekte führen die eigentliche Überwachung der Services in definierten Zeitabständen durch und melden, wenn eine nicht erwartete Reaktion der Services auftritt. Gemeldet werden diese Unregelmäßigkeiten oder Ausfälle an Kontaktobjekte. Das können E-Mails sein, SMS oder ein anderer Kommunikationskanal.

Softwarekomponenten

Im Anschluss an diese Einführung werde ich aufzeigen, wie ein Nagios-Server aufzusetzen ist. Hierfür benötigt man ein Linux-Derivat, in unserem Fall Ubuntu, den GCC-Compiler und abhängige Komponenten. Zur Auslieferung und Steuerung des Nagios-Servers verwende ich einen Apache-HTTP-Server inklusive PHP-Modul. Mit diesen Komponenten ist der Nagios Core lauffähig, kann allerdings noch keine Hosts oder Services überwachen. Die eigentliche Überwachungsfunktionalität ist in Modulen, den Nagios-Plug-ins, ausgelagert. Diese Plug-ins führen die eigentlichen Überwachungsanfragen aus, z. B. HTTP-Abfragen, um die Erreichbarkeit einer Website zu überwachen.

Überwachungsmethoden

Nagios bietet dank der Plug-ins mehrere Möglichkeiten der Überwachung an, u. a. Überwachung auf Protokollebene, Überwachung interner Eigenschaften und passive Überwachung. Die Überwachungen auf Protokollebene ermöglichen es, unterschiedlichste Netzwerkgeräte zu überwachen, unabhängig davon, welches Betriebssystem sich auf ihnen befindet. Die Überwachung interner Eigenschaften, die nicht an eine Netzwerkschnittstelle propagiert werden, gestalten sich je nach (Betriebs-)System unterschiedlich sch...

Entwickler Magazin
Servermonitoring mit Nagios: Build und Konfiguration in Ubuntu

Probleme erkennen, bevor sie entstehen

Um die Verfügbarkeit komplexer IT-Infrastrukturen zu gewährleisten, müssen diese automatisiert überwacht werden. Hierfür gibt es diverse Monitoringsoftware auf dem Markt, eine davon ist Nagios [1]. Nagios vereint eine Sammlung von Modulen, die zur Überwachung, beispielsweise von Netzwerken, Hosts und Diensten, genutzt werden kann. Nagios selbst ist als Software frei verfügbar und steht unter der GNU GPL. Es steht als fertige Binary für diverse Linux-Distributionen zur Verfügung, ebenso besteht die Möglichkeit, den Quellcode von der Website zu beziehen und die Binary selbst zu kompilieren. Dieses Vorgehen möchte ich im folgenden Artikel demonstrieren und eine Anleitung geben, wie Nagios kompiliert und für den ersten Betrieb konfiguriert werden kann. Bevor ich damit startete, gibt es einen kleinen Exkurs zum Aufbau von Nagios, zu den Grundbegriffen und zum Verwendungszweck.

René Schröder


Nagios zeichnet sich dadurch aus, dass es auf einer objektorientierten Konfiguration aufbaut, die sich wie folgt unterteilt:

HostsServicesKommandosKontakte

Hosts werden üblicherweise über eine IP-Adresse definiert und angesprochen. Hierbei kann es sich um einen physischen Server, aber auch um einen anderen beliebigen Endpoint handeln, der Services bereitstellt, die es zu überwachen gilt. Services können Dienste oder Eigenschaften sein, die für den Betrieb der IT-Infrastruktur von Bedeutung sind. Das heißt, ein Ausfall oder eine Unregelmäßigkeit dieser Services muss zeitnah signalisiert werden. Oft überwachte Dienste sind z. B. HTTP-Server, Mail- oder Datenbankserver. Nicht nur Dienste können überwacht werden, häufig empfiehlt es sich auch, z. B. den freien Speicherplatz eines Hosts zu überwachen. So können Fehler verhindert werden, die auftreten können, wenn kein Speicherplatz mehr zur Verfügung steht, weil beispielsweise eine Datenbank erhaltene Daten dauerhaft persistieren muss. Die Kommandoobjekte führen die eigentliche Überwachung der Services in definierten Zeitabständen durch und melden, wenn eine nicht erwartete Reaktion der Services auftritt. Gemeldet werden diese Unregelmäßigkeiten oder Ausfälle an Kontaktobjekte. Das können E-Mails sein, SMS oder ein anderer Kommunikationskanal.

Softwarekomponenten

Im Anschluss an diese Einführung werde ich aufzeigen, wie ein Nagios-Server aufzusetzen ist. Hierfür benötigt man ein Linux-Derivat, in unserem Fall Ubuntu, den GCC-Compiler und abhängige Komponenten. Zur Auslieferung und Steuerung des Nagios-Servers verwende ich einen Apache-HTTP-Server inklusive PHP-Modul. Mit diesen Komponenten ist der Nagios Core lauffähig, kann allerdings noch keine Hosts oder Services überwachen. Die eigentliche Überwachungsfunktionalität ist in Modulen, den Nagios-Plug-ins, ausgelagert. Diese Plug-ins führen die eigentlichen Überwachungsanfragen aus, z. B. HTTP-Abfragen, um die Erreichbarkeit einer Website zu überwachen.

Überwachungsmethoden

Nagios bietet dank der Plug-ins mehrere Möglichkeiten der Überwachung an, u. a. Überwachung auf Protokollebene, Überwachung interner Eigenschaften und passive Überwachung. Die Überwachungen auf Protokollebene ermöglichen es, unterschiedlichste Netzwerkgeräte zu überwachen, unabhängig davon, welches Betriebssystem sich auf ihnen befindet. Die Überwachung interner Eigenschaften, die nicht an eine Netzwerkschnittstelle propagiert werden, gestalten sich je nach (Betriebs-)System unterschiedlich sch...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang