Checkmk
to checkmk.com

1. Einleitung

Die wichtigste Aufgabe beim Einrichten des Monitorings ist sicherlich das Verwalten der zu überwachenden Systeme — der Hosts. Dabei geht es nicht nur darum, dass diese mit den richtigen Stammdaten (z.B. Host-Name, IP-Adresse) eingetragen sind. Auch Einstellungen für das Monitoring (z.B. Benachrichtigungen, Schwellwerte, usw.) wollen gepflegt werden.

Checkmk wurde von an Anfang für Umgebungen mit sehr vielen Hosts entworfen. Um hier die Konfiguration für den Nutzer beherrschbar zu machen, verfolgt Checkmk bei der Konfiguration einen anderen Ansatz als alle anderen Systeme, die aus dem Ökosystem von Nagios heraus entstanden sind. Die wichtigsten Prinzipien sind:

  • Eine Hierarchie von Ordnern, in denen Hosts abgelegt werden.

  • Host-Merkmale (host tags) und eine darauf basierende regelbasierte Konfiguration.

  • Automatische Erkennung der zu überwachenden Services.

1.1. Ordner und ihre Hierarchie

Jeder, der mit Computern arbeitet, kennt das Prinzip von Dateien und Ordnern. Checkmk verwendet ein analoges Prinzip für die Verwaltung der Hosts, welche quasi die Rolle der Dateien übernehmen. Da Ordner selbst in Ordnern enthalten sein können, ergibt sich eine Baumstruktur. Dabei sind drei Kriterien für den Aufbau des Host-Baums verbreitet:

  • Standort (z.B. München versus Shanghai)

  • Host-Typ (z.B. Switch versus Loadbalancer)

  • Organisationsstruktur (z.B. Datenbankgruppe versus Netzwerker)

Natürlich können Sie das auch mischen, also z.B. in der ersten Ebene des Baums nach Standort und in der zweiten dann nach Host-Typ aufteilen.

Wenn Sie einfache Dinge lieben, sollten Sie die Hosts nur in die „Blätter“ des Baums packen (auch wenn Checkmk Hosts in mittleren Ordnern erlaubt). Folgendes Beispiel zeigt eine einfache Baumstruktur nach Host-Typ: Die Hosts A, B und C sind im Ordner „Servers“ und D, E und F im Ordner „Network“:

Illustration einer Ordnerstruktur mit zwei Unterordnern.

1.2. Vererbung von Attributen

Wenn Sie den Baum geschickt aufbauen, können Sie ihn nutzen, um sinnvoll Attribute zu vererben. Das ist vor allem bei solchen Attributen nützlich, die bei großen Gruppen von Hosts gleich sind, wie z.B. die SNMP-Community oder Host-Merkmale (host tags), mit denen Sie festlegen, ob der Host per Checkmk-Agent oder per SNMP überwacht werden soll.

Folgendes Beispiel zeigt die Vererbung der Merkmale „Criticality“ (mit den Werten prod und test) und „Checkmk agent“ (mit den Ausprägungen tcp und no-agent). Das Merkmal tcp wird dabei automatisch gesetzt, wenn der Checkmk-Agent und/oder eine API-Integration ausgewählt ist, während no-agent die Option der Wahl ist, wenn über SNMP überwacht werden soll.

Illustration einer Ordnerstruktur mit zugewiesenen Attributen auf unterschiedlichen Ebenen.

Weiter unten im Baum definierte Attribute haben immer Vorrang. Direkt beim Host festgelegte Werte überschreiben also alles, was von den Ordnern kommt. In obigem Beispiel ergeben sich so für den Host A die Merkmale prod und tcp, für D prod und no-agent und für den Host F wegen des expliziten Attributs die Werte test und no-agent.

Ein großer Vorteil dieses Schemas gegenüber dem weit verbreiteten „Copy & Paste“-Ansatzes von datenbankorientierten Konfigurationssystemen: Sie können Attribute auch für solche Hosts festlegen, die erst in Zukunft hinzukommen werden. Das macht die Arbeit für Sie (oder Ihre Kollegen) leichter: Einfach den neuen Host in den richtigen Ordner werfen und alle Einstellungen stimmen automatisch.

1.3. Berechtigungen

