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, ist mit Dateien und Ordnern vertraut. In Checkmk wird dieses bekannte Prinzip für die Strukturierung von Hosts übernommen, die in Ordnern gespeichert sind. Vordefiniert ist mit dem Ordner Main nur die Wurzel des Ordnerbaums. Unterhalb dieses Hauptordners können Sie Ihre eigene Ordnerstruktur mit beliebig vielen Unterordnern als Host-Baum erstellen. Übliche Kriterien für den Aufbau des Host-Baums sind Standort, Technologie und Organisationsstruktur. Im Hauptordner Main landen Sie, wenn Sie Setup > Hosts > Hosts auswählen.
Ü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 die Ordnerattribute, d.h. die Ordnereigenschaften, die im Setup auf der Seite Folder properties angezeigt werden wie z.B. Monitoring-Agenten und Permissions — aber auch andere Strukturierungselemente wie Host-Merkmale, Labels oder Parents. Viele der Ordnereigenschaften finden Sie auch bei den Host-Eigenschaften auf der Seite Properties of host. Die Vererbung ist besonders 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, weil der Zielordner andere Attribute haben kann als der Quellordner.
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.
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:
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:
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.
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 in Main (falls Sie dies vor dem Scan so angegeben haben).
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:
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:
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
:
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:
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:
Ü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:
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: