Checkmk
to checkmk.com

1. Einleitung

Sollten Sie in Checkmk mal mit Problemen konfrontiert sein, die Sie nicht selbsttätig — unter Zuhilfenahme dieses Handbuchs — lösen können, so bieten sich Ihnen mit dem offiziellen Checkmk-Support und dem Checkmk-Forum zwei exzellente Anlaufstellen. In beiden Fällen ist eine möglichst präzise Beschreibung des Fehlers oder der Problemstellung äußerst hilfreich. Zudem sind bestimmte Informationen zu Ihrer Checkmk-Umgebung für eine schnelle Analyse und Lösung zwingend erforderlich. Die grundlegendsten Informationen stellen hierbei sicherlich die von Ihnen eingesetzte Version und Edition von Checkmk dar. Je nach Situation können jedoch wesentlich mehr Informationen erforderlich sein, um Ihrem Problem auf Schliche zu kommen. In der Vergangenheit hat Ihnen der Checkmk-Support gesagt, welche Informationen Sie ihm zur Verfügung stellen müssen.

Mit Version 2.0.0 kann das Leben nun viel einfacher sein, da Sie ein in Checkmk integriertes Werkzeug haben, das die benötigten Informationen generiert — die Support Diagnostics. Statt dass der Support Ihnen, wie oben erwähnt, eine "Wunschliste" vorlegt und Sie damit auf eine Schnitzeljagd durch die unterschiedlichen Bereiche von Checkmk schickt, können Sie mit nur wenigen Klicks in der grafischen Oberfläche ein maßgeschneidertes Päckchen mit Informationen zusammenstellen — in diesem Artikel Dump genannt. Hier entscheiden Sie selbst, ob Sie Konfigurationsdateien einschließen wollen, die möglicherweise vertrauliche Informationen enthalten — oder nicht, und wenn ja, welche.

2. Supportinformationen zusammenstellen

2.1. Instanz auswählen

Nach Klick auf Setup > Maintenance > Support diagnostics bietet sich Ihnen folgendes aufgeräumtes Bild:

support diagnostics

Falls Sie ein verteiltes Monitoring einsetzen, können Sie im ersten Feld die Instanz (Site) auswählen, von welcher Sie die im Folgenden auszuwählenden Daten sammeln wollen.

2.2. General information

Unter General information finden Sie im Grunde nur einen Hinweis darauf, dass die Informationen zur Checkmk-Version und dem genutzten Betriebssystem in jedem Fall aufgenommen werden. Würden Sie es dabei belassen — also keine der weiteren Optionen auswählen — und über Collect dump die Sammlung der Daten starten, erhielten Sie eine Datei, die nur die folgenden Daten enthielte:

general.json
{
    "arch": "x86_64",
    "core": "cmc",
    "edition": "cee",
    "os": "focal",
    "python_paths": [
        "/opt/omd/versions/2020.12.03.cee/bin",
        "/omd/sites/heute/local/lib/python3",
        ...
        "/omd/sites/heute/lib/python3"
    ],
    "python_version": "3.8.6 (default, Oct 22 2020, 16:40:44) \n[GCC 10.1.0]",
    "time": 1607002909.767516,
    "time_human_readable": "2020-12-03 14:41:49.767516",
    "version": "2.0.0b1"
}

2.3. Optional general information

Unter Optional general information finden Sie dann Auswahlmöglichkeiten, die Sie schon im Vorfeld zu Ihrer Fragestellung passend zusammenstellen können oder die ggf. im Support explizit angefragt werden.

Wählen Sie hier Local Files, erstellt Checkmk zusätzlich eine Übersicht aller Dateien, die im Verzeichnis ~/local/ Ihrer Instanz liegen. Dies kann mitunter hilfreich sein, wenn Ihre lokale Anpassungen zu einem kürzlich durchgeführten Update von Checkmk inkompatibel sind. Auch alle installierten MKPs werden hier mit erfasst.

Mit der Auswahl von OMD Config können Sie dem Dump die Informationen über Ihre Konfiguration von OMD beifügen. Diese entsprechen genau dem, was Sie sich auf der Kommandozeile mit dem Befehl omd config show ausgeben lassen können.

