Checkmk
to checkmk.com

1. Einleitung

Die wichtigste Aufgabe beim Einrichten des Monitorings ist 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.) erfordern regelmäßige Pflege.

Checkmk wurde von Anfang an für Umgebungen mit sehr vielen Hosts entworfen. Um hier die Konfiguration für den Benutzer beherrschbar zu machen, verfolgt Checkmk einen ganz eigenen Ansatz. Die wichtigsten Prinzipien sind:

Generell hat es sich bewährt, sich als Erstes ein Ordnungssystem zu überlegen und dieses danach mit Inhalt zu füllen. Welche Möglichkeiten Checkmk bietet, Ordnung in Ihre Hosts zu bringen, erfahren Sie im Artikel über die Strukturierung von Hosts.

2. Ordner und Vererbung

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 auch selbst in Ordnern enthalten sein können, ergibt sich eine Baumstruktur.

2.1. Hierarchie der Ordner

In der Ausgestaltung der Baumstruktur sind Sie völlig frei. Jede Form der Unterscheidung ist möglich. Drei Kriterien für den Aufbau des Host-Baums sind jedoch verbreitet:

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

  • Host-Typ (z.B. Switch versus Load Balancer)

  • Organisationsstruktur (z.B. Datenbankgruppe versus Netzwerkgruppe)

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

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“ eingeordnet:

Illustration einer Ordnerstruktur mit zwei Unterordnern.

2.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 Merkmalsgruppen „Criticality“ (mit den Werten prod und test) und „Checkmk agent / API integrations“ (mit den Ausprägungen tcp und no-agent). Das Hilfsmerkmal 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“-Ansatz von Datenbank orientierten Konfigurationssystemen: Sie können Attribute auch für solche Hosts festlegen, die erst in Zukunft hinzukommen werden. Das macht die Arbeit für Sie (und Ihre Kollegen) leichter: Einfach den neuen Host in den richtigen Ordner werfen und alle vordefinierten Attribute stimmen automatisch.

2.3. Ordner erstellen

Wie Sie Ordner erstellen, erfahren Sie im Leitfaden für Einsteiger.

3. Hosts im Setup erstellen und bearbeiten

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

Ordneransicht 'Main' mit mehreren Unterordnern.

In der Standardansicht sehen Sie hier die (zu Beginn leere) Übersicht der Ordner und darunter tabellarisch die bereits im aktuellen Ordner vorhandenen Hosts. Das Anlegen eines neuen Hosts mit dem Aktionsknopf icon new Add host, das Symbol zum Klonen eines Listeneintrags. Klonen oder das Symbol zum Bearbeiten eines Listeneintrags. Editieren eines bestehenden Hosts bringt Sie zu den Eigenschaften des Hosts auf der Seite Properties of host. Hier werden die Attribute des Hosts aufgelistet. Diese sind in mehreren Abschnitten gruppiert, von denen wir hier die Wichtigsten vorstellen.

3.1. Der Host-Name

Das Feld Hostname dient überall innerhalb von Checkmk zur eindeutigen Identifizierung des Hosts. Wenn möglich sollten Sie den DNS-Namen des Hosts verwenden. Ist der DNS-Name zu sperrig, können Sie später einen leichter erkennbaren Aliasnamen vergeben.

Dialog mit Eigenschaften eines Hosts: der Host-Name.

Änderungen am Host-Namen sind prinzipiell auch später möglich. Da der Host-Name jedoch an vielen Stellen in Checkmk verwendet wird, sind Änderungen aufwendiger je mehr Monitoring-Daten zum Zeitpunkt der Änderung schon angefallen sind.

3.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 stattdessen der Host-Name verwendet.

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

Eine IP-Adresse müssen Sie nicht zwangsläufig angeben. Für die Konfiguration der IP-Adresse haben Sie vier Möglichkeiten, die auch den Zeitpunkt der Namensauflösung bestimmen:

Möglichkeit Vorgehen Wann wird die Namensauflösung durchgeführt?

1.

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

Beim Aktivieren der Änderungen

2.

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

Nie

3.

