Monitoring Evolution


Seit unserem letzten Artikel „Quo vadis Nagios?“ über das Monitoring-System Nagios und die unterscheidlichen Alternativen, wie Icinga oder Shinken, sind schon wieder zwei Jahre vergangen. In dieser Zeit hat sich an den Entwicklungen um Nagios selbst nicht viel getan, sehr wohl aber bei vielen anderen Opensource Projekten, die mit Nagios kompatible Monitoring-Lösungen darstellen. Nachdem unsere eigene Nagios-Installation und die einiger Kunden mittlerweile in die Jahre gekommen ist und es einige Punkte gibt, bei denen wir mit unserem aktuellen Monitoring-System nicht mehr ganz zufrieden sind, haben wir uns nun Zeit genommen, um die zwei großen Opensource Projekte Shinken und Icinga noch einmal genauer unter die Lupe zu nehmen. Dazu haben wir beide Systeme parallel installiert und getestet. Unsere Erkenntnisse und Erfahrungen mit den beiden Systemen werden wir im folgenden Abschnitt näher erläutern.

 

Shinken & Skonf

Die grundsätzlichen Informationen über Shinken findet man bereits in unserem Artikel „Quo vadis Nagios?“, weshalb ich an dieser Stelle nicht weiter darauf eingehen werde.
Im Vergleich zum Nagios bringt Shinken ein eigenes, webbasiertes Konfigurationstool mit, das dem Benutzer die Konfiguartion seiner Shinken-Installation erleichtern soll. Ein interessantes Feature stellt dabei die selbstständige Service-Erkennung, beim Hinzufügen von neuen Hosts, dar. Die Oberfläche an sich wirkt recht schlicht und modern. Leider konnten wir Skonf für unsere Tests nicht verwenden, da es nach der Installation nic
ht von selbst funktionierte und wir es auch nach mehrmaligem Versuchen nicht geschafft haben, es richtig zu konfigurieren. Jegliche Änderungen im Skonf waren auch nach einem Neustart von Shinken nicht in der Konfiguration

zu sehen. Eine Dokumentation ist zwar im offiziellen Wiki vorhanden, dort sind aber nicht alle Features, Konfigurationsmöglichkeiten und Probleme aufzufinden und die Community ist aktuell zudem noch recht klein. Insgesamt fanden wir den Ansatz aber durchaus interessant und hoffen, dass wir das Skonf-Interface in Zukunft auch mal funktionierend ausprobieren können.

shinken-ui

Detail-Ansicht eines Hosts in der Shinken UI


Icinga

Icinga ist einer der wohl bekanntesten Nagios-Forks und zeichnet sich vor allem durch seine aktive Entwicklung und Kompatibilität zur Nagios-Konfiguration aus. Genau so, wie auch bei Shinken, kann man prinzipiell einfach seine bestehende Nagios-Konfiguration importieren und weiter verwenden. Außerdem hat das Icinga Team im Laufe der Jahre viele der nervigen Nagios-Bugs behoben und damit das Gesamtsystem etwas stabiler gemacht. Ein großer Vorteil im Vergleich zu Shinken sind die vorhandenen Dabian-Pakete für die einfache Installation und Wartung von Icinga und seinem Zubehör.

Icinga-Legacy

Detail-Ansicht eines Hosts in der Icinga Classic-UI


Icinga-Web

Abgesehen von der altbekannten Nagios-Weboberfläche bringt Icinga auch noch eine neue, auf Ajax basierende und schicke Weboberfläche mit. Sie benötigt die Verwendung eine IDO-Datenbank, welche als Schnittstelle zwischen dem Webinterface und der eigentlichen Icinga-Installation dient. Diese neue Oberfläche sorgt für eine übersichtliche und strukturierte Darstellung der aktuellen Zustände und bietet außerdem die Möglichkeit, bestimmte Befehle an den Icinga-Daemon zu senden, um beispielsweise die aktiven Checks oder die Benachrichtungen zu aktivieren. Falls man zusätzlich zum Monitoring auch noch ein Reporting-System, wie beispielsweise Jasper, einsetzt, kann man dieses sehr einfach in Icinga und Icinga-Web integrieren.

Icinga-Web

Service-Status Ansicht von Icinga-Web


Shinken vs. Icinga

Durch viele Versuche, die wir mit beiden Systemem durchgeführt haben und Dinge, die wir mit den beiden Systemen getestet haben, haben wir viele neue Erfahrungen gesammelt.

Der Einrichtugngsaufwand ist bei Shinken zwar etwas höher, als bei Icinga, aber insgesamt machen beide Monitoring-Systeme nach der Installation auf den ersten Blick einen guten Eindruck. Die Integration von PNP4Nagios, NagiosQL, etc. ist bei beiden prinzipiell möglich, allerdings gibt es dabei beim Einrichtungsaufwand einige Unterschiede. Shinken hat aktuell eine kleine Community und die Dokumentation ist sehr knapp. Das erschwert vor allem Neulingen, tiefer in die Konfiguration und das Funktionsprinzip der Software einzusteigen und man ist daher bei Problemen mehr auf sich selbst angewiesen. Die Erst-Einrichtung gestaltet sich daher bei Shinken wesentlich aufwändiger und schwieriger, als bei Icinga. Im laufenden Betrieb funktionierte Shinken zwar ohne größere Probleme, aber der Konkurrent Icinga lief merklich stabiler und arbeitete besser mit den zusätzlich installierten Plugins/Add-Ons zusammen. Näheres zu den zwei wichtigsten Plugins gibt es in den folgenden Absätzen.


