Checkmk
to checkmk.com

1. Einleitung

In diesem Artikel finden Sie die wichtigsten Themen, die für das Update Ihrer Checkmk-Version 1.6.0 auf 2.0.0 relevant sind.

Wir empfehlen Ihnen, vor dem Update den kompletten Artikel durchzulesen, damit Sie genau wissen, was auf Sie zukommt: vor, während und nach dem Update.

2. Vorbereitungen

In diesem Kapitel erhalten Sie die Übersicht der Themen, um die Sie sich kümmern sollten, bevor Sie das Update durchführen. Nicht jedes der Themen wird wahrscheinlich für Sie relevant sein: Bei einem solchen können Sie intern einen Haken setzen und sich gleich das nächste Thema vornehmen.

2.1. Backup

Wie vor dem Update jeder produktiven Software sollten Sie auch vor dem Update von Checkmk die Aktualität Ihrer Backups prüfen.

Betrifft Sie das? Ja.

Was müssen Sie tun? Wenn Sie Ihre Backups automatisiert über das Modul WATO > Backups erstellen, prüfen Sie dort, ob die letzten Backup-Aufträge fehlerfrei durchgelaufen sind.

Weitere Informationen finden Sie in den Artikeln zum Backup über WATO und zum Thema Instanzen sichern und wiederherstellen.

2.2. DokuWiki

Das DokuWiki ist nicht länger Bestandteil der Checkmk-Software.

Betrifft Sie das? Das betrifft Sie, wenn Sie das Wiki bisher beispielsweise zur Bereitstellung von Informationen in Form von Notizen (notes) oder über das Seitenleisten-Snapin WIKI in Checkmk genutzt haben.

Was müssen Sie tun?

Ein wichtiger Hinweis vorweg: Die in Checkmk gespeicherten DokuWiki-Daten werden beim Update auf Checkmk 2.0.0 nicht gelöscht. Nur die Software selbst wird aus den entsprechenden Verzeichnissen entfernt. Sie könnten Ihre Daten aus DokuWiki demnach auch noch jederzeit nach dem Update auf die Version 2.0.0 umziehen.

Wenn Sie bisher das mitgelieferte DokuWiki verwendet haben und die Informationen auch weiterhin verwenden wollen, so empfehlen wir DokuWiki separat zu installieren. Eine entsprechende Anleitung dazu finden Sie auf den Seiten des Projekts dokuwiki.org.

Da alle Artikel und weiteren Texte und Strukturen in DokuWiki nur aus Textdateien und Verzeichnissen bestehen, ist der Umzug auf einen anderen Server tatsächlich ausgesprochen einfach. Kopieren Sie hierzu einfach den Inhalt des Ordners ~/var/dokuwiki/data aus Ihrer Checkmk-Instanz in das gleichnamige Verzeichnis Ihrer neuen DokuWiki-Installation.

Wenn Sie auf die Informationen im DokuWiki bisher in erster Linie über das Icon für Notes icon notes in Ihren Service- und Host-Views zugegriffen haben, sollten Sie nach dem Umzug von DokuWiki auch die URL in den Regeln Notes URL for Hosts und Notes URL for Services anpassen. Falls Sie stattdessen ein Custom Icon für diesen Zweck erstellt haben, ändern Sie die URL entsprechend unter Global Settings > Custom icons and actions.

2.3. Linux-Distributionsversionen

In der Checkmk Version 2.0.0 werden einige veraltete Linux-Distributionsversionen nicht mehr unterstützt.

Betrifft Sie das? Das betrifft Sie, wenn auf Ihrem Checkmk-Server eine der folgenden, in der 1.6.0 noch unterstützten, Versionen installiert ist:

  • Red Hat Enterprise Linux (RHEL) und CentOS Version 6.x

  • SUSE Linux Enterprise Server (SLES) Version 12 SP1 oder SP2

  • Debian Version 8.0

  • Ubuntu Version 14.04, 18.10, 19.04 oder 19.10

Was müssen Sie tun? Führen Sie vor dem Update von Checkmk zuerst ein Update der Linux-Distribution durch. Achten Sie darauf, dass die Ziel-Version der Linux-Distribution von Checkmk 1.6.0 und 2.0.0 unterstützt wird.