Sie geben anstelle einer IP-Adresse einen (alternativen) Host-Namen 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 Möglichkeit 3, nur dass für die DNS-Anfrage jetzt das Feld Hostname verwendet wird.

Beim Ausführen der Checks

Bei der ersten 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 sofort mitbekommt. Deswegen gibt es bei den Host-Eigenschaften den Menüeintrag Host > Update DNS cache. Dieser löscht den kompletten DNS-Cache und erzwingt beim nächsten Aktivieren der Änderungen eine neue Auflösung. Die zugehörige Datei liegt in Ihrer Instanz unter ~/var/check_mk/ipaddresses.cache. Das Löschen dieser Datei hat den gleichen Effekt wie die Ausführung von Update (site) DNS cache.

Checkmk unterstützt auch Monitoring via IPv6 — auch im Dual Stack. Die Rangfolge der Auflösung ist hier durch die Betriebssystemeinstellungen (/etc/gai.conf) vorgegeben. In den Feldern Additional IPv4 addresses respektive Additional IPv6 addresses sind nur IP-Adressen in Punkt- beziehungsweise Doppelpunkt-Notation zugelassen, keine alternativen DNS-Namen.

Für einige Anwendungsfälle ist es notwendig die IP address family auf No IP zu setzen. Dies gilt für Hosts, die über einen Spezialagenten abgefragt werden und für den Push-Modus des Checkmk-Agenten in der CSE Checkmk Cloud Edition. Mehr dazu erfahren Sie im folgenden Abschnitt zu den Monitoring-Agenten.

3.3. Monitoring-Agenten

Mit den Monitoring agents entscheiden Sie, aus welchen Quellen Daten für das Monitoring verwendet werden. Die Standardeinstellung sieht die Verwendung des Checkmk-Agenten vor. Darüber hinaus sind zahlreiche alternative oder zusätzliche Überwachungsmöglichkeiten vorgesehen.

Dialog mit Eigenschaften eines Hosts: Monitoring-Agenten.

Insbesondere der erste Eintrag Checkmk agent / API integrations entscheidet, welche Daten bei Vorhandensein mehrerer Quellen herangezogen und welche verworfen werden. Sie haben die folgenden Auswahlmöglichkeiten:

API integrations if configured, else Checkmk agent

Monitoring-Daten werden per API-Integrationen, das heißt von Spezialagenten oder per Piggyback von anderen Hosts geliefert. Sind keine API-Integrationen konfiguriert, wird auf die Ausgabe des Checkmk-Agenten zugegriffen. Dies ist der Standardwert.

Configured API integrations and Checkmk agent

Die Ausgabe eines Checkmk-Agenten wird erwartet. Per API-Integrationen gelieferte Daten werden – falls konfiguriert – zusätzlich herangezogen.

Configured API integrations, no Checkmk agent

Ausschließlich per API-Integrationen gelieferte Daten werden für das Monitoring herangezogen.

No API integrations, no Checkmk agent

Mit dieser Einstellung wird der Host per SNMP oder agentenlos nur mit aktiven Checks überwacht. Regeln für aktive Checks finden Sie u.a. in Setup > Hosts > HTTP, TCP, Email, …​ . Wenn Sie nicht mindestens einen aktiven Check definieren, erzeugt Checkmk automatisch einen PING-Service.

Hinweis: Die Auswahl von Configured API integrations, no Checkmk agent sorgt dafür, dass die beiden Services Check_MK und Check_MK Discovery immer den Zustand OK haben. Falls Sie für den Host keine IP-Adresse eingetragen haben, wird dieser den Zustand DOWN annehmen, da kein Ping durchgeführt werden kann. Sie müssen hier über eine Regel Setup > Hosts > Host monitoring rules > Host Check Command bestimmen, wie geprüft werden soll, ob der Host als UP bewertet wird.