Ein weiterer Zweck der Ordner ist die Vergabe von Berechtigungen für das Anlegen und Bearbeiten von Hosts. Checkmk unterscheidet dabei die Rechte in der Konfigurationsumgebung von den Kontaktzuordnungen in der Monitoring-Umgebung. Denn es ist nicht immer gesagt, dass die gleichen Personen, die das Recht haben, einen Host anzulegen, auch diejenigen sind, die im operativen Monitoring für diesen Host verantwortlich sind. Die Berechtigungen werden im Artikel zu Benutzern, Zuständigkeiten und Berechtigungen erläutert.

Das Anlegen neuer Ordner erledigen Sie mit Symbol zum Erstellen eines Ordners. Add folder. Die Optionen sind dieselben wie beim Anlegen neuer Hosts, was wir im Folgenden detailliert erläutern.

2. Hosts im Setup erstellen

Zur Verwaltung der Ordner und Hosts gelangen Sie mit Setup > Hosts > Hosts:

Ordneransicht 'Main directory' mit mehreren Unterordnern.

Das Anlegen eines neuen Hosts mit dem Aktionsknopf Add host, das Symbol zum Klonen eines Listeneintrags. Klonen oder das Symbol zum Bearbeiten eines Listeneintrags. Editieren eines bestehenden Hosts bringt Sie zu der Seite mit den Attributen des Hosts. Diese sind in mehrere Abschnitte (oder Kästen) eingeteilt, von denen wir die wichtigsten vorstellen werden.

2.1. Der Host-Name

Am wichtigsten ist der Host-Name. Das Feld Hostname dient überall innerhalb von Checkmk zur eindeutigen Identifizierung des Hosts. Der Host-Name wird in interne Referenzen eingetragen, als Teil von URLs verwendet, dient als Teil von Dateinamen und Verzeichnissen, taucht in Logdateien auf usw. Es gibt zwar eine Funktion, um Host-Namen später zu ändern, dies ist aber ein aufwendiger und komplexer Vorgang, den Sie vermeiden sollten. Wählen Sie daher den Namen sorgfältig. Der Host-Name muss nicht unbedingt mit dem DNS-Namen des Hosts übereinstimmen, aber es macht etliche Dinge einfacher.

Dialog mit Eigenschaften eines Hosts: der Host-Name.

2.2. Alias und IP-Adresse

Sie können unter Alias einen alternativen, beschreibenden Namen für den Host vergeben, welcher an vielen Stellen in der GUI und in Berichten angezeigt wird. Vergeben Sie keinen Alias, so wird als Alias der Host-Name verwendet.

Dialog mit Eigenschaften eines Hosts: Alias und IP-Adresse.

Für die Konfiguration der IP-Adresse haben Sie vier Möglichkeiten:

MöglichkeitVorgehenDNS passiert

1.

Sie geben keine IP-Adresse an. Der Host-Name muss per DNS auflösbar sein.

beim Aktivieren der Änderungen

2.

Sie geben eine IP-Adresse ein — in der üblichen Punkt-Notation.

nie

3.

Sie geben anstelle einer IP-Adresse einen alternativen Hostnamen ein, welcher per DNS auflösbar ist.

beim Ausführen der Checks

4.

Über den Regelsatz Hosts with dynamic DNS lookup during monitoring bestimmen Sie Hosts für ein dynamisches DNS. Das Resultat ist analog zu 3, nur dass für die DNS-Anfrage jetzt das Feld Hostname verwendet wird.

beim Ausführen der Checks

Bei der 1. Möglichkeit verwendet Checkmk eine Cache-Datei, um wiederholte DNS-Anfragen während der Aktivierung der Änderungen zu vermeiden. Dieser Cache ist sehr wichtig für die Beschleunigung des Vorgangs. Außerdem sorgt er dafür, dass Sie eine geänderte Konfiguration auch dann aktivieren können, wenn das DNS einmal nicht funktioniert.

Der Haken ist, dass Checkmk die Änderung einer IP-Adresse im DNS nicht automatisch mitbekommt. Deswegen gibt es in den Eigenschaften des Hosts (auf der Seite Properties of host) den Menüeintrag Hosts > Update DNS cache, welcher den kompletten DNS-Cache löscht und beim nächsten Aktivieren der Änderungen eine neue Auflösung erzwingt. Diese Datei liegt übrigens in Ihrer Instanz unter ~/var/check_mk/ipaddresses.cache. Das Löschen dieser Datei hat den gleichen Effekt wie die Ausführung von Update DNS cache.