Welche Linux-Distributionsversionen Checkmk unterstützt, erfahren Sie im Artikel zur Installation und auf der Download-Seite nachdem Sie die Checkmk-Version und Ihre Linux-Distribution ausgewählt haben.

Sollte es nun notwendig sein, vor dem Update von Checkmk, ein Upgrade von Linux vorzunehmen so empfehlen wir die folgende Vorgehensweise:

  1. Stoppen Sie zunächst Ihre Checkmk-Instanz:

    root@linux# omd stop mysite
  1. Hängen Sie das tmp-Verzeichnis der Instanz aus:

    root@linux# umount /opt/omd/sites/mysite/tmp
  1. Verschieben Sie das gesamte omd-Verzeichnis, damit hieran im nächsten Schritt keine ungewollten Änderungen auftreten können. Bei einem Release-Upgrade werden im Regelfall alle Pakete entfernt, deren Abhängigkeiten nicht mehr erfüllt werden können. Zu diesen Paketen würde auch Checkmk gehören. Um hier einen Datenverlust zu verhindern, ist dieser Schritt notwendig und kann per mv durchgeführt werden.

    root@linux# mv /opt/omd /opt/omd.bak
  1. Führen Sie das Upgrade von Linux entsprechend der Anleitung des jeweiligen Distributors durch.

  2. Nach dem erfolgreichen Upgrade Ihrer Linux-Distribution müssen Sie nun das in Sicherheit gebrachte omd-Verzeichnis wieder an Ort und Stelle verschieben:

    root@linux# mv /opt/omd.bak /opt/omd
  1. Installieren Sie nun das zur neuen Version der verwendeten Distribution passende Paket von Checkmk. Wichtig: Die Versionsnummer von Checkmk muss exakt der vorher verwendeten entsprechen. Wenn Sie also vor dem Upgrade der Distribution Checkmk 1.6.0p22 verwendet haben, so installieren Sie nun die 1.6.0p22, die zu Ihrer neuen Linux-Distributionsversion passt.

    Im Falle von Ubuntu würde an dieser Stelle der folgende Befehl genügen:

    root@linux# apt install /tmp/check-mk-enterprise-1.6.0p22_0.focal_amd64.deb

    Hinweis: Geben Sie bei der Installation per apt install den vollständigen Pfad zur .deb-Datei an.

Halten Sie sich bei der Neu-Installation von Checkmk an die jeweilige detaillierte Installationsanleitung für Ihre jeweilige Distribution.

2.4. Software für Forecast Graphs

Um in Checkmk 1.6.0 das Feature zu Vorhersagegraphen (forecast graphs) nutzen zu können, ist die Installation von zusätzlicher Software (u.a. Prophet von Facebook) notwendig. Ab 2.0.0 verfügt Checkmk über eine komplett eigenständige Implementierung dieser Vorhersagefunktion, ohne dass weitere Softwarepakete installiert werden müssen.

Betrifft Sie das? Falls Sie die in Checkmk 1.6.0 eingeführten Forecast Graphs verwendet haben, ist es sehr zu empfehlen, das dafür installierte Python und Prophet wieder aus Ihren Instanzen zu entfernen.

Was müssen Sie tun? Das Skript, welches Sie für die Installation von Prophet und seinen Abhängigkeiten verwendet haben, erledigt für Sie auch die Entfernung dieser Pakete. Rufen Sie es dazu einfach mit der Option -u auf. In einem verteilten Monitoring müssen Sie diesen Schritt auf jeder Instanz wiederholen, auf der Sie Prophet installiert haben.

OMD[mysite]:~$ bin/install_fbprophet -u

2.5. Lokale Dateien

Mit lokalen Dateien können Sie die von Checkmk bereitgestellte Funktionalität anpassen und erweitern. Diese Dateien befinden sich im lokalen Teil der Instanzverzeichnisstruktur, d.h. in ~/local. Lokale Dateien können bei einem Update Probleme bereiten, da sie eventuell nicht mehr zur neuen Checkmk-Version passen.

Betrifft Sie das? Da es für Checkmk bei einem Update nicht möglich ist, die lokalen Anpassungen und jede von einem Drittanbieter hergestellte Erweiterung abzufangen und zu behandeln, sollten Sie Ihre Checkmk-Instanz vor einem Update daraufhin überprüfen, ob und welche lokale Dateien bei Ihnen verwendet werden.