Mit Checkmk agent connection mode entscheiden Sie, ob der Checkmk-Agent im Pull-Modus oder im Push-Modus arbeiten soll. Diese Option gibt es nur in der CSE Checkmk Cloud Edition, da nur in dieser Edition der Push-Modus zur Verfügung steht. Diese Option gibt es in der Cloud Edition übrigens auch in den Eigenschaften eines Ordners und wird dort verwendet, um per Autoregistrierung Hosts automatisch erstellen zu lassen. Wenn Sie hier Push - Checkmk agent contacts the server auswählen, setzen Sie zusätzlich im Kasten Network address die IP address family auf No IP. Damit verhindern Sie, dass die Erreichbarkeit des Hosts per Smart Ping überprüft wird. In allen anderen Editionen arbeitet der Agent im Pull-Modus.

Mit der folgenden Einstellung SNMP konfigurieren Sie die Überwachung per SNMP. Nach Aktivierung von SNMP und Auswahl der SNMP-Version wird das Feld SNMP credentials eingeblendet. Damit können Sie die SNMP-Community festlegen. Da diese meist für viele Hosts gleich ist, empfiehlt es sich aber eher, diese Einstellung im Ordner zu hinterlegen. Wenn Sie nichts spezifizieren, wird automatisch public angenommen.

Das letzte Feld Piggyback bezieht sich auf die Verwendung von Piggyback-Daten, welche durch andere Hosts "huckepack" geliefert und als Agentenausgabe diesem Host zugeordnet werden. Beachten Sie, dass die hier vorgenommene Einstellung zu den Einstellungen der ersten Option Checkmk agent / API integrations passen muss. Es kann sonst vorkommen, dass das Ausbleiben erwarteter Monitoring-Daten nicht bemerkt wird. Aus diesem Grund lautet ein Eintrag explizit Always use and expect piggyback data.

3.4. Eigene Attribute

Im Kasten Custom attributes können Sie beliebige Freitextfelder anzeigen lassen, die Sie zuvor als eigene, benutzerdefinierte Attribute erstellt haben. In der Standardeinstellung sind hier Labels und die beiden vordefinierten Host-Merkmalsgruppen Criticality (Kritikalität) und Networking Segment (Netzwerksegment) vorhanden:

Dialog mit Eigenschaften eines Hosts: eigene Attribute.

Sie können mit Setup > Hosts > Custom host attributes eigene Attribute definieren.

Formular zum Erstellen eines eigenen Attributs.

Eigene Attribute können beispielsweise ein Vor-Ort-Kontakt, eine Filialnummer, Informationen zur Hardware, Inventarnummern oder geografische Koordinaten sein. Werte der eigenen Attribute sollten in erster Linie Benutzern den Überblick erleichtern, können jedoch auch in Regeln und Filtern eingesetzt werden, wenn beispielsweise Labels oder Host-Merkmale zu unflexibel sind.

Eigene Attribute können durch die Auswahl von Topic (Thema) einem beliebigen Kasten in den Eigenschaften eines Hosts zugeordnet werden.

3.5. Management Board

Die Bezeichnung Management board steht für separate Steckkarten oder erweiterte BIOS-Funktionalität (Baseboard Management Controller/BMC, Management Engine/ME, Lights Out Management/LOM) zur Überwachung und Verwaltung der Hardware neben dem installierten Betriebssystem. Derartige Hardware bringt neben Fernsteuerungs- und Fernwartungsfunktionen (bspw. für das Deployment von Betriebssystemen) meist auch eine IPMI- oder SNMP-Schnittstelle mit, über die Gesundheitswerte (Temperaturen und Lüfterdrehzahlen) ausgelesen werden können. Da Management Boards über eine eigene IP-Adresse verfügen, würde ein separates Monitoring die Zuordnung für Checkmk-Benutzer erschweren. Tragen Sie hier IP-Adresse und Zugriffsmethode ein, wenn der zu überwachende Host über ein Management Board verfügt.

Einrichtung eines Management Boards.

3.6. Erstellung / Sperrung

Während die meisten der bisher beschriebenen Angaben bearbeitet werden können, stehen im Kasten Creation / Locking Angaben, die an dieser Stelle nur der Information dienen.

Anzeige der Erstell- und Sperrinformationen.