Checkmk unterstützt übrigens auch Monitoring via IPv6 — auch im Dualstack.

2.3. Monitoring-Agenten und benutzerdefinierte Attribute

Die letzten wichtigen Einstellungen finden Sie in den Kästen Monitoring agents und Custom attributes:

Dialog mit Eigenschaften eines Hosts: Monitoring-Agenten und benutzerdefinierte Attribute.

Die zuletzt genannten benutzerdefinierten Attribute können Sie beliebig erweitern und dazu verwenden, über Regeln sehr effizient alle Parameter von Hosts und Services zu konfigurieren. Criticality und Networking Segment sind lediglich Beispiele.

Wichtiger ist die Angabe eines Monitoring-Agenten unter Monitoring agents, da dieser bestimmt, wie der Host seine Daten an das Monitoring übermittelt.

Folgende Monitoring-Agenten sind möglich:

Checkmk agent / API integrations

Der Host soll über den Checkmk-Agenten überwacht werden (welcher dazu natürlich installiert sein muss). Auch im Falle von Spezialagenten, wie z.B. beim VMware ESXi-Monitoring, wählen Sie diese Einstellung.

SNMP

Der Host soll über SNMP überwacht werden. Diese Auswahl lässt unterhalb von SNMP das Feld SNMP credentials auftauchen, mit der Sie die SNMP-Community festlegen können. Da diese meist für viele Host gleich ist, empfiehlt es sich aber eher, diese Einstellung im Ordner zu hinterlegen. Wenn Sie gar nichts spezifizieren, wird automatisch public angenommen.

Piggyback

Es werden Piggyback-Daten anderer Hosts verwendet.

No API integrations, no Checkmk agent

Ein solcher Host wird agentenlos und nur mit aktiven Checks überwacht. Regeln dafür finden Sie u.a. in Setup > Hosts > HTTP, TCP, Email, …​. Wenn Sie nicht mindestens einen aktiven Check definieren, so erzeugt Checkmk automatisch einen PING-Service. Diese Einstellung finden Sie als Option unter Checkmk agent / API integrations.

2.4. Labels

Ein Host in Checkmk kann beliebig viele Labels haben. Labels sind ähnlich wie Host-Merkmale (host tags), müssen aber im Gegensatz zu diesen nicht vordefiniert werden, sondern Sie können Sie frei vergeben.

Sie weisen dem Host ein Label zu, indem Sie zuerst Labels markieren. Klicken Sie dann in das Feld Add some Label, geben Sie die Label-Definition in der Form Schlüssel:Wert ein und schließen diese mit [Enter] ab. Mit dem Kreuzchen können Sie ein Label wieder entfernen.

Dialog mit Eigenschaften eines Hosts: Labels.

Wenn Sie für ein Label eigentlich keinen Wert brauchen, sondern nur wissen wollen, ob an dem Host ein bestimmtes Label hängt oder nicht, vergeben Sie z.B.: einfach yes als Wert (vm:yes). Falls Sie dieses Schema konsequent einhalten, haben Sie es später leichter, für solche Labels Bedingungen zu definieren.

Übrigens können Labels auch automatisch an Hosts gehängt werden: zum einen durch externe Konnektoren, welche automatisch Hosts anlegen (z.B. automatisch erkannte Hosts in Cloud-Umgebungen), zum anderen durch Regeln.

2.5. Speichern und weiter

Beim Erstellen oder Klonen eines Hosts ist nach der Festlegung der Eigenschaften der nächste sinnvolle Schritt Save & go to service configuration. Damit gelangen Sie in die automatische Service-Erkennung, der wir uns im nächsten Kapitel widmen wollen.

Dagegen bringt Sie Save & go to connection tests zum Verbindungstest, mit dem Sie zuerst einmal testen können, ob Sie mit den festgelegten Einstellungen überhaupt Daten von dem Host - sei es per Agent oder was auch immer Sie vorher konfiguriert haben - bekommen. Einzelheiten zum Verbindungstest finden Sie im Artikel über die Monitoring-Agenten.

3. Services konfigurieren

