Checkmk
to checkmk.com

1. Einleitung

Dieser Artikel befindet sich im Draft-Status. Zurzeit enthält er im Wesentlichen nur die Kapitel zu Parents und Host-Gruppen, die zuvor im Artikel Verwaltung der Hosts enthalten waren. Wenn der Artikel fertig ist, soll er eine Übersicht über die verschiedenen Strukturierungselemente in Checkmk geben und ihre Gemeinsamkeiten und Unterschiede erläutern. Sie sollen dann alle Informationen zur Hand haben, um die für Ihre Umgebung passende Struktur aufzusetzen.

2. Ordner und Vererbung

2.1. Mit Ordnern strukturieren

Jeder, der mit Computern arbeitet, kennt Dateien und Ordner. In Checkmk wird dieses bekannte Prinzip zur Strukturierung aufgenommen für Hosts, die in Ordner abgelegt werden. Vordefiniert ist mit dem Ordner Main nur die Wurzel des Ordnerbaums. In diesem Hauptordner landen Sie, wenn Sie Setup > Hosts > Hosts auswählen. Unterhalb des Hauptordners können Sie Ihre eigene Ordnerstruktur mit beliebig vielen Unterordnern als Host-Baum erstellen. Oft genutzte Kriterien für den Aufbau des Host-Baums sind Standort, Technologie und Organisationsstruktur.

Über Ordner können Attribute an Unterordner und enthaltene Hosts vererbt werden. Wie die Vererbung genau abläuft, erfahren Sie im Artikel über die Verwaltung der Hosts. Vererbt werden alle Ordnerattribute, d.h. alle Host-Eigenschaften, die im Setup auf der Seite Properties of host angezeigt werden wie z.B. Monitoring-Agenten, Permissions, Management board — aber auch andere Strukturierungselemente wie Host-Merkmale, Labels oder Parents. Das ist nützlich für Attribute, die bei vielen Hosts gleich sind, z.B. ob der Host per Checkmk-Agent oder per SNMP überwacht werden soll. Ein weiterer Vorteil der Vererbung von Ordnerattributen ist, dass Sie Ordner für die Aufnahme von Hosts vorbereiten können, die erst in Zukunft hinzukommen werden. Einfach den neuen Host in den richtigen Ordner werfen und alle vordefinierten Attribute stimmen automatisch.

Um die Vorteile der Vererbung voll auszunutzen, hat es sich bewährt, als Erstes ein Ordnungssystem zu überlegen und dieses danach mit Inhalt zu füllen. Sie beschäftigen sich also erst mit dem Aufbau der Ordner und ihrer Hierarchie. Danach sortieren Sie die Hosts ein.

Das ist umso wichtiger, je größer die Umgebung ist, und je zahlreicher die Hosts sind. Zwar kann eine einmal aufgesetzte Ordnerstruktur auch nachträglich geändert und etwa Ordner problemlos umbenannt werden. Allerdings ist dabei Vorsicht geboten: Das Verschieben eines Hosts in einen anderen Ordner kann nämlich zur Folge haben, dass sich dessen Attribute ändern, ohne dass Sie sich dessen vielleicht bewusst sind.

Eine Ordnerstruktur alleine kann aber nur in seltenen Fällen die Komplexität der Wirklichkeit abbilden. Wenn Sie Ihre Hosts nach vielen unterschiedlichen Kriterien organisieren wollen (oder müssen), dann bieten sich als Ergänzung die Host-Merkmale an, die im nächsten Kapitel beschrieben werden.

2.2. Die Ordnerstruktur im Monitoring

Die Baumstruktur, die sich durch die Ordner ergibt, ist auch in der Monitoring-Umgebung sichtbar.

Filterleiste

Zum einen gibt es in in der Filterleiste der Tabellenansichten den Filter Folder, mit dem Sie die aktuelle Ansicht auf die Hosts unterhalb von einem bestimmten Ordner einschränken können.

Wie das folgende Bild zeigt, gibt es weitere Filter auch für andere Strukturierungselemente wie Host-Merkmale, Labels und Host-Gruppen .

Tabellenansicht mit Filterleiste und ausgewählten Filtern für Strukturierungselemente.
In der Filterleiste haben Sie Zugriff auf diverse Strukturierungselemente

Tree of folders

Zum zweiten bietet in der Seitenleiste das Snapin Tree of folders die gleiche Auswahlmöglichkeit wie das Monitor-Menü, aber kann zusätzlich noch die Anzeige auf einen Ordner einschränken:

Snapin Tree of folders.
Das Snapin Tree of folders zeigt ganz unten die Ordnerstruktur an

3. Host-Merkmale

4. Labels

5. Parents

5.1. Mit Parents strukturieren

Was Parents sind, und wie sie funktionieren, haben Sie bereits in den Grundlagen des Monitorings erfahren.

5.2. Parents manuell anlegen