Der Zeitpunkt der Erstellung (Created at) und der Ersteller (Created by) werden von Checkmk ermittelt. Für den Namen des Erstellers gibt es im Wesentlichen drei Möglichkeiten:

  • Benutzername, z.B. cmkadmin: Der Host wurde manuell durch einen Benutzer erstellt, z.B. im Setup.

  • automation: Der Host wurde durch den Automationsbenutzer erstellt, z.B. mit der REST-API.

  • Network scan: Der Host wurde bei einem automatischen Netzwerk-Scan gefunden.

Wenn der Host durch den Automationsbenutzer erstellt wurde, ist er durch die zugehörige Instanz gesperrt (Locked by). Diese Angabe kann auch für die Suche nach Hosts im Setup genutzt werden.

Gesperrte Attribute (Locked attributes) können in den Eigenschaften des Hosts nicht mehr bearbeitet werden.

3.7. Speichern und weiter

Beim Erstellen oder Klonen eines Hosts ist nach der Festlegung der Eigenschaften der nächste sinnvolle Schritt Save & run service discovery. Damit gelangen Sie in die automatische Service-Erkennung, die wir im nächsten Kapitel erklären.

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

3.8. 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:

  • Edit attributes: Ändert ein 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.

  • Run bulk service discovery: Service-Erkennung für viele Hosts gleichzeitig durchführen.

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

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

  • 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 dies Fehler und ermöglicht das bequeme Aufnehmen von neuen Hosts.

  • Remove TLS registration: Entfernt die Registrierung zur verschlüsselten Kommunikation per Transport Layer Security (TLS), z.B. um die Kommunikation mit dem Checkmk-Agenten auf den unverschlüsselten Modus zurückzusetzen.

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

4. Automatisch Hosts entfernen

Sie können Hosts, die nicht mehr existieren, aus der Konfigurationsumgebung und der Monitoring-Umgebung automatisch entfernen lassen. Dabei wird auch das gegenseitige Vertrauensverhältnis (mTLS) gelöscht, so dass im Falle eines Wiedererscheinens die Registrierungprozedur erneut durchlaufen werden muss.

Das Kriterium, mit dem entschieden wird, ob ein Host noch da ist, ist der Zustand des Services Check_MK. Dieser Service kümmert sich um den Zustand des auf dem Host laufenden Monitoring-Agenten im laufenden Betrieb. Falls es keine Verbindung mehr zum Agenten gibt — und damit auch keine aktuellen Monitoring-Daten — wechselt der Service in den Zustand CRIT.

Hosts, deren Service Check_MK über einen bestimmten Zeitraum CRIT sind, können Sie automatisch entfernen lassen. Dazu dient die Regel Automatic host removal, die Sie unter Setup > Hosts > Host monitoring rules finden. Die Regel ist einfach. Sie bestimmen nur den Zeitraum, in dem der Service Check_MK sich im Zustand CRIT befinden muss, bevor der zugehörige Host entfernt wird:

Regel zur Festlegung des Zeitraums für das automatische Entfernen von Hosts.
Hier werden nach 14 Tagen Hosts automatisch entfernt

Um die Hosts nicht nur aus dem Setup sondern auch aus dem Monitoring zu entfernen, werden die Änderungen automatisch aktiviert. Beachten Sie, dass bei der automatischen Aktivierung alle anderen ausstehende Änderungen mit aktiviert werden.

Tipp: Diese Regel ist in allen Checkmk-Editionen verfügbar. Sie passt aber besonders gut als Gegenstück zur Möglichkeit, Hosts automatisch erstellen zu lassen, die im Funktionsumfang der CSE Checkmk Cloud Edition enthalten ist. Wenn Sie automatisch erstellte Hosts auch wieder automatisch entfernen lassen wollen, können Sie die Bedingung der Regel auf Hosts mit dem Host-Label cmk/agent_auto_registered:yes beschränken. Dieses Label hängt Checkmk an alle automatisch erstellten Hosts.

Beachten Sie, dass auch die dynamische Host-Konfiguration die Möglichkeit bietet, Hosts automatisch entfernen zu lassen. Beide Optionen zum Lifecycle Management arbeiten unabhängig voneinander, d.h. ein Host wird entfernt, wenn eine der beiden Voraussetzungen erfüllt ist.