Der nächste Schritt nach dem Anlegen eines Hosts ist die Konfiguration der darauf zu überwachenden Services. Alle Einzelheiten der automatischen Erkennung und Konfiguration der Services erfahren Sie in einem eigenen Artikel. Wir schildern hier nur das Wichtigste.

Zur Liste der konfigurierten Services eines Hosts gelangen Sie im Setup auf den folgenden Wegen:

  • Über die Host-Liste:
    Wählen Sie Setup > Hosts > Hosts. In der Host-Liste klicken Sie auf Symbol zur Anzeige der konfigurierten Services..

  • Über die Eigenschaften eines Hosts:
    Wählen Sie Setup > Hosts > Hosts. In der Host-Liste klicken Sie den Host an. Auf der Seite Properties of hosts wählen Sie im Menü Hosts > Save & go to service configuration. Wenn Sie stattdessen im Menü Hosts > Service configuration wählen, kommen Sie ebenfalls zur Service-Liste — ohne allerdings die Host-Eigenschaften zu speichern.

Sie können diese Seite auch im Monitoring aufrufen über die Service-Liste eines Hosts: Wählen Sie Monitor > All hosts. In der Host-Liste klicken Sie den Host an. Auf der Seite Services of Host wählen Sie beim Service Check_MK Discovery im Symbol zur Anzeige des Aktionsmenüs. Aktionsmenü den Eintrag Symbol zur Anzeige der konfigurierten Services. Edit services.

Für welchen Weg Sie sich entschieden haben, das Ergebnis sollte ungefähr so aussehen:

Liste der auf dem Host gefundenen Services.

Die wichtigsten Aktionen werden Ihnen in der Aktionsleiste angeboten, weitere finden Sie im Menü Actions. Zu den möglichen Aktionen einige Hinweise:

  • Der Knopf Fix all ist meist die beste Aktion für einen neuen Host oder für einen bestehenden Host, bei dem Services gefunden wurden, die aktuell nicht überwacht werden: Undecided services (currently not monitored). Fix all fügt die fehlenden Services hinzu, entfernt dazu verschwundene Services und übernimmt gefundene Host-Labels.

  • Der Knopf Full service scan sorgt dafür, dass frische vollständige Daten vom Zielgerät geholt werden. Denn um einen schnellen Seitenaufbau zu ermöglichen, arbeitet Checkmk mit gecachten Dateien, die beim normalen Monitoring aufgezeichnet werden. Bei SNMP-Geräten löst der Knopf eine aktive Suche nach neuen Check-Plugins aus und findet eventuell weitere Services.

  • Remove all and find new ist das Gleiche wie ein Entfernen und Neuermitteln aller Services. Das ist bei Services nützlich, die sich bei der Erkennung einen aktuellen Zustand merken (z.B. den aktuelle Zustand von Switch Ports).

  • Sie können sich Checkboxen in der Liste mit Display > Show checkboxes einblenden lassen und dann einzelne Services an- oder abwählen.

    Dies ist jedoch nur eine vorübergehende Lösung, da die Service-Erkennung fehlende Services immer wieder aufzeigen wird. Ein permanentes Ignorieren erfordert den Klick auf Symbol zum Deaktivieren eines Services., das den Service dauerhaft deaktiviert (disabled). Mit Symbol zur Aufnahme eines Services ins Monitoring. können Sie einen deaktivierten Service wieder ins Monitoring zurückholen.

  • Nach jeder Änderung ist wie immer ein Aktivieren der Änderungen nötig, um diese wirksam zu machen.

  • Alles Weitere erfahren Sie im Artikel über die Service-Konfiguration.

4. Bulk-Aktionen

Gelegentlich kommt es vor, dass Sie Dinge wie Löschen, Verschieben, Editieren oder Service-Erkennung für eine ganze Reihe von Hosts gleichzeitig durchführen möchten. Dazu gibt es in Checkmk die sogenannten „Bulk-Aktionen“.

Sie finden diese Aktionen auf der Seite eines geöffneten Ordners im Menü Hosts im Abschnitt On selected hosts:

Menü 'Hosts' mit den Bulk-Aktionen.