Was müssen Sie tun? Verschaffen Sie sich einen Überblick über die lokalen Dateien Ihrer Checkmk-Instanz, indem Sie als Instanzbenutzer das folgende Kommando ausführen (bei dem die Option -L dafür sorgt, dass auch symbolischen Links gefolgt wird):

OMD[mysite]:~$ find -L ~/local -type f

In einer frischen Installation von Checkmk wird Ihnen derzeit nur eine Datei namens README.TXT aufgelistet. Alles, was darüber hinaus angezeigt wird, sollte ganz oben auf Ihrer Liste zur Fehlerdiagnose stehen, falls es beim Update Probleme gibt. Besondere Aufmerksamkeit verdienen Skripte und Checkplugins, die in Python 2 geschrieben sind und Checkplugins, die der alten Check-API folgen. Auf beide Themen gehen wir genauer ein in den beiden folgenden Kapiteln.

2.6. Code-Basis Python 3

Der größte Teil von Checkmk ist in der Programmiersprache Python geschrieben — über 10 Jahren lang in Python 2. Mit der Version 2.0.0 haben wir nun den großen Schritt gemacht und Checkmk auf Python 3 portiert. Dieser Schritt war aufwendig, aber notwendig, um Checkmk effizient und sicher weiter entwickeln zu können.

Bis einschließlich zur Version 1.6.0 wird Checkmk mit Python 2.7 und allen notwendigen Drittanbieter-Modulen (third-party modules) ausgeliefert. Statt mit Python 2.7 wird Checkmk 2.0.0 mit Python 3.8 und ebenfalls allen notwendigen Drittanbieter-Modulen ausgeliefert.

Betrifft Sie das? Dieser Python Versionswechsel ist für Sie relevant, wenn Sie in Python 2 geschriebene lokale Dateien (Skripte oder Plugins) verwenden.

Was müssen Sie tun? Ändern Sie in Skripten den „Shebang“ und passen Sie den Code von Python 2 auf 3 an:

In einem Skript, das direkt aus einem Cronjob oder dem Core aufgerufen wird, z.B. ein Benachrichtigungsskript, haben Sie in der Vergangenheit oft den folgenden Shebang verwendet:

mylocalscript
#!/usr/bin/env python

Damit haben Sie das in der Version 1.6.0 ausgelieferte Python 2.7 verwendet. Da dieses nicht mehr existiert, wird ohne eine Änderung dieser Zeile die Pythonversion des Betriebssystems verwendet. Welche das ist, hängt von Ihrem Betriebssystem ab und kann von Ihnen mit dem folgenden Kommando abgefragt werden.

OMD[mysite]:~$ python --version
Python 2.7.18

Wir empfehlen, den Shebang so zu ändern:

mylocalscript
#!/usr/bin/env python3

Damit können Sie wieder das Python verwenden, das mit Checkmk 2.0.0 geliefert wird.

Danach müssen Sie möglicherweise in Ihren Skripten einige Anpassungen vornehmen, um Ihren Code von Python 2 auf 3 umzustellen. Was dafür zu tun ist, erfahren Sie im nächsten Kapitel zur neuen Check-API.

2.7. Die neue Check-API

Checkmk 2.0.0 führt eine neue Check-API ein, die die Checkplugins neu strukturiert, um ihre Handhabung zu vereinheitlichen und zu vereinfachen.

Da es aber eine große Zahl von Checks gibt, die nach der alten, bis zur Version 1.6.0 gültige Check-API programmiert wurden, wird die alte Check-API für eine Übergangszeit weiterhin unterstützt.

Betrifft Sie das? Die neue API betrifft Sie, wenn Sie die mit Checkmk ausgelieferten um ihre eigenen, selbstgeschriebenen Checks erweitert haben und/oder wenn Sie Plugins aus anderen Quellen nutzen und diese z.B. von der Checkmk Exchange heruntergeladen haben. Die betroffenen Dateien finden Sie in den lokalen Dateien Ihrer Instanz.

Was müssen Sie tun? Wir versuchen Ihnen, den Umstieg auf die neue Check-API so leicht und komfortabel wie möglich zu machen:

Nach dem Update auf die Version 2.0.0 versucht Checkmk alle lokalen Plugins aus den Verzeichnissen ~/local/share/check_mk/checks und ~/local/share/check_mk/inventory automatisch auf die neue Check-API zu migrieren. Diese „Automigration“ passiert zur Laufzeit; die Plugindateien werden nicht verändert. Wie Sie sich nach dem Update die Ergebnisse anzeigen lassen können, erfahren Sie im Kapitel Automigration auf die neue Check-API überprüfen.

Die Chancen stehen zwar gut, dass die Automigration Ihrer Checkplugins reibungslos funktioniert, dennoch erfordert die Umstellung auf Python 3 möglicherweise einige Anpassungen. Durch die Einführung der neuen Check-API und durch die Änderung der Code-Basis auf Python 3 gibt es gleich zwei gute Gründe ihre selbstgeschriebenen Checkplugins zu überarbeiten. Wir informieren Sie ausführlich über die notwendigen Schritte im Blogpost zur Migration von Checkplugins.

Zu guter Letzt punktet die neue Check-API mit verbesserter Dokumentation: Es gibt einen einführenden Artikel zur Programmierung eigener Checkplugins mit der neuen Check-API und Sie können in Checkmk 2.0.0 die stets aktuelle Plugin-API-Referenzdokumentation über die Checkmk-Oberfläche aufrufen — im neuen Help-Menü der Navigationsleiste.

2.8. Inkompatible und obsolete MKPs

Über die Checkmk Erweiterungspakete (MKPs) lässt sich Ihr Monitoringsystem recht einfach und bequem erweitern. Auf der einen Seite kommt es dabei vor, dass solche MKPs nicht weiter gepflegt werden und dann ggf. mit neuen Versionen von Checkmk nicht mehr kompatibel sind. Auf der anderen Seite nehmen wir immer wieder neue Plugins und Funktionserweiterungen ins Checkmk auf, weshalb MKPs mitunter obsolet werden. Ihre Funktionalität wird schlicht von Checkmk selbst sichergestellt.

Betrifft Sie das? Falls Sie MKPs installiert haben, ist aus diesem Grund eine Prüfung dieser MKPs dringend geboten — besonders vor einem so umfangreichen Update. So verhindern Sie, dass inkompatible Pakete das Update behindern oder im Anschluss an das Update doppelte oder zumindest sehr ähnliche Services entstehen.

Was müssen Sie tun? Prüfen Sie hierzu Ihre installierten MKPs gegen unseren Katalog der Checkplugins und entfernen Sie Pakete, welche inzwischen nativ von Checkmk bereitgestellt werden. Bei dieser Gelegenheit können Sie auch MKPs entfernen, die eventuell nur mal für einen Probelauf installiert worden sind. Eine Auflistung finden Sie über das WATO-Modul Extension Packages. Auf der Kommandozeile können Sie sich installierte Erweiterungen und auch unpaketierte Dateien mit den folgenden Befehlen anzeigen lassen:

OMD[mysite]:~$ mkp list
OMD[mysite]:~$ mkp find

Sollten Sie über die Prüfung der installierten MKPs und dem Abgleich mit unserem Katalog nicht alle Pakete zuordnen können, empfiehlt sich der hiernach beschriebene Probelauf des Updates, um dabei Inkompatibilitäten zu identifizieren und dann in Ihrem produktiven Monitoring vor dem Update zu entfernen.

2.9. Inkompatible Änderungen

Wie in jeder Checkmk Version, so gibt es auch in der aktuellen Version 2.0.0 Änderungen der Software, die Rückwirkungen auf ihre Checkmk-Installation haben können. Eine sogenannte inkompatible Änderung kann erfordern, dass Sie manuell Anpassungen durchführen müssen, damit bestehende Funktionen weiterhin wie gewohnt ablaufen und/oder neue Funktionen genutzt werden können.

Betrifft Sie das? In aller Regel wird es inkompatible Änderungen geben, die auch Ihre Checkmk-Installation betreffen. Eine generelle Aussage ist aber leider unmöglich. In diesem Artikel haben wir diejenigen Themen zusammengetragen, die für alle oder die meisten Checkmk-Installationen zutreffen. Es kann aber sein, dass es darüber hinaus weitere, für Sie relevante Änderungen gibt, zum Beispiel bei Checks, die Sie in Ihrer Installation verwenden.