5. 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 im Artikel Services verstehen und konfigurieren. Wir schildern hier nur das Wichtigste.

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

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

  • Im Setup ü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 host wählen Sie im Menü Host > Save & run service discovery. Wenn Sie stattdessen im Menü Host > Run service discovery wählen, kommen Sie ebenfalls zur Service-Liste — ohne allerdings die Host-Eigenschaften zu speichern.

  • Im Monitoring über die Liste der Services eines Hosts:
    Wählen Sie das Menü Host und dort im Abschnitt Setup den Eintrag Service configuration. Ein kleines Zahnradsymbol am Icon zeigt, dass dieser Menüeintrag in eine Seite im Setup führt. So kommen Sie direkt zur Konfiguration der Services.

Egal für welchen Weg Sie sich entscheiden, 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 Accept all ist meist die beste Aktion für einen neuen Host. Dies ist auch die richtige Wahl für bestehende Hosts, bei denen Services gefunden wurden, die aktuell nicht überwacht werden. Diese finden Sie im Abschnitt Undecided services (currently not monitored). Accept all fügt die fehlenden Services hinzu, entfernt verschwundene Services und übernimmt gefundene Host-Labels.

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

  • Der Knopf Monitor undecided services übernimmt die entsprechenden Services ins Monitoring, allerdings ohne Übernahme der Host-Labels.

  • Remove vanished services entfernt nicht mehr vorhandene Services. Das ist bei Services nützlich, die sich bei der Erkennung einen aktuellen Zustand merken (z.B. den aktuellen Zustand der Ports eines Switches oder von Dateisystemen und ihren Mountpoints).

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

6. Hosts über CSV-Daten importieren

Wenn Sie eine größere Anzahl von Hosts auf einmal in Checkmk eintragen möchten, können Sie sich die Arbeit einfach machen. Importieren Sie die Hosts mithilfe einer CSV-Datei. Vor allem in zwei Anwendungsfällen ist dies eine Unterstützung:

  • Sie wollen Hosts aus einem anderen Monitoring-System übernehmen, welches den Export in strukturierten Datenformaten anbietet. Dann können Sie sich daraus eine CSV-Datei erstellen lassen und für den Checkmk-Import nutzen.

  • Sie wollen viele neue Hosts auf einmal anlegen. In diesem Fall schreiben Sie diese in eine Excel-Tabelle. Anschließend importieren Sie diese Liste als CSV-Datei.

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

Sie können beim Import auch gleich weitere Attribute übergeben. Eine Übersicht aller möglichen Attribute finden Sie im nächsten Abschnitt. Enthält die CSV-Datei in der ersten Zeile die Namen der Attribute, wird Checkmk diese automatisch zuordnen. Checkmk ist recht tolerant gegenüber nicht exakter Rechtschreibung und versucht kleine Abweichungen zu interpretieren. In folgender Datei z.B. 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 (Setup > Hosts > …​) 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 mit Upload CSV File die Datei hoch. Alternativ wählen Sie Content of CSV File und kopieren den Inhalt der Datei in das Textfeld unter der Liste. Sie können auf den neu importierten Hosts sofort eine automatische Service-Erkennung ausführen lassen. Wählen Sie dafür die Option Perform automatic service discovery:

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

Per Klick auf Symbol zur Übernahme der Eingaben. Upload kommen Sie zur nächsten Seite:

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

Die Auswahl eines Trennzeichens (field delimiter) ist für dieses Beispiel nicht notwendig. Das Semikolon wurde bereits korrekt interpretiert. Checkmk erkennt gebräuchliche Trennzeichen, wie z.B. Tabulator oder Semikolon automatisch. Aber wählen Sie hier die Option Has title line, um die Überschriften zu berücksichtigen. 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. Nutzen Sie dafür die jeweilige Liste. Bei den Host-Merkmalen (das sind die Einträge, die mit Tag beginnen) 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 in der Tabelle im Artikel über die Host-Merkmale.

Starten Sie 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 und sollten diese noch bearbeiten. Nach Abschluss der Service-Erkennung fehlt nur noch die gewohnte Aktivierung der Änderungen, dann befinden sich alle neuen Hosts im Monitoring.

6.1. Übersicht der Attribute für den Import