Die Aktionen beziehen sich immer auf die Hosts, die direkt im angezeigten Ordner liegen — und von Ihnen ausgewählt wurden. Dazu dienen die Checkboxen in der ersten Spalte der Host-Liste. Wenn Sie das Kreuz im Spaltentitel anklicken, werden alle Hosts ausgewählt — und nach erneutem Klick wieder abgewählt.

Hier einige Hinweise zu den angebotenen Aktionen:

  • Delete hosts - Löscht die Hosts — nach Bestätigung der Nachfrage.

  • Edit attributes - Ändert eines oder mehrere Attribute der Hosts. Das Attribut wird dadurch in die Hosts explizit eingetragen.

    Achtung: Es ist ein Unterschied, ob ein Host ein Attribut von einem Ordner erbt oder es explizit gesetzt ist, wie durch diese Aktion. Warum? In letzterem Fall wird eine Änderung der Attribute im Ordner keine Wirkung haben, da Werte, die direkt beim Host festgelegt sind, immer Vorrang haben. Aus diesem Grund gibt es auch die folgende Aktion.

  • Remove explicit attribute settings - Entfernt von den Hosts explizite Attribute und setzt die Vererbung wieder in Kraft. Das Gleiche würden Sie erreichen, wenn Sie jeden Host einzeln auswählen und die Checkboxen bei den betroffenen Attributen abwählen würden.

    Generell ist es eine gute Idee, so wenig explizite Attribute wie möglich zu verwenden. Wenn alles korrekt über die Ordner vererbt wird, vermeidet das Fehler und ermöglicht das bequeme Aufnehmen von neuen Hosts.

  • Discover services - Service-Erkennung für viele Hosts gleichzeitig durchführen.

  • Detect network parent hosts - Parents per Scan anlegen lassen.

  • Move to other folder - Verschiebt die Hosts in einen anderen Ordner. Nach Auswahl dieses Eintrags werden Ihnen die bestehenden Ordner als mögliche Ziele angeboten.

Checkmk bietet Ihnen die komfortable Möglichkeit zur Suche in der Monitoring-Umgebung (im Monitor-Menü) und in der Konfigurationsumgebung (im Setup-Menü). Die Ergebnisse können unterschiedlich sein, da die Hosts in der Monitoring-Umgebung nicht unbedingt die gleichen sein müssen wie in der Konfigurationsumgebung: Wenn Sie z.B. einen Host im Setup erstellt haben, ohne diese Änderung zu aktivieren, existiert dieser (noch) nicht im Monitoring.

Zur Suche nach Hosts in der Konfigurationsumgebung gibt es noch eine andere Möglichkeit, die den Vorteil hat, dass Sie Hosts nach verschiedenen Kriterien suchen lassen können und die gefundenen Hosts auf einer Ergebnisseite gelistet werden, von der aus Sie die im vorherigen Kapitel vorgestellten Bulk-Aktionen starten können.

Sie finden diese Suche wieder auf der Seite eines geöffneten Ordners im Menü Display > Search hosts. Die Suche geht immer vom aktuellen Ordner aus rekursiv in alle Unterordner. Um global zu suchen, verwenden Sie einfach die Suche vom Hauptordner Main directory aus:

Dialog zur Suche nach Hosts in einem Ordner.

Beim Feld Hostname gilt hier eine Infix-Suche — der eingegebene Text muss nur im Host-Namen enthalten sein. Ferner können Sie die Suche auch über andere Attribute einschränken. Alle Bedingungen werden mit UND verknüpft. Das Beispiel aus dem Bild oben sucht also alle Hosts mit my im Namen. die gleichzeitig das Merkmal Test system haben.

Mit Submit starten Sie die Suche. Die Ergebnisseite verhält sich fast wie ein normaler Ordner. Das bedeutet, dass Sie hier die Bulk-Aktionen nutzen können, die im Menü Hosts im Abschnitt On selected hosts angeboten werden, um z.B. alle gefundenen Hosts in einen bestimmten Ordner zu verschieben.

Wenn Ihnen das Ergebnis nicht gefällt, können Sie die Suche auf der Ergebnisseite mit Refine search anpassen und verfeinern.

6. Hosts über CSV-Daten importieren