omd_config.json
{
    "CONFIG_ADMIN_MAIL": "",
    "CONFIG_APACHE_MODE": "own",
    "CONFIG_APACHE_TCP_ADDR": "127.0.0.1",
    "CONFIG_APACHE_TCP_PORT": "5000",
    "CONFIG_AUTOSTART": "on",
    "CONFIG_CORE": "cmc",
    "CONFIG_LIVEPROXYD": "on",
    "CONFIG_LIVESTATUS_TCP": "on",
    "CONFIG_LIVESTATUS_TCP_ONLY_FROM": "0.0.0.0 ::/0",
    "CONFIG_LIVESTATUS_TCP_PORT": "6557",
    "CONFIG_LIVESTATUS_TCP_TLS": "off",
    "CONFIG_MKEVENTD": "on",
    "CONFIG_MKEVENTD_SNMPTRAP": "on",
    "CONFIG_MKEVENTD_SYSLOG": "on",
    "CONFIG_MKEVENTD_SYSLOG_TCP": "on",
    "CONFIG_MULTISITE_AUTHORISATION": "off",
    "CONFIG_MULTISITE_COOKIE_AUTH": "off",
    "CONFIG_NAGIOS_THEME": "classicui",
    "CONFIG_NSCA": "off",
    "CONFIG_NSCA_TCP_PORT": "5667",
    "CONFIG_PNP4NAGIOS": "on",
    "CONFIG_TMPFS": "on"
}

Aktivieren Sie die Checkbox Checkmk Overview werden generelle Informationen zu allen auf Ihrem Checkmk-Server laufenden Instanzen gesammelt. Außerdem wird eine Aufstellung aller installierten Checkmk-Versionen angelegt. Und falls es sich bei der oben ausgewählten Instanz um den Knoten eines Clusters handelt, wird dieser Umstand ebenfalls hier festgehalten.

Nach der Aktivierung der Option Checkmk Configuration files haben Sie die Möglichkeit, mehr oder weniger vertrauliche Daten aus diesem Teil des Pakets zu entfernen — über die Vorgabe Pack only Low sensitivity files. Alle Dateien, die Sie hier auswählen können, stammen aus dem Verzeichnis ~/etc/checkmk und seinen Unterverzeichnissen. Eine genaue Auflistung sehen Sie direkt unter dem Dropdown-Menü. Mit der Option Select individual files from list haben Sie gar die Möglichkeit, nur bestimmte Dateien mit in den Dump zu packen.

Bei dieser Option sehen Sie auch, welche Dateien welche Vertraulichkeitsstufe haben; also Hoch/High (H) für Dateien mit zum Beispiel Passwörtern, Mittel/Middle (M), wenn sie etwa Adressen oder Nutzernamen beinhalten, oder letztlich Niedrig/Low (L).

support diagnostics sensivity levels

Als Nächstes haben Sie die Möglichkeit, Performance Graphs of Checkmk Server mit einzupacken. Gerade bei Problemen mit der Performance einer Checkmk-Instanz werden diese Reporte fast immer angefragt. Es bietet sich also an, diese bei einem Performance-Problem einfach gleich mitzuschicken. Die Support diagnostics nehmen Ihnen hier die Arbeit ab, eine ganze Reihe an Reporte manuell als PDF-Dateien zu erzeugen. Unter anderem werden hier die Reporte des Service OMD mysite performance über die letzten 25 Stunden und die letzten 35 Tage generiert.

2.4. Component specific information

Über die Sektion Component specific information können Sie erneut sehr granular darüber entscheiden, welche Informationen aus Ihren globalen Checkmk-Einstellungen, Ihren Hosts und Ordnern sowie Ihren Einstellungen bezüglich Alarmierung mit in den Dump gepackt werden sollen.