Was müssen Sie tun? Nachdem Sie das Update durchgeführt haben, werden Ihnen in der Checkmk-Oberfläche Anzahl und Inhalt der inkompatiblen Änderungen angezeigt, und Sie werden aufgefordert, diese zu prüfen und zur Kenntnis zu nehmen. Also werden Sie auf jeden Fall mit diesem Thema konfrontiert werden — allerdings erst, nachdem Sie das Update durchgeführt haben.

Es ist daher eine gute Idee, sich bereits vor dem Update einen Überblick über die inkompatiblen Änderungen zu verschaffen: Öffnen Sie die Liste der Werks. (Die Software-Entwicklung von Checkmk ist in sogenannten Werks organisiert.) Filtern Sie die Werkliste nach Checkmk 2.0 und nach Kompatibilität, d.h. markieren Sie die Checkbox Only show incompatible. In der Beschreibung eines Werks finden Sie Hinweise, was gegebenenfalls zu tun ist, um die Änderung kompatibel zu machen.

Die frustrierende Nachricht: Die Werkliste einer Version ist sehr, sehr lang — selbst wenn Sie nur die inkompatiblen Änderungen enthält. Die tröstliche Nachricht: An der Anzahl der Änderungen können Sie sehen, wie groß unsere Anstrengungen sind, Checkmk für Sie zu verbessern.

3. Update

3.1. Best Practises beim Update

Im folgenden beschreiben wir bewährte Vorgehensweisen (best practises), welche wir selbst bei Updates von großen Checkmk-Umgebungen befolgen. Diese sind sicherlich nicht in jeder Umgebung Pflicht, Sie können Ihnen den Prozess des Updates jedoch erleichtern.

Betriebssystem aktualisieren

Das Betriebssystem auf einem Checkmk-Server sollte ohnehin immer auf dem aktuellen Stand sein. Vor einem Update von Checkmk schadet es aber bestimmt nicht, sich dessen noch einmal zu versichern: mithilfe von apt (für Debian und Ubuntu), yum (für Red Hat und CentOS) oder zypper (für SUSE Linux Enterprise Server).

Probelauf des Updates durchführen

In großen Umgebungen, in denen auch das Zurückspielen eines selbstverständlich vorhandenen Backups Ihrer Checkmk-Umgebung mit einem gewissen zeitlichen Aufwand verbunden wäre, empfiehlt es sich, vor dem Update der produktiven Umgebung, einen Test mit einer geklonten Instanz durchzuführen. Zu diesem Zweck können Sie beispielsweise das letzte reguläre Backup Ihrer Instanz unter einem anderen Namen wiederherstellen.

root@linux# omd restore newsite /path/to/backup

Alternativ können Sie Ihre Instanz auch per omd cp kopieren. Dafür muss die Instanz allerdings kurzzeitig gestoppt werden:

root@linux# omd stop mysite
root@linux# omd cp mysite newsite

Führen Sie das Update im Anschluss erst einmal auf dieser neuen geklonten Instanz durch um hier beispielsweise die oben angesprochenen lokalen Änderungen in der neuen Umgebung zu prüfen.

Agent Updater vorübergehend abschalten

Wenn Sie die automatische Verteilung von Agenten verwenden, sollten Sie überlegen, dieses vor dem Update auf Checkmk 2.0.0 kurzzeitig zu deaktivieren. Dazu genügt es in den entsprechenden Regeln vom Regelsatz Agent updater (Linux, Windows) den Haken bei Rule activation > do not apply this rule zu setzen, die Regel anschließend zu speichern und die Änderungen zu aktivieren. Nach dem Update auf Checkmk 2.0.0 kopieren Sie dann einige dieser Regeln, entfernen in den Kopien den Haken bei do not apply this rule und setzen stattdessen unter Explicit hosts einfach die Namen von 2-3 Hosts ein, die von dieser Regel betroffen sind.

Auf diese Weise wird der neue Agent nicht gleich über all Ihre Server ausgerollt und Sie können sich auf einigen wenigen Systemen mit den neu angelieferten Daten vertraut machen. Auch aufgrund der deutlich gestiegenen Zahl an mitgelieferten Checkplugins könnten Sie eine ganze Reihe neuer Services finden, welche Sie dann auf den von Ihnen gewählten Testsystemen richtig einstellen können. Eventuell sind für neue Services auch neue Schwellwerte vonnöten. Wenn Sie dies erst einmal im Kleinen angehen, ersparen Sie sich ggf. einige Fehlalarme.