PNP4Nagios

Auch das Plugin zur Erfassung und Darstellung von Performance-Daten, der Nagiosgrapher ist mittlerweile in die Jahre gekommen und wird nicht mehr aktiv weiterentwickelt. Daher haben wir uns auch hier eine Alternative gesucht und uns für das Tool PNP4Nagios entschieden, welches eine eigene Weboberfläche bietet und zudem gut mit Icinga oder Shinken zusammenarbeitet. Wie auch bei Nagiosgrapher werden die Monitoring-Daten in einer RRD-Datei gespeichert und anschließend graphisch aufbereitet und angezeit. Ob es sich bei den Daten um die CPU-Auslastung oder die Werte eines Temperatursensors handelt, ist dabei vollkommen unerheblich. Die Graphen können im Anschluss komfortabel für bestimmte Zeiträume generiert und auch als PDF exportiert werden.

PNP4Nagios

Ansicht des Ping-Graphs in der PNP4Nagios Weboberfläche


NagiosQL und Nconf

NagiosQL ist ein graphisches Konfigurationstool, mit dem man über ein Webinterface die Nagios-/Icinga-/Shinken-Konfiguration erstellen und anpassen kann. Dadurch spart man sich die Arbeit mit den vielen verschiedenen Konfiguratiosndateien und kann dadurch schnell und gezielt Änderungen vornehmen. Im Handumdrehen lassen sich so neue Servicechecks, Hosts, Escalations oder auch Benachrichtungen hinzufügen und bestehende bearbeiten.

NagiosQL ist in PHP geschrieben und läuft auf jedem Apache-Webserver. Es benötigt lediglich eine zusätzliche MySQL Datenbank, um die Konfiguration zu speichern. Nach der erfolgreichen Änderung der Einstellungen werden dann jeweils die Nagios-kompatiblen Konfigurationsdateien generiert und das Monitoringsystem neugestartet, sodass die neue Konfiguration wirksam wird.

NagiosQL

Service-Übersicht von NagiosQL

Die Installation und Konfiguartion von NagiosQL selbst ist etwas komplizierter, aber wenn es dann einmal fertig eingerichtet ist, funktioniert es wurnderbar. In unserem Test war die Integration ind Shinken etwas umständlicher und es war ein bisschen Handarbeit nötig, um das ganze dann vollständig zum Laufen zu bekommen. NagiosQL ist aber ohne weiteres mit Icinga kompatibel und die Installation klappt ohne größere Probleme.
Außerdem haben wir auch das Tool Nconf einmal etwas genauer betrachtet und gestestet. Dabei mussten wir allerdings recht schnell feststellen, dass Nconf keinen mit NagiosQL vergleichbaren Funktionsumfang bietet und wir es noch mit eigenen Lösungen ergänzen müssten.
Für uns stellt daher NagiosQL, trotz seiner etwas altbacken wirkenden Oberfläche, einen vernünftigen Ersatz für die schon deutlich in die Jahre gekommene, bisherige Lösung dar. Das Projekt ist Opensource und wird aktiv entwickelt, weshalb wir das Tool natürlich besonders gerne verwenden.


Fazit

Shinken machte für uns insgesamt einen eher unfertigen und durchwachsenen Eindruck, weshalb wir der noch relativ jungen Software vor dem produktiven Einsatz noch etwas Zeit zur Entwicklung lassen. Einen sehr positiven Eindruck macht dagegen die Nagios-Alternative Icinga. Das Zusammenspiel mit NagiosQL und PNP4Nagios, deren Integration ins Gesamtsystem und der normale Betrieb funktionierten ohne Probleme. Abgesehen von kleineren Konfigurationsunterschieden im Vergleich zum alten Nagios, läuft Icinga sehr stabil und macht alles in allem einen soliden Gesamteindruck.

Aus diesem Grund haben wir Icinga, zusammen mit einigen weiteren Komponenten, als Hauptbestandteil für unseren „Monitoring-Server 2013“ gewählt. Damit bieten wir unseren Kunden ein modulares und skalierbares System, das sich vor allem durch Stabilität, Aktualität und eine komfortable Bedienung auszeichnet.

IT bleibt spannend!

Euer Andreas Erhard

2 Gedanken zu „Monitoring Evolution

    • Hallo Mario,
      vielen Dank für Deinen Tipp!🙂
      Wir haben uns bereits damals schon die „Open Monitoring Distribution“ angesehen und auch ein bisschen mit „check_mk“ beschäftigt. Schließlich sind das ja keine Unbekannten in der Monitoring-Welt.😉
      Allerdings haben wir uns dann auf Shinken und Icinga konzentriert und uns am Ende für eine Kombination aus Icinga, Icinga-Web, PNP4Nagios und LConf entschieden.

      Viele Grüße,
      Andreas Erhard

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s