Wenn Sie eine größere Anzahl von Hosts aus einem früheren Monitoring-System oder einer Excel-Tabelle übernehmen möchten, können Sie sich die Arbeit einfacher machen, indem Sie die Hosts mithilfe einer CSV-Datei importieren. Checkmk ist beim Einlesen von CSV-Daten recht flexibel. Im einfachsten Fall haben Sie schlicht eine Datei, in der in jeder Zeile ein Host-Name steht, der per DNS auflösbar ist:

import.csv
myserver01
myserver02

Es ist aber auch möglich, beim Import gleich weitere Attribute zu übernehmen. Wenn die CSV-Datei in der ersten Zeile die Namen der Attribute enthält, kann Checkmk diese sogar automatisch zuordnen. Dabei versucht Checkmk tolerant gegenüber einer genauen Schreibweise zu sein. In folgender Datei kann Checkmk automatisch alle Spalten korrekt zuordnen:

import.csv
hostname;ip address;alias;agent;snmp_ds
lnx17.example.com;192.168.178.48;Webserver;cmk-agent;
lnx18.exmpl.com;192.168.178.55;Backupserver;cmk-agent;
switch47-11;;Switch47;no-agent;snmp-v2

Das Vorgehen ist wie folgt: Wählen oder erstellen Sie einen Ordner, in den der Import erfolgen soll. Wechseln Sie in diesen Ordner und wählen Sie im Menü Hosts den Eintrag Symbol zum Import mehrerer Hosts im CSV-Dateiformat. Import hosts via CSV file.

Auf der folgenden Seite laden Sie entweder die Datei hoch oder wählen Content of CSV File und kopieren den Dateiinhalt in das Feld, das unter der Liste eingeblendet wird. Sie können auf den neu importierten Hosts sogleich eine automatische Service-Erkennung ausführen lassen. Dafür sorgt die Option Perform automatic service discovery:

Dialog zur Eingabe der CSV-Daten für den Import.

Per Klick auf Symbol zum Sichern der Eingaben. Upload erhalten Sie die nächste Seite:

Dialog zur Kontrolle der CSV-Daten für den Import.

Die Auswahl eines Trennzeichens ist hier nicht notwendig, weil dieses automatisch erkannt wird. Wählen Sie aber die Option Has title line. Unter Preview sehen Sie die Vorschau der Tabelle.

Falls die automatische Erkennung einer Spalte nicht klappt, können Sie auch manuell das Attribut auswählen, welches zugeordnet werden soll. Bei den Host-Merkmalen (Tag) muss in der CSV-Datei unbedingt die interne ID des Merkmals stehen (hier z.B. cmk-agent und nicht der in der GUI sichtbare Titel Checkmk agent / API integrations). Wie die internen IDs der Host-Merkmale genau lauten, können Sie unter Setup > Hosts > Tags nachsehen. Die IDs der vordefinierten (builtin) Merkmale finden Sie im Artikel über die Host-Merkmale.

Sie starten den Import durch Klick auf Symbol zum Sichern der Eingaben. Import. Falls Sie die Option Perform automatic service discovery gewählt haben, landen Sie auf der Seite Bulk discovery. Nach Abschluss der Service-Erkennung fehlt nur noch die gewohnte Aktivierung der Änderungen und alle neuen Hosts befinden sich im Monitoring.

7. Parents anlegen

Was Parents sind, und wie sie funktionieren, haben Sie bereits erfahren. Aber wie legt man Parents überhaupt an? Die Antwort ist typisch Checkmk: Es gibt unterschiedliche Vorgehensweisen: Manuell, per Scan oder über die REST-API.

7.1. 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 Hosts an, um sich 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.

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 das geht, haben Sie bereits im Kapitel zur Vererbung von Attributen gelesen.

7.2. 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. Natürlich können Sie diese Option 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.

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 erzeugte 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.

Damit ist der Scan abgeschlossen.

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.

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.

7.3. Parents per REST-API anlegen

Für versierte Nutzer gibt es die Möglichkeit, Parents über die REST-API zu konfigurieren.

8. Hosts umbenennen

Das Umbenennen von Hosts — auf den ersten Blick eine einfache Sache — entpuppt sich bei näherem Hinsehen als eine erstaunlich komplexe Operation. Der Grund ist, dass Checkmk den Namen des Hosts als eindeutigen Schlüssel für den Host verwendet — und das an zahlreichen Stellen. Dazu gehören auch Dateinamen, Logdaten, Konfigurationsregeln, BI-Aggregationen, Berichte, Dashboards und vieles mehr. Auch taucht der Host-Name in URLs auf.