Einen Parent für einen einzelnen Host legen Sie so fest: Wählen Sie Setup > Hosts > Hosts und klicken Sie den gewünschten Host an, um seine Eigenschaften anzuzeigen. Im Kasten Basic settings tragen Sie den Parent über seinen Namen oder die IP-Adresse ein. Sobald ein Parent angegeben wird, erscheint ein weiteres Eingabefeld für einen zusätzlichen Parent:

Dialog mit Eigenschaften eines Hosts: Parents.
Bei der manuellen Zuweisung können auch mehrere Parents angegeben werden

Wichtig: Geben Sie nur direkte Parent-Hosts ein.

Analog lassen sich Parents auch in den Eigenschaften von Ordnern festlegen und auf die beinhalteten Hosts vererben, wie es im obigen Kapitel über Ordner und Vererbung steht.

5.3. Parents per Scan anlegen lassen

Wenn Sie Ihr Monitoring frisch aufsetzen und von vorne herein sauber mit Ordnern und Parents planen, werden Sie mit der Parent-Vererbung über Ordner vermutlich gut zurecht kommen. Sie können Parents aber auch über den Parent scan automatisch einrichten lassen.

Der Scan sucht über das IP-Protokoll auf dem Network Layer des OSI-Modells (Schicht 3) via traceroute nach dem letzten Gateway vor einem Host. Wird ein solches Gateway gefunden und gehört dessen Adresse zu einem Ihrer überwachten Hosts, so wird dieser als Parent gesetzt. Bekommt traceroute von den Hops vor dem anvisierten Host keine Informationen, so wird der letzte erfolgreiche Hop verwendet.

Wird jedoch kein Gateway unter den überwachten Hosts gefunden, legt Checkmk per Default einen künstlichen „Ping-only-Host“ an, standardmäßig im Ordner Parents, der gleich mit erstellt wird.

Diese Standardeinstellung kann allerdings auch zu unerwünschten Ergebnissen führen: Nehmen wir als Beispiel ein typisches, kleines Netzwerk mit dem Adressbereich 192.168.178.0/24. Wird in das Monitoring nun ein Host mit einer Adresse aus einem anderen Adressbereich aufgenommen, der nicht angepingt werden kann, so versucht der Scan den Weg über den Router — und findet dort nur den Knotenpunkt des Netz-Providers. Und so könnte dann zum Beispiel ein Telekom-Server aus dem WAN-Bereich als Parent für diesen Host gesetzt werden. Um dies zu vermeiden, können Sie die entsprechende Option vor dem Scan deaktivieren.

Wenn Sie einen Ordner mit neuen Hosts auf Parents scannen wollen, gehen Sie wie folgt vor: Öffnen Sie zunächst den gewünschten Ordner und wählen Sie im Menü Hosts > Detect network parent hosts, um die Scan-Konfiguration zu öffnen. Sie können übrigens auch, statt eines ganzen Ordners, nur eine Auswahl von Hosts scannen lassen, indem Sie diese vorher in der ersten Spalte der Liste auswählen.

Dialog mit der Scan-Konfiguration für die Parents.
Der Scan bietet reichlich Optionen zur Konfiguration

Um alle Hosts in allen Unterordnern komplett neu einzuscannen, unabhängig von eventuell manuell gesetzten Parents, wählen Sie die Optionen Include all subfolders und Scan all hosts. Im Bereich Performance können Sie die Scan-Dauer anpassen, die bei vielen Hosts recht lang ausfallen kann.

Unter Creation of gateway hosts bestimmen Sie, ob, wie und unter welchem Alias neu gefundene Parent-Hosts erzeugt werden. Deaktivieren Sie die Funktion, wenn Sie Parents auf überwachte Hosts beschränken wollen.

Klicken Sie nun unten auf der Seite Start. Die Ausgabe des Scans können Sie live mitverfolgen.

Anschließend sehen Sie die konfigurierten Parents sowie gegebenenfalls einen neuen Ordner Parents im Main directory (falls Sie dies vor dem Scan so angegeben haben).

Liste der Hosts mit Anzeige der Parents.
Im Setup werden die Parents in einer eigenen Spalte angezeigt

Damit ist der Scan abgeschlossen.

5.4. Parents im Monitoring

Nach einem durchgeführten Scan und der Aktivierung der Änderungen werden die Parent-Child-Beziehungen als Topologie-Karte visualisiert, die Sie über Monitor > Overview > Network topology aufrufen können.

Aus den Parent-Child-Beziehungen umgesetzte Netztopologie.
Anzeige der Parent-Child-Beziehungen im Monitoring

Tipp: Wenn die Ergebnisse des Scans an einigen Stellen nicht plausibel erscheinen, ist ein manueller Aufruf von traceroute bisweilen hilfreich, um die einzelnen Hops nachzuvollziehen.

6. Host-Gruppen

6.1. Mit Host-Gruppen arbeiten

Mit Host-Gruppen können eine Reihe von Hosts zusammenfassen, um diese im Monitoring anzeigen zu lassen. So können Sie zum Beispiel alle Linux-, Windows- und bestimmte Application-Server gemeinsam betrachten, indem Sie für diese Server-Typen jeweils eine Host-Gruppe einrichten.

Eine Host-Gruppe wird über eine Regel befüllt. In der Bedingung dieser Regel können Sie, wie gewohnt, auf Ordner, Host-Merkmale und Labels zugreifen. Host-Gruppen selbst tauchen nicht standardmäßig als Auswahlkriterien in Regeln auf, denn sie dienen nicht der Konfiguration, sondern den Ansichten.

6.2. Host-Gruppe erstellen

Sie finden die Host-Gruppen unter Setup > Hosts > Host groups.

Eine neue Host-Gruppe legen Sie über den Aktionsknopf Add group an. Das Anlegen ist trivial und beschränkt sich auf die Vergabe eines eindeutigen Namens, der später nicht mehr geändert werden kann, und eines Alias:

Dialog mit Eigenschaften einer Host-Gruppe.
Mit Name und Alias ist die Host-Gruppe fertig konfiguriert

6.3. Hosts in Host-Gruppe aufnehmen

Um Hosts in Host-Gruppen aufzunehmen, bemühen Sie den Regelsatz Assignment of hosts to host groups, den Sie unter Setup > Hosts > Host monitoring rules finden. Legen Sie eine neue Regel an.

Zunächst wählen Sie im Kasten Assignment of hosts to host groups die Host-Gruppe aus, der Hosts zugeordnet werden sollen, im Beispiel etwa der Gruppe My Linux servers:

Dialog zur Auswahl der Host-Gruppe in einer Regel.
Zur Auswahl werden die bereits erstellten Host-Gruppen angeboten

Anschließend kümmern Sie sich im Kasten Conditions um den oder die Filter, um die Gruppe einzuschränken — denn Filter lassen sich natürlich auch kombinieren. Sie können Hosts nach Ordnern, Host-Merkmalen und Host-Labeln filtern oder spezifische Hosts angeben. Möchten Sie Hosts mit zwei Merkmalen aus ein und derselben Host-Merkmalsgruppe in die Host-Gruppe aufnehmen, müssen Sie zwei separate Regeln anlegen. Generell sind die Gruppenzuordnungen kumulativ. Hosts können in mehreren Gruppen sein und Gruppen von mehreren Regeln gefüllt werden.

Im folgenden Beispiel nutzen wir das von Checkmk automatisch zugewiesene Host-Label cmk/os_family:linux, um die Linux-Server der Host-Gruppe hinzuzufügen:

Dialog zur Festlegung der Bedingungen für die Zuweisung zur Host-Gruppe.
Für die Festlegung der Bedingung werden u.a. Ordner, Host-Merkmale und Host-Labels angeboten

Wie üblich, müssen Sie die Änderungen anschließend noch aktivieren.

6.4. Host-Gruppen im Monitoring

Übersicht der Host-Gruppen

Das Ergebnis Ihrer Zuordnungen im Setup können Sie komfortabel im Monitoring überprüfen. Unter Monitor > Overview > Host groups werden Ihnen die existierenden Host-Gruppen aufgelistet:

Tabellenansicht der Host-Gruppen.
Host-Gruppen im Monitoring

Über einen Klick auf den Namen einer Host-Gruppe gelangen Sie zur vollständigen Ansicht der Hosts dieser Gruppe.

Abseits dieser Übersicht können Sie Host-Gruppen an mehreren Stellen einsetzen: zur Erstellung von Tabellenansichten und NagVis-Karten sowie als Filter in Regeln für Benachrichtigungen und Alert Handler.

Tabellenansichten

Wichtig bei der Erstellung von Tabellenansichten (über Customize > Visualization > Views) ist lediglich die Auswahl einer Datenquelle (Datasource), die Host-Gruppen nutzt, z.B. Host groups.

Im Monitor-Menü finden Sie freilich bereits fertige Ansichten, beispielsweise Host groups, die wir bereits im vorherigen Abschnitt gezeigt haben.

NagVis-Karten

Auf NagVis-Karten können Sie mit dem Snapin NagVis maps der Seitenleiste zugreifen. In einer NagVis-Karte bekommen Sie als Ergebnis beispielsweise die Zusammenfassung für eine Host-Gruppe per Hover-Menü über ein einzelnes Symbol:

Anzeige einer Host-Gruppe in einer NagVis-Karte.
Zu den NagVis-Karten geht es über das Snapin NagVis maps der Seitenleiste

Benachrichtigungen und Alert Handler

In den Regelsätzen für Benachrichtigungen und Alert Handler werden Ihnen die Host-Gruppen als Filter in den Bedingungen (Conditions) angeboten:

Dialog zur Auswahl von Host-Gruppen in einer Benachrichtigungsregel.
Auswahl der Host-Gruppen in der Bedingung einer Benachrichtigungsregel
Auf dieser Seite