Nach dem Abschluss dieser Prüfungen sollten Sie dann allerdings die eingeschränkten Kopien Ihrer Regeln für den Agent Updater wieder löschen und die anfangs deaktivierten Regeln wieder einschalten.

3.2. Das Update durchführen

Am eigentlichen Update der Software hat sich in der Checkmk 2.0.0 nichts Grundlegendes geändert, d.h. Sie installieren die neue Version, führen das Update der Checkmk-Instanz durch, kümmern sich um Konflikte (falls es denn welche geben sollte) und überprüfen und bestätigen die inkompatiblen Änderungen.

Führen Sie die Update-Prozedur so aus, wie sie im Artikel zu Updates und Upgrades beschrieben ist.

4. Nachbereitungen

4.1. Die neue Benutzeroberfläche

Die nicht zu übersehende Neuerung in der Checkmk Version 2.0.0 ist die komplett neu gestaltete Benutzeroberfläche (GUI), wie sie sich Ihnen nach der Anmeldung präsentiert:

gui

Die folgende Übersicht ist für den eiligen Versionsumsteiger gedacht und zeigt, wo sich die wichtigsten der wohlbekannten GUI-Elemente aus der Version 1.6.0 in der Version 2.0.0 befinden:

VorherJetztAnmerkung

-

Navigationsleiste

Die neue Navigationsleiste ist stets auf der linken Seite und bietet neue Menüs, am wichtigsten: Setup und Monitor

Seitenleiste

Seitenleiste

Die Seitenleiste befindet sich standardmäßig auf der rechten Seite und zeigt wichtige Zustandsinformationen für den Operator. Die Seitenleiste kann wie gewohnt um Snapins erweitert werden.

Seitenleiste > Checkmk-Logozeile mit Informationen über Checkmk Edition, Version, Zahl inkompatibler Änderungen und Link zu den Release notes

Help-Menü

Im Help-Menü der Navigationsleiste wird die Checkmk Edition und Version angezeigt. Die Zahl nicht kompatibler Änderungen nach einem Update wird gegebenenfalls im Symbol des Help-Menüs eingeblendet. Zum Aufruf der Release notes gibt es Help-Menüeinträge.

WATO - Configuration

Setup-Menü

Das Setup-Menü in der Navigationsleiste ersetzt das Snapin WATO - Configuration in der Seitenleiste. Für die Seitenleiste gibt es die beiden Snapins Setup und Quick Setup.

WATO > Host & Service Parameters

Setup-Menü

Die Kategorien der Regelsätze finden sich, komplett überarbeitet, im Setup-Menü unter Hosts, Services und Agents.

WATO > Monitoring Agents

Setup > Agents > Windows, Linux, Solaris, AIX

Zugang zur Agentenbäckerei in den CEE Checkmk Enterprise Editions

-

Suchfeld im Setup-Menü

Neu ist die Suche in der Konfigurationsumgebung (u.a. nach Regelsätzen und globalen Einstellungen).

Views

Monitor-Menü

Das Monitor-Menü in der Navigationsleiste ersetzt das Snapin Views in der Seitenleiste, das aber weiterhin verfügbar ist.

Quicksearch

Suchfeld im Monitor-Menü

Das Snapin Quicksearch für die Seitenleiste ist weiterhin verfügbar.

Hauptseite > Kopfzeile mit Benutzernamen, Zeit und Buchsymbol zur Einblendung der Hilfetexte

Hauptseite > Kopfzeile mit Anzahl der noch nicht aktivierten Änderungen

Der aktuelle Benutzername mit zugewiesener Rolle wird im User-Menü der Navigationsleiste angezeigt. Die Hilfetexte können auf jeder Hauptseite im Help-Menü unter Context sensitive help ein- und wieder ausgeblendet werden.

Hauptseite mit Aktionsknöpfen (buttons)

Hauptseite mit Breadcrumb, Menüleiste und Aktionsleiste