Um einen Host an allen Stellen sauber umzubenennen, stellt Checkmk im Setup eine spezielle Aktion bereit. Sie können einen einzelnen Host umbenennen (in den Eigenschaften des Hosts im Menü Hosts > Rename) oder in einem Ordner gleich eine Vielzahl von Hosts gleichzeitig: im Menü Hosts > Rename multiple Hosts.

Wichtig: Da bei Änderungen an vielen verschiedenen Stellen für viele Hosts auch einmal etwas schief gehen kann, sollten Sie sich vergewissern, dass Sie über ein aktuelles Backup Ihrer Instanz verfügen — bevor Sie die große Umbenennungsaktion starten.

Das Bulk renaming of hosts erlaubt über intelligente Operationen systematische Namensanpassungen:

Dialog zur Umbenennung mehrerer Hosts.

Im Feld Hostname matching geben Sie zunächst optional einen regulären Ausdruck an, der auf den Anfang der Namen der Hosts matcht, die Sie umbenennen möchten — hier im Beispiel also alle Hosts, deren Name mit lnx beginnen. Dann fügen Sie eine oder mehrere Operationen ein, die der Reihenfolge nach auf die Host-Namen angewendet werden sollen. In obigen Beispiel wird von allen Host-Namen zunächst mit Drop Domain Suffix alles ab dem ersten . abgeschnitten und danach mit Add Suffix die Endung -linuxserver angefügt.

Es stehen weitere Operationen zur Verfügung, die zum Teil selbsterklärend sind, oder zu denen Sie durch Einblenden der kontextsensitiven Hilfe (Help > Show inline help) weitere Information erhalten.

Nach dem Start der Umbenennung mit Symbol zum Sichern der Eingaben. Bulk rename und Bestätigung der obligatorischen „Sind Sie sicher…​?“ Frage …

Dialog zur Bestätigung der Host-Umbenennung.

… kann es eine Weile dauern. Während der Umbenennung wird das Monitoring komplett gestoppt! Dies ist notwendig, um alles in einem konsistenten Zustand zu halten. Am Ende erhalten Sie eine Übersicht, wo genau die Umbenennungen durchgeführt wurden:

Ergebnis der Host-Umbenennung.

9. Host-Gruppen

Host-Gruppen gehören zu den Grundlagen des Monitorings mit Checkmk. Sie ermöglichen eine zweite Ebene der Gruppierung von Hosts quer zur Ordnerstruktur. Dazu ein Beispiel: Sie haben über die Ordner Ihre Standorte abgebildet. Nun wollen Sie aber alle Linux-, Windows- und bestimmte Application-Server gemeinsam betrachten — und erstellen für diese Server-Typen jeweils eine Host-Gruppe.

Im Gegensatz zu Host-Merkmalen tauchen Host-Gruppen nicht standardmäßig als Auswahlkriterien in Regeln auf: Host-Merkmale dienen der Konfiguration, Host-Gruppen den Ansichten.

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

9.1. Eine Host-Gruppe erstellen

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.

9.2. 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 im gewünschten Ordner 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.

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.

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

9.3. Host-Gruppen überprüfen

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

Tabellenansicht der Host-Gruppen.

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

9.4. Host-Gruppen einsetzen

Sie können 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. Hostgroups.

Im Monitor-Menü finden Sie freilich bereits fertige Ansichten, beispielsweise Host groups, die wir bereits im vorherigen Kapitel 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.

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 Regel.

10. Die Ordnerstruktur im Monitoring

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

10.1. Filterleiste

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

Tabellenansicht mit Filterleiste und dem Filter 'WATO Folder'.

10.2. 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.

10.3. Folders

Zum dritten schließlich zeigt das Snapin Folders eine ähnliche Auswahlmöglichkeit für Ordner:

Snapin Folders.

Dabei arbeiten die beiden Snapins Folders und Views bei der Anzeige zusammen: Ein einmal gewählter Ordner bleibt erhalten, auch wenn Sie mit Views eine andere Ansicht wählen. Das klappt sogar für Dashboards. Probieren Sie es aus!

Auf dieser Seite