Attribut Bedeutung

Hostname

Name des Hosts

Alias

Aliasbezeichnung des Hosts

Monitored on site

Instanz, auf der dieser Host überwacht wird

IPv4 address

IPv4-Adresse

IPv6 address

IPv6-Adresse

SNMP community

SNMP-Community

Tag: Criticality

Merkmal: Kritikalität

Tag: Networking Segment

Merkmal: Netzwerksegment

Tag: Checkmk agent / API integrations

Merkmal: Checkmk-Agent / API-Integration

Tag: Piggyback

Merkmal: Piggyback

Tag: SNMP

Merkmal: SNMP

Tag: IP address family

Merkmal: IP-Adressfamilie

7. Netzwerk-Scan für Ordner durchführen

7.1. Das Prinzip

Checkmk bietet die Möglichkeit, Ihr Netzwerk — oder auch nur Teile davon — automatisch und regelmäßig nach (neuen) Hosts zu durchsuchen. Dieser Netzwerk-Scan wird auf Ebene der Ordner in der Host-Verwaltung von Checkmk eingerichtet. Im Hintergrund läuft dafür minütlich ein Cronjob. Dieser prüft alle Ordner dahingehend, ob wieder ein entsprechender Scan ansteht. Der Cronjob prüft dafür die beiden Einstellungen Scan interval und Time allowed. Wenn das Intervall abgelaufen ist und der Server sich innerhalb der für den Scan erlaubten Zeitspanne befindet, wird der Scan gestartet. Ein neu eingerichteter Netzwerk-Scan würde also innerhalb einer Minute nach dem Klick auf Save starten, sofern Sie die Time allowed nicht verändert wurde.

Sobald ein Scan startet, passieren im Grunde drei Dinge:

  1. Checkmk ermittelt zuerst die IP-Adressen, die gescannt werden sollen. Aus den konfigurierten Adressbereichen werden dabei alle Adressen entfernt, die bereits in der Konfiguration Ihrer Hosts in einem beliebigen Ordner verwendet werden.

  2. Die ermittelten Adressen werden nun gepingt. Wenn es auf einer Adresse eine Antwort auf diesen Ping gibt, wird versucht einen Host-Namen zu ermitteln.

  3. Zuletzt werden die Hosts in dem Ordner erzeugt. Ausgelassen werden dabei alle Hosts mit Namen, die es in der Instanz bereits gibt.

7.2. Netzwerk-Scan einrichten

Wie oben bereits angesprochen, wird der Netzwerk-Scan auf Ebene der Ordner eingerichtet. Öffnen Sie zuerst Setup > Hosts > Hosts. Navigieren Sie dann in einen beliebigen Ordner oder verbleiben Sie im Ordner Main. Über das Menü Folder > Properties finden Sie den Kasten Network Scan.

Deaktivierter Kasten _Network Scan_ in den Eigenschaften eines Ordners

Aktivieren Sie den Netzwerk-Scan über die entsprechende Checkbox.

Aktivierter aber unkonfigurierter Kasten _Network Scan_

Legen Sie anschließend bei IP ranges to scan die IP-Adressen fest, welche Checkmk für Sie automatisch überwachen soll. Für diese Festlegung haben Sie die Wahl zwischen einzelnen IP-Adressen, IP-Bereichen und ganzen Netzwerken. Wir empfehlen die Adressbereiche nicht zu groß zu wählen, da es ansonsten zu sehr langen Laufzeiten des Netzwerk-Scans kommen kann. Bei der Wahl eines Netzwerks empfehlen wir die Netzmaske von /21 nicht zu überschreiten, was 2048 IP-Adressen entspricht. Die Anzahl von 2048 IP-Adressen sollten Sie auch bei Auswahl über IP-Range nicht überschreiten. Dies kann natürlich nur eine grobe Empfehlung sein, da Ihr (Firmen-)Netzwerk womöglich mit größeren Adressbereichen problemlos klarkommt.

Über die folgende Option IP ranges to exclude können Sie Teile aus dem oberhalb konfigurierten Adressbereich ausnehmen. Die Option bietet sich auch an, um bereits bekannte und überwachte Hosts bzw. IP-Adressen aus dem Netzwerk-Scan auszuschließen. So können Sie verhindern, dass Dubletten von Hosts angelegt werden.

