Wer sein System permanent überwacht, hat den Grundstein dafür gelegt Engpässe zu vermeiden und Fehler frühzeitig zu erkennen. Neben dem Platzhirsch Nagios ... (mehr)

Alternative Technologien

Im Laufe der letzten Jahre hat sich einiges im Nagios-Umfeld verändert. Lange Zeit führte am Nagios Core von Ethan Galstad kein Weg vorbei. Die oft kritisierte eher konservative Entwicklungspolitik rund um das klassische Nagios hat dazu geführt, dass inzwischen einige spannende Alternativen und Erweiterungen verfügbar sind (vergleichen Sie auch einen weiteren Beitrag in dieser Ausgabe).

Icinga: Icinga konzentriert sich seit 2009 hauptsächlich auf Frontend-Funktionalitäten. So verfügt es über ein sehr flexibles GUI und greift auf ein eigenes Datenbank-Backend zurück, das das vielfach kritisierte NDO-Datenbankschema von Nagios vermeidet.

Mod_gearman: Sven Nierlein von der Münchner Firma Consol hat sich zum Ziel gesetzt, mit Mod_gearman einen Mechanismus zum verteilten Ausführen von Checks zu kreieren. Die Kommunikation zwischen den einzelnen Rechenknoten erfolgt über ein Framework, das speziell zur Lastverteilung entwickelt wurde. Das löst im Vorbeigehen viele Probleme der bestehenden Nagios-Architektur. Die zentral vom Gearman-Server verwalteten Queues bewerkstelligen eine Lastverteilung kombiniert mit der Möglichkeit, die Ausführung der Checks redundant zu gestalten.

Shinken: Jean Gabes, der Hauptentwickler von Shinken, hat Nagios im Hinblick auf verteiltes Monitoring analysiert. Er war mit den bestehenden Ansätzen unzufrieden und begann deshalb mit der Entwicklung eines neuartigen Konzeptes in Python. Nachdem es sich als unmöglich erwies, seinen Vorschlag für eine Neuimplementierung unter dem Dach des klassischen Nagios zu verwirklichen, entschloss er sich zu einem eigenständigen Projekt.

Merlin: Merlin ist ein unter der GPL verfügbarer Teil der Monitoringlösung der schwedischen Firma op5 AB. Ähnlich wie bei Mod_gearman geht es um Lastverteilung über mehrere Rechenknoten. Merlin bedient sich dabei einer eigenen Kommunikationsarchitektur. Ein weiterer Untersschied zu Mod_gearman besteht darin, dass auf jedem der von Merlin bedienten Rechenknoten eine autarke Nagios-Installation notwendig ist. Diese Anforderung bewirkt allerdings auch, dass sich mit Merlin vollständig redundante Nagios-Implementierungen realisieren lassen.

Die erwähnten Technologien wurden ebenfalls unter Laborbedingungen getestet.

Alternativen im Test

Der erste Vergleichstest übernimmt das Setup vom letzten Test am Nagios Core und schaltet zusätzlich das Mod_gearman-Broker-Module dazwischen.

Das Ergebnis fällt noch deutlicher aus als erwartet. War die Nagios Latency im vorherigen Test ( Abbildung 7 ) im Bereich von 7 Sekunden, so fällt sie nun extrem ab. Abbildung 10 verdeutlicht dieses Bild – die Latency sinkt auf unter 0,5 Sekunden. Abbildung 11 zeigt, dass nicht nur die Latency, sondern auch die CPU-Belastung deutlich sinkt. Ohne Übertreibung kann man also sagen, dass Mod_gearman einen Performanceschub verursacht und dabei zusätzlich noch deutlich sparsamer mit den Ressourcen umgeht.

Abbildung 11: Die CPU-Auslastung im Vergleichstest mit Mod_gearman. Das Modul macht sich auch bei der Prozessorauslastung bemerkbar.
Abbildung 10: Vergleichstest mit Mod_gearman (Ausschnittsvergrößerung). Die Latency ist auf unter eine halbe Sekunde gefallen.

Dasselbe Setup wurde auch für eine Messung mit Shinken anstelle der Kombination Nagios mit Mod_gearman verwendet ( Abbildung 12 ).

Abbildung 12: Die Latenz von Shinken im Vergleich.

Hier zeigt sich ein ähnliches Bild wie mit Mod_gearman: Die Latency sinkt deutlich, auch wenn der Wert etwas über dem von Mod_gearman liegt. Aus Sicht der CPU zeigt sich, dass Shinken zwar etwas mehr Ressourcen benötigt ( Abbildung 13 ), die Werte liegen aber auch hier deutlich unter denen eines klassischen Nagios-Kerns.

Abbildung 13: Die CPU-Auslastung von Shinken im Vergleichstest.

Auch Icinga und das Merlin Broker-Modul wurden auf diese Weise vermessen. Das Ergebnis war eindeutig: Ein großer Unterschied zum Nagios Core war hier nicht feststellbar. Dies ist insofern auch nicht sonderlich verwunderlich, als alle auf einer sehr ähnlichen Codebase aufbauen. Die Verbesserungen, die in Icinga eingeflossen sind, haben jedenfalls bislang keine entscheidenden Performanceverbesserungen gebracht. Merlin per se bietet auch keinen Performancevorteil, interessant ist hier aber die Tatsache, dass dieses System durch zusätzliche Überwachungsknoten horizontal skalieren kann. Deshalb fällt auch die Steigung der Lastkurve bei einem Merlin-System mit zwei Knoten deutlich schwächer aus, weil die Last sich zwischen den beiden Knoten automatisch verteilen kann.

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023