Fachartikel

Einführung in das Monitoring mit Nagios (1)

Wer sich mit der Überwachung der IT beschäftigt, kommt an Nagios nicht vorbei. Als eines der erfolgreichsten Open-Source-Projekte überhaupt, bietet der Platzhirsch kostenfreies IT-Monitoring auf dem Niveau der besten kommerziellen Werkzeuge und ein umfangreiches Ökosystem an Erweiterungen und Zusatztools. Gleichzeitig aber schreckt Nagios viele Administratoren durch seinen hohen Konfigurationsaufwand ab. Dieser Beitrag wirft einen ersten Blick hinter die Kulissen des prominenten Monitoring-Tools.
Nagios zeigt sich auch als Platzhirsch beim Thema Monitoring fast ohne Starallüren.
Nagios [1] ist das bekannteste und am weitesten verbreitete Open-Source-Monitoring-Tool. Längst dient es nicht mehr nur der Überwachung von Netzwerkinfrastrukturen und Servern, sondern auch von Web-Applikationen, SAP, Virtualisierung, RZ-Infrastruktur und natürlich Datenbanken. Dank seiner flexiblen Erweiterbarkeit durch die sogenannten Plug-ins sind Nagios eigentlich keine Grenzen gesetzt.

Nagios ist nicht gleich Nagios
Nagios allein ist lediglich ein Scheduler, der mit Hilfe anderer Programme die Verfügbarkeit von Servern und Diensten ermittelt, über die Fehlerzustände Buch führt und gegebenenfalls Alarme verschickt. Besagte Programme können beliebige Skripte sein, die ermitteln, ob ein überwachtes System funktioniert oder ausgefallen ist (oder im Begriff ist, auszufallen). Mittels definierter Exitcodes wird diese Information an Nagios übergeben. Zum Checkresultat gehört auch ein erläuternder Text beziehungsweise eine Fehlermeldung, die in der Nagios-WebGUI grün, gelb oder rot unterlegt erscheint. Neben der reinen Alarmierung können mit Nagios auch Messwerte, die bei jedem Check anfallen, gespeichert und als Langzeitgraphen gezeichnet werden. Dashboards und Reporting sind weitere Themen, für die es Add-ons gibt.

Über lange Zeit hinweg entwickelte sich eine rege Community [2] um das Produkt Nagios, was in Umkehr auch zur weiteren Verbreitung von Nagios beitrug: Die zahlreichen Plug-ins und Erweiterungen aus der Community erweiterten den Funktionsumfang enorm und sinnvolles Monitoring ist ohne sie nicht mehr denkbar.

Die Entwicklung von Nagios selbst kam hingegen fast zum Stillstand und die Kritik aus der Community etwa an Performance-Problemen wurde immer lauter. Nachdem sich keine Besserung abzeichnete, entstand Icinga [3] als direkter Fork und Shinken [4] als kompatible Neuentwicklung. Im weiteren Verlauf haben sich mit Icinga, Shinken, Naemon, OP5, Groundwork, check_mk und Centreon zahlreiche Nagios-kompatible Produkte am Markt etabliert, teilweise als kommerzielle Angebote.

Nachdem sich andeutete, dass auf der alten Basis keine sinnvolle Weiterentwicklung möglich war, entschied sich das Icinga-Team mit Icinga2 ebenfalls eine komplette Neuentwicklung zu starten. Icinga2 erfährt aktuell einen großen Nutzerzuwachs, der sich auf die zahlreichen nützlichen Features wie beispielsweise einfaches Clustering und eine stark erweiterte Konfigurationssyntax stützt.

Im Frühjahr 2010 schuf eine Gruppe von Monitoring-Consultants die Open Monitoring Distribution (OMD) [5]. Das ist eine Sammlung von Nagios und den nützlichsten Tools – zu einem einzigen Installationspaket zusammengefasst. Die in diesem Artikel beschriebenen Techniken orientieren sich an einem auf Basis von OMD installierten Nagios. Diese Vielfalt an verfügbaren Cores unterstreicht, dass es viel weniger wichtig ist, welches der genannten Produkte Sie einsetzen. Auf das reibungslose Zusammenspiel der einzelnen Komponenten und die Anpassung an die individuellen Anforderungen sollten Sie das Hauptaugenmerk legen. Auch deshalb verwenden wir im Folgenden den Begriff Nagios synonym mit den anderen verfügbaren Cores.
Vor- und Nachteile eines Nagios-Monitorings
Im Lauf der Jahre hat sich rund um die Nagios-kompatiblen Monitoring-Lösungen eine starke Community entwickelt. Durch die große Verbreitung ist die Wahrscheinlichkeit hoch, dass für den eigenen Anwendungsfall beispielsweise bereits ein Check-Plug-in verfügbar ist [6,7]. Anleitungen, Foren und Mailinglisten sind in großer Zahl vorhanden. Auch das Angebot an Dienstleistern und Schulungen ist sehr groß.