Mit den folgenden beiden Optionen Scan interval und Time allowed können Sie festlegen, wie häufig der Scan laufen soll und zu welcher Zeit Sie dies erlauben möchten.

Mit die wichtigste Überlegung bei der Einrichtung des Netzwerk-Scans ist, wie Sie mit gefundenen Hosts umgehen wollen. Hierbei fällt der Option Set criticality host tag eine zentrale Rolle zu:

  • Standardmäßig ist Do not monitor this host ausgewählt. Dies legt fest, dass die gefundenen Hosts erst einmal nur in die Host-Verwaltung aufgenommen werden. Ein Monitoring findet so also erst einmal nicht statt. Ein Ansatz könnte hier sein, die gefundenen Hosts manuell in Ihre bestehende Host-Struktur zu überführen — zum Beispiel mithilfe der Funktion Move this host to another folder. Nach dem Verschieben müssen Sie dann noch das Host-Merkmal Criticality anpassen oder entfernen. Bei einer größeren Zahl von Hosts können Sie hierfür die Funktion Remove explicit attribute settings in Setup > Hosts > Hosts verwenden.

  • Wählen Sie stattdessen hier als Host-Merkmal Productive system aus, werden die gefundenen Hosts — bei entsprechender Konfiguration mit dem Regelsatz Periodic service discovery — auch direkt ins Monitoring aufgenommen.

Beachten Sie vor Verwendung des Netzwerk-Scans auch die folgenden grundsätzlichen Überlegungen:

  • Der Scan läuft über einen Ping ab. Das bedeutet auch, dass Geräte, die nur über SNMP überwacht werden können, zwar womöglich gefunden, aber nicht automatisch überwacht werden, da die SNMP credentials nicht konfiguriert sind.

  • Bei neuen Windows-Hosts ist ohne eine entsprechende Konfiguration durch z.B. Gruppenrichtlinien das sogenannte Echo Request in der Firewall deaktiviert. Solche Windows-Hosts werden dem Scan also nicht antworten und somit auch nicht gefunden werden.

  • Checkmk kann Ihnen zu den gefundenen Hosts nur dann saubere Daten liefern, wenn Ihr Netzwerk und Ihre Instanz entsprechend konfiguriert sind. Widersprüchliche Einträge im DNS und Ihrer Checkmk-Instanz können zu Dubletten führen. Eine Dublette wird angelegt, wenn der Host mit Namen (aber ohne IP-Adresse) in Checkmk bereits eingerichtet ist und nun über seine IP-Adresse unter einem anderen Namen gefunden wird.

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 folgende Vorteile hat:

  • Sie können Hosts nach verschiedenen Kriterien suchen lassen.

  • Die gefundenen Hosts werden auf einer Ergebnisseite gelistet, von der aus Sie die weiter oben vorgestellten Bulk-Aktionen starten können.

Sie finden diese Suche unter Setup > Hosts > Hosts 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 aus:

Dialog zur Suche nach Hosts in einem Ordner.

Beim Feld Hostname wird eine Wortteilsuche (Infix-Suche) verwendet — der eingegebene Text wird, an beliebiger Stelle, im Host-Namen gesucht. 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.

Sie können die Suche auf der Ergebnisseite mit Refine search weiter anpassen und verfeinern.

9. Hosts umbenennen

Das Umbenennen von Hosts ist auf den ersten Blick eine einfache Sache. Bei näherem Hinsehen entpuppt es sich aber als 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 Dateinamen, Log-Daten, Regeln, Dashboards, Berichte, BI-Aggregate und vieles mehr. Auch taucht der Host-Name in URLs auf.

Um einen Host an allen Stellen sauber umzubenennen, stellt Checkmk im Setup zwei Aktionen bereit. Sie können entweder einen einzelnen Host umbenennen (in den Eigenschaften des Hosts im Menü Host > Rename) oder in einem Ordner mehrere Hosts gleichzeitig (im Menü Hosts > Rename multiple hosts).

