Checkmk
to checkmk.com

1. Der Monitoring-Kern

An zentraler Stelle im Checkmk-System arbeitet der Monitoring-Kern. Seine Aufgaben sind

  • das regelmäßige Anstoßen von Checks und Sammeln der Ergebnisse,

  • das Bereitstellen des aktuellen Zustands für die GUI und

  • das Erkennen von Zustandsänderungen und darauf basierend das Benachrichtigen.

Folgendes Architekturbild zeigt den Kern im Zusammenhang mit den wichtigsten Komponenten der kommerziellen Editionen:

cmc cee architecture

1.1. Nagios und Icinga

CRE Die CRE Checkmk Raw Edition baut auf dem Kern aus dem bekannten Open-Source-Projekt Nagios auf. Dieser hat sich weltweit bei Millionen von Benutzern über Jahre hinweg bewährt und bietet zahlreiche nützliche Funktionen. Seine Flexibilität ist einer der Gründe für den Erfolg von Nagios.

Alternativ kann auch der Kern von Icinga eingesetzt werden. Dieser ist vor allem in Deutschland verbreitet und basiert auf dem gleichen Programm-Code, wird aber seit einigen Jahren unabhängig weiterentwickelt.

Auch wenn Nagios, bzw. Icinga, hervorragende Dienste leistet, flexibel, stabil und gut erprobt ist, so gibt es doch Situationen, in denen man damit an Grenzen stößt. Bei einer größeren Zahl von überwachten Hosts und Services treten vor allem drei Probleme auf:

  • Die hohe CPU-Last beim Ausführen von Checks.

  • Die lange Dauer eines Neustarts nach einer Konfigurationsänderung.

  • Die Tatsache, dass das System während dieser Zeit nicht verfügbar ist.

2. Der Checkmk Micro Core (CMC)

CEE Da Checkmk in immer größeren Umgebungen eingesetzt wird und um die oben genannten Limitierungen von Nagios zu überwinden, haben wir im Jahr 2013 mit der Neuentwicklung eines eigenen Kerns speziell für die kommerziellen Editionen begonnen. Der Checkmk Micro Core — kurz CMC ist dabei nicht als Fork von Nagios entstanden, sondern hat eine komplett eigene Codebasis. Er verfügt über eine einzigartige und perfekt auf Checkmk zugeschnittene Softwarearchitektur.

Seine wichtigsten Vorteile sind:

  • Hohe Effizienz beim Ausführen von Checks - Das betrifft sowohl aktive Checks als auch Checkmk-basierte Checks. In Benchmarks wurden auf einem Desktop-PC (Core i7) mehr als 600.000 Checks pro Minute erreicht.

  • Schnelles Aktivieren von Änderungen - Eine Konfiguration mit 20.000 Hosts und 600.000 Services kann in 0,5 Sekunden geladen werden.

  • Konfigurationsänderungen im laufenden Betrieb - Aktuell laufende Checks und Livestatus-Verbindungen werden nicht unterbrochen. Für die Nutzer des Monitorings ist der Vorgang nicht spürbar.

  • Schnelle Verfügbarkeitsabfragen - Durch einen speziellen Cache können Analysen der Verfügbarkeit (availability) auch über lange Zeiträume ohne spürbare Wartezeit berechnet werden.

  • Zusätzliche Features - Der CMC verfügt über mehrere nützliche Zusatzfunktionen wie z.B. wiederkehrende Wartungszeiten und Quittierungen mit automatischer Ablaufzeit.

Auch an anderen Stellen wurde optimiert. So werden z.B. Messwerte jetzt ohne Umwege direkt vom Kern an den RRD-Cache-Daemon übergeben, Benachrichtigungen in einem „KeepAlive“-Modus erzeugt und Host-Checks mit einem eingebauten ICMP-Hilfsprozess ausgeführt. Das alles vermeidet kostspielige Prozesserzeugungen und spart CPU-Ressourcen.

Diese Eigenschaften bringen zahlreiche Vorteile — auch in kleineren Installationen:

  • Der geringere Bedarf an Prozessorleistung ermöglicht in vielen Fällen Virtualisierung anstelle echter Hardware.

  • Das unterbrechungsfreie Aktivieren von Änderungen ermöglicht häufige Konfigurationsänderungen.

  • Dadurch ist auch die Umsetzung von Anforderungen wie z.B. Cloud-Monitoring möglich, bei denen in kurzer Abfolge Server hinzugefügt und entfernt werden.

Die folgenden beiden Grafiken zeigen die CPU-Last auf einem Checkmk-Server vor und nach der Umstellung von Nagios auf CMC. Diese wurden uns freundlicherweise von dem Unternehmen DFi Service SA bereitgestellt. Sie überwachten zu diesem Zeitpunkt 1.205 Hosts und 13.555 Services auf einem Server mit 10 Prozessorkernen.

cmc migration cpuload4
cmc migration cpuutil4

In einem anderen Projekt zeigen sich ähnliche Effekte. Folgende Graphen zeigen eine Umstellung vom Nagios-Kern auf den CMC in einer Umgebung mit 56.602 Services auf 2.230 überwachten Hosts auf einer virtuellen Maschine mit zwei Prozessorkernen:

cmc migration cpuload
cmc migration cpuutil
cmc migration diskio

Wie groß der Unterschied im Einzelfall ist, hängt natürlich von vielen Rahmenbedingungen ab. Im obigen Fall läuft auf dem gleichen Server noch eine kleinere Instanz, die nicht umgestellt wurde. Ohne diese wäre der Unterschied in der Last noch deutlicher zu erkennen.

Weitere Aspekte des CMC werden in den folgenden Artikeln erläutert:

3. Häufig gestellte Fragen (FAQ)

3.1. Kann der CMC auch normale Nagios-Plugins ausführen?

Selbstverständlich kann der CMC auch klassische aktive und passive Nagios-Checks ausführen.

3.2. Wird Checkmk weiterhin Nagios unterstützen?

Checkmk ist und bleibt kompatibel zu Nagios und wird auch den Nagios-Kern weiterhin voll unterstützen. Auch die kommerziellen Editionen enthalten Nagios weiterhin als optionalen Kern — allerdings nur um die Migration der Raw Edition auf die kommerziellen Editionen zu unterstützen.

3.3. Wie kann ich zwischen Nagios und CMC wechseln?

Ein Umschalten zwischen den beiden Kernen ist einfach, sofern Ihre Konfiguration ausschließlich mit dem Setup-Menü der Checkmk Weboberfläche erstellt wurde. Einzelheiten finden Sie im Artikel Migration auf den CMC. Die kommerziellen Editionen erzeugen neue Instanzen per Default mit CMC als Kern.

3.4. Ist der CMC frei verfügbar?

Der CMC ist verfügbar als Bestandteil der kommerziellen Editionen, die über eine Subskription erhältlich sind. Die Cloud Edition kann für einen begrenzten Zeitraum unverbindlich getestet und in kleinem Rahmen dauerhaft ohne Lizenzierung betrieben werden.

Auf dieser Seite