Wichtig: In den Dateien, die Sie hier auswählen, können je nach Konfiguration streng vertrauliche Informationen, wie beispielsweise Passwörter, enthalten sein. Im Regelbetrieb sind diese Daten dadurch geschützt, dass nur der Instanzbenutzer und Administratoren Zugriff darauf haben. Wenn Sie diese Daten zu Diagnose- und Analysezwecken Dritten zur Verfügung stellen, sollten Sie mit großer Vorsicht vorgehen.

Im Unterpunkt Global Settings stehen Ihnen alle global.mk-Dateien der einzelnen Komponenten Ihrer Checkmk-Instanz, wie beispielweise des Dynamic-Configuration-Daemons oder auch des Livestatus-Proxy-Daemons, zur Auswahl.

Die Informationen, die sich über den Unterpunkt Hosts and Folders auswählen lassen, können unter anderem dabei helfen, ungünstige Regelwerke und Fehler in der Host-Konfiguration zu finden.

Im Abschnitt Notifications finden Sie neben den entsprechenden Konfigurationsdateien noch eine Auswahl für diverse Log-Dateien. Bei Schwierigkeiten mit Ihren Alarmierungen können Sie oder in letzter Instanz der Checkmk-Support in diesen Logs häufig die Ursache entdecken.

Hinweis: Um in den Logs möglichst viele detaillierte Informationen über das Verhalten von Checkmk finden zu können, kann es mitunter notwendig sein, das sogenannte Log-Level in Checkmk kurzzeitig zu erhöhen. Die entsprechenden Einstellungen finden Sie über Setup > General > Global settings. Geben Sie auf dieser Seite am einfachsten logging in das Feld Filter settings ein und setzen Sie dann beispielsweise das Log-Level für den Core auf Debug. Wenn Sie die Instanz jetzt einfach einige Minuten weiter laufen lassen oder einen reproduzierbaren Fehler wiederholen, steigt so die Chance, dass sich dazu auch Informationen im Log verfangen.

3. Support Diagnostics über die Kommandozeile

Wie so oft in Checkmk, lässt sich auch diese Aufgabe gut über ein Terminal erledigen. Mit dem Befehl cmk und der Option --create-diagnostics-dump geht das ganz leicht von der Hand. Für alle oben beschriebenen Wahlmöglichkeiten können Sie jeweils den zugehörigen Parameter an den Befehl anhängen.

cmk --create-diagnostics-dump --local-files --omd-config --performance-graphs

Folgende Optionen ergänzen die Ausgabe des Befehls:

--local-files

Liste aller installierter, unpaketierter und optionaler Dateien unterhalb von ~/local. Dies beeinhaltet auch Informationen über installierte MKPs.

--omd-config

Inhalt der Datei ~/etc/omd/site.conf.

--checkmk-overview

Informationen aus HW/SW Inventory-Knoten Software > Applications > Checkmk der Checkmk-Server.

--checkmk-config-files FILE,FILE …​

Alle .mk- und .conf-Dateien aus dem Verzeichnis ~/etc/checkmk.

--checkmk-log-files FILE,FILE …​

Alle Log-Dateien (.log und .state) aus ~/var/log.

--performance-graphs

Performancegraphen (bspw. CPU load, CPU utilization) des Checkmk-Servers.

Diese und alle weiteren Optionen des cmk-Befehls finden Sie wie gewohnt in der Ausgabe von cmk --help.

4. Fehlende Informationen im Dump

4.1. Aktueller Agent benötigt

Um gewisse Informationen in den Support Diagnostics ausgeben zu können, müssen Sie sicherstellen, dass auf den Checkmk-Servern mindestens der Agent mit der Versionsnummer 2.0.0 installiert ist. Im Besonderen die Informationen, die aus dem HW/SW Inventory des Checkmk-Servers stammen, wurden in älteren Versionen des Agenten noch gar nicht bereitgestellt.

4.2. Label cmk/check_mk_server:yes

Die Support Diagnostics sind darauf angewiesen, dass die Checkmk-Server in Ihrer Umgebung entsprechend gelabelt sind. Sollten Sie in einem erstellten Dump gewisse Daten vermissen, prüfen Sie bitte, ob Ihre Checkmk-Server über das Label cmk/check_mk_server:yes verfügen.

Auf dieser Seite