Wichtig: Bei Änderungen an vielen Stellen und für mehrere Hosts kann auch einmal etwas schief gehen. Vergewissern Sie sich daher, dass Sie über ein aktuelles Backup Ihrer Instanz verfügen — bevor Sie die Umbenennungsaktion starten.

Das Bulk renaming of hosts ermöglicht die gleichzeitige, systematische Namensanpassung für mehrere Hosts:

Dialog zur Umbenennung mehrerer Hosts.

Im Feld Hostname matching geben Sie zunächst optional einen regulären Ausdruck an, der mit dem Anfang der Host-Namen übereinstimmt, die Sie umbenennen möchten — hier im Beispiel also alle Hosts, deren Namen mit lnx beginnen. Dann fügen Sie mit Add renaming eine oder mehrere Operationen ein. Diese werden der Reihe nach auf die Host-Namen angewendet. In obigem 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 großteils selbsterklärend sind. Ansonsten können Sie durch Einblenden der Inline-Hilfe weitere Informationen 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 Umbenennungen durchgeführt wurden:

Ergebnis der Host-Umbenennung.

10. REST-API-Anfragen für Hosts und Ordner

Viele der Aktionen, die in diesem Artikel beschrieben sind, können Sie auch mit der Checkmk-REST-API ausführen. Dies ist besonders dann interessant, wenn Sie viele Objekte in Ihrer Instanz zu verwalten haben und Aktionen automatisieren wollen. So können Sie z.B. viele Hosts per REST-API erstellen und vermeiden damit mögliche Fehler, die bei der manuellen Eingabe über die GUI immer wieder vorkommen können.

Wenn Kommandozeile, Skripte und APIs nicht Ihre Werkzeuge der ersten Wahl sind, reicht es an dieser Stelle aus, zu wissen, dass es diese API gibt. Sie können damit auf ein mächtiges Hilfsmittel bei Bedarf zurückgreifen — als Alternative zur Verwaltung über die Weboberfläche.

Im Artikel zur REST-API erhalten Sie eine Einführung zur Anwendung dieser API. Die Referenz-Dokumentation finden Sie in der Weboberfläche Ihrer Checkmk-Instanz. Dort können Sie sich mit der Syntax der Anfragen und der Struktur der Antworten vertraut machen. Auf alle wichtigen Einträge zur REST-API können Sie in der Checkmk-Weboberfläche über die Navigationsleiste im Menü Help > Developer resources zugreifen.

Schließlich finden Sie im Artikel zur REST-API Beispiele, wie Sie auf der Kommandozeile Aktionen für Hosts und Ordner ausführen können, z.B. die Ordnerstruktur und die Hosts eines Ordners anzeigen, einen Host in einem bestimmten Ordner erstellen und vieles mehr.

11. Dateien und Verzeichnisse

Pfad Bedeutung

~/etc/check_mk/conf.d/wato/

In diesem Verzeichnis wird die Ordnerstruktur im Setup unterhalb des Ordners Main durch eine Unterverzeichnisstruktur abgebildet. Wird in der GUI ein Ordner angelegt, wird im Dateisystem auch ein neues Verzeichnis erstellt. Dabei sorgt Checkmk dafür, dass die Namen der Verzeichnisse eindeutig sind und nur Zeichen verwendet werden, die im Dateisystem erlaubt sind. So wird etwa ein Leerzeichen durch einen Unterstrich ersetzt.

~/etc/check_mk/conf.d/wato/hosts.mk

Konfigurationsdatei für alle Hosts im Ordner Main. Für Hosts in Unterordnern von Main gibt es jeweils eine gleichnamige Datei in den zugehörigen Unterverzeichnissen.

~/etc/check_mk/conf.d/wato/.wato

Diese versteckte Datei enthält den Anzeigenamen in der GUI (Main) und alle weiteren Eigenschaften dieses Verzeichnisses. Eine Datei .wato existiert in jedem Unterverzeichnis. Wird ein Ordner in der GUI umbenannt, wird in dieser Datei nur der Parameter title für den Anzeigenamen geändert. Der Name des Verzeichnisses im Dateisystem bleibt unverändert.

Auf dieser Seite