Die „Breadcrumb“-Navigation zeigt den Pfad zur aktuellen Seite, darunter folgt die kontext-spezifische Menüleiste und wiederum darunter eine Aktionsleiste mit Knöpfen für die wichtigsten Menüeinträge.

Im Leitfaden für Einsteiger finden Sie eine ausführliche Einführung in die wichtigsten Elemente der neuen GUI.

4.2. Fetcher und Checker

In Checkmk 2.0.0 hat sich das Prinzip der sogenannten Helper-Prozesse sehr stark verändert. Bis Checkmk 1.6.0 waren diese Helper dafür zuständig Checks durchzuführen. Die Helper-Prozesse blieben dauerhaft und sorgten so für eine deutliche Verbesserung der Performance, weil auf die zeitintensive Erzeugung neuer Prozesse verzichtet werden konnte.

In Checkmk 2.0.0 verrichten diese Helper ihre Aufgaben noch spezialisierter und zielgerichteter. Statt, wie bis zur 1.6.0, die Informationen abzuholen und anschließend auszuwerten, ist der eine Teil der Helper nur für das Abholen der Informationen zuständig. Diese Helper heißen Fetcher. Der andere Teil hingegen kümmert sich darum, die von den Fetchern übergebenen Informationen auszuwerten. Diese Prozesse nennen wir Checker.

Betrifft Sie das? Kurz: ja — sofern Sie die CEE Checkmk Enterprise Editions nutzen, in der die genannten Prozesse verfügbar sind. Jeder Administrator der Checkmk 2.0.0 Enterprise Editions sollte sich mit diesem Punkt in den Global Settings auseinandersetzen.

Was müssen Sie tun? Sie müssen in Setup > General > Global Settings die Werte für Maximum concurrent Checkmk fetchers und Maximum concurrent Checkmk checkers anpassen.

Für die Checker lässt sich klar sagen, dass der Wert auf keinen Fall größer sein sollte, als ihr Server parallel Prozesse abarbeiten kann. Im Regelfall entspricht diese Zahl der Anzahl an Rechenkernen Ihres Checkmk-Servers. Dies wäre aber das absolute Maximum, dessen Überschreitung keinen Sinn ergibt.

Im Falle der Fetcher hingegen in der verfügbare Arbeitsspeicher des Servers der limitierende Faktor. Als Ausgangswert wird hier die Zahl der Maximum concurrent Check_MK checks aus Checkmk 1.6.0 übernommen. Um hier eine gute Einstellung zu finden, empfehlen wir die Aktivierung des Seitenleistenelements Core statistics. Darin werden Ihnen die prozentualen Auslastungen der Fetcher und Checker angezeigt. Sollten die Fetcher hier regelmäßig nah bei 100 % liegen, müssen Sie deren Anzahl erhöhen, um ein performantes System zu erhalten. Wir empfehlen die Fetcher so einzustellen, dass deren Auslastung wenige Minuten nach dem Neustart einer Instanz bei 80 % liegt.

4.3. Automigration auf die neue Check-API überprüfen

Sie können überprüfen, ob alle lokalen Plugins aus den Verzeichnissen ~/local/share/check_mk/checks und ~/local/share/check_mk/inventory automatisch auf die neue Check API migriert werden können.

Betrifft Sie das? Diese Überprüfung ist sinnvoll, wenn in Ihren lokalen Dateien Checks existieren, die nach der alten, bis zur Version 1.6.0 gültige Check-API programmiert wurden

Was müssen Sie tun? Führen Sie als Instanzbenutzer das folgende Kommando aus:

OMD[mysite]:~$ cmk -R
Failed to auto-migrate legacy plugin to check plugin: mssql_counters
Please refer to Werk 10601 for more information.

Die Meldung oben zeigt, dass ein Plugin nicht automatisch migriert werden konnte. Alle gelisteten Plugins müssen von Ihnen manuell migriert werden. Es gibt einige Gründe, bei denen eine Automigration nicht durchgeführt werden kann und die Sie im genannten Werk #10601 nachlesen können. Wie Sie die manuelle Migration durchführen, erfahren Sie im Blogpost zur Migration von Checkplugins.

4.4. Neue Services erkennen

Checkmk 2.0.0 bringt eine ganze Reihe neuer Checkplugins mit sich. Sollten Sie das automatische Update der Servicekonfiguration über die periodische Serviceerkennung nicht einsetzen, werden Sie auf einer ganzen Reihe von Hosts die Suche nach Services durchführen müssen.