Eine recht große Hürde stellt für einen Einsteiger allerdings die Konfiguration dar. An Hilfsmitteln finden hier vom Editor vi bis zu Werkzeugen wie dem Thruk-Config-Tool alle ihre Verfechter. Auch die große Freiheit bei der Konfiguration selbst mit Mitteln wie Vererbung und Vorlagen, erfordert zunächst einen recht hohen Einarbeitungsaufwand. Im Gegenzug erhalten Sie dadurch eine enorme Flexibilität. Icinga2 geht mit seiner stark erweiterten Konfigurationssyntax noch einen großen Schritt weiter und eröffnet immens viele neue Möglichkeiten.

Die schiere Zahl an Plug-ins fördert nicht gerade die Übersichtlichkeit. Auch ist deren Qualität mitunter sehr unterschiedlich. Dies kann die Suche nach einem Plug-in unter Umständen recht mühselig machen. In der Umkehr gibt es wiederum für annähernd jedes Überwachungsszenario bereits fertige Plug-ins, die schnell eingesetzt werden können, so bringt etwa OMD schon einige der empfehlenswertesten Plug-ins von Haus aus mit.

Bedingt durch die Art der Konfiguration ist auch die Handhabung hochdynamischer Umgebungen, wie sie in Zeiten der Cloud und von Docker verstärkt notwendig wird, mit Bordmitteln ein Problem. Generatoren wie coshsh, die aus CMDBs regelbasiert Konfigurationen erstellen, können hier Abhilfe schaffen und sind in großen Umgebungen namhafter Anwender im produktiven Einsatz.

Zur Erfassung sehr großer Mengen von Performance-Metriken oder zur Sammlung von Logdaten – auch wesentliche Aspekte eines Monitoring-Systems – sind Nagios-kompatible Systeme nicht geeignet, auch wenn es durchaus bewährte Plug-ins zur Logfile-Überwachung wie check_logfiles gibt. Mit anderen Open-Source-Lösungen wie Graphite, Logstash oder Graylog lässt sich ein Nagios-basiertes Monitoring sinnvoll erweitern.

Seite 1: Vor- und Nachteile eines Nagios-Monitorings
Seite 2: Ziele des Monitorings definieren


Seite 1 von 2 Nächste Seite >>
5.02.2018/jp/ln/Gerhard Laußer und Michael Kraus

Nachrichten

TeamViewer goes IoT [19.01.2018]

TeamViewer bringt TeamViewer IoT auf den Markt. Die Software kombiniert die Fernzugriffs- und Fernsteuerungsfunktionen von TeamViewer mit Monitoring-Funktionen. TeamViewer IoT unterstützt Raspbian, kann aber laut Hersteller problemlos auf andere Linux-Distributionen portiert werden. An der Unterstützung weiterer IoT-Plattformen würde bereits gearbeitet. [mehr]

Alles unter einem Dach [30.11.2017]

Von Hewlett Packard Enterprise kommt mit 'HPE OneSphere' eine Multi-Cloud-Management-Lösung für Public Cloud, Private Cloud und Software-definierte Infrastrukturen. Das SaaS-Portal gibt Kunden einen einheitlichen Zugang zu einem Pool von IT-Ressourcen, der sowohl externe Cloud-Plattformen als auch die eigene, lokal betriebene IT-Umgebung umfasst. [mehr]

Tipps & Tools

Granulare Zeitpläne für PRTG [18.02.2018]

Aus unterschiedlichen Gründen kann es beim Monitoring nötig sein, für verschiedene Zeitfenster die Überwachung zu pausieren. Wer mit PRTG arbeitet, dem bietet sich mit der Zeitplan-Funktion jedoch nicht die Granularität, Sensoren oder ganze Gruppen anhalten zu können - beispielsweise jeden zweiten Dienstag im Monat von 16:00 bis 18:00 Uhr. Es gibt jedoch eine andere Möglichkeit über ein spezielles Scheduler-Tool. [mehr]

ZFS-Mirror mit pfSense nutzen [21.01.2018]

Die Open-Source-Firewall pfSense unterstützt neben UFS auch das ZFS-Dateisystem. Seit pfSense Version 2.4 ist es möglich, bereits bei der Installation ein ZFS-Dateisystem zu erstellen und damit beispielsweise einen ZFS-n-Way-Mirror anzulegen. Dieser spiegelt die Daten wie bei einem RAID 1 auf alle installierten Festplatten. Bei der Installation von pfSense und für die Überwachung des Mirrors sind jedoch einige Dinge zu beachten. [mehr]

Buchbesprechung

Software Defined Networking

von Konstantin Agouros

Anzeigen