Wenn Ihre Hosts entsprechend organisiert sind (z.B. in Ordnern), können Sie hierfür zumeist mit der Funktion Bulk discovery arbeiten. Diese finden Sie unter Setup > Hosts > Hosts und dann im Menü Hosts > Discover services.

Im Folgenden listen wir einige Bereiche mit den meisten Neuerungen auf.

MySQL-Server

Insbesondere auf Servern auf denen MySQL läuft, wird Ihnen Checkmk eine ganze Reihe neuer Services für die Überwachung anbieten.

Netzwerkgeräte

In den Bezeichnungen von Netzwerkgeräten haben sich in vielen IT-Landschaften in der Vergangenheit Sonderzeichen eingeschlichen: von Größer- und Kleinerzeichen, über Pipe-Zeichen (|) bis hin zu Umlauten. Checkmk 2.0.0 wird diese Sonderzeichen gänzlich anders behandeln, damit es hier zu weniger Problemen kommt. Unabhängig davon, ob eine solche Benamung gut und sinnvoll ist, muss auf den entsprechenden Geräten eine Serviceerkennung gestartet werden.

Kernel-Services

Die drei Services Kernel Process Creations, Kernel Major Page Faults und Kernel Context Switches sind in Checkmk 2.0.0 zu einem Service mit dem Namen Kernel Performance zusammengefasst. Auf den Checkmk-Servern selbst muss also auch eine neue Serviceerkennung angestoßen werden. Dies sollte natürlich auf jeder Instanz gemacht werden. Auf der Kommandozeile können Sie dies mit dem folgenden Befehl erledigen:

OMD[mysite]:~$ cmk -IIv --plugins kernel,kernel_performance

5. Diagnosemöglichkeiten

5.1. Fehlermeldung: inconsistent use of tabs

Python 3 ist - auch bei den Anforderungen an eine korrekte Syntax - deutlicher strikter als die Vorgängerversion. In der Beta-Phase von Checkmk 2.0.0 sind uns immer wieder Plugins untergekommen, in denen schon kleine Fehler ein erfolgreiches Update behindern konnten. Wenn beim Update oder beim anschließenden Start der Instanz der Fehler „inconsistent use of tabs“ auftritt, empfehlen wir das betroffene Plugin mit folgenden Befehl zu entfernen.

OMD[mysite]:~$ mkp remove NameOfPlugin

6. Ausblick

In diesem Kapitel geht es um Themen, die nicht die aktuelle Checkmk Version 2.0.0, sondern eine der darauf folgenden Versionen betreffen.

6.1. Verteiltes Monitoring mit unterschiedlichen Checkmk-Versionen

Die Synchronisation der Konfigurationsdateien zwischen den Instanzen im verteilten Monitoring hat sich in der Version 2.0.0 geändert.

In der Version 1.6.0 werden alle Konfigurationsdateien zwischen der Zentralinstanz (central site) und den fernen Instanzen (remote sites) synchronisiert; in der 2.0.0 inkrementell nur noch die, die sich geändert haben.

Um den Update aller im verteilten Monitoring beteiligter Instanzen auf die 2.0.0 zu ermöglichen, funktioniert die Synchronisation für eine Übergangszeit auch in einer gemischten Umgebung, d.h., zwischen einer Zentralinstanz mit Version 1.6.0 und fernen Instanzen mit Version 2.0.0 oder zwischen einer 2.0.0 Zentralinstanz und fernen 1.6.0 Instanzen. In gemischten Umgebungen wird weiterhin, wie in der Version 1.6.0, komplett synchronisiert.

Dieser Kompatibilitätsmodus wird in der nächsten Checkmk-Version (zur Zeit geplant als 2.1.0) entfernt. Wir empfehlen, alle im verteilten Monitoring beteiligen Instanzen zügig auf die Version 2.0.0 upzudaten.

6.2. Abkündigung der Web-API

Die Web-API (auch HTTP-API genannt) wird ab der übernächsten Checkmk-Version (zur Zeit geplant als 2.2.0) nicht mehr unterstützt. Die Web-API wir durch die neue, in der 2.0.0 eingeführte REST-API abgelöst.

Auf dieser Seite