Checkmk
to checkmk.com

1. Hosts, Services und Agenten

So, Checkmk steht bereit. Doch bevor wir mit dem eigentlichen Monitoring beginnen, werden wir kurz einige wichtige Begriffe erläutern. Das beginnt mit dem Host: Ein Host ist in Checkmk in der Regel ein Server, eine virtuelle Maschine (VM), ein Netzwerkgerät, eine Appliance — oder generell ein Ding mit einer IP-Adresse, das von Checkmk überwacht wird. Allerdings gibt es auch Hosts ohne IP-Adresse, z.B. Docker-Container. Jeder Host hat immer einen der Zustände UP, DOWN oder UNREACH.

Auf jedem Host wird eine Anzahl von Services überwacht. Ein Service kann dabei alles Mögliche sein, zum Beispiel ein Dateisystem, ein Prozess, ein Hardware-Sensor, ein Switchport — aber auch einfach nur eine bestimmte Metrik wie die CPU-Auslastung oder der RAM-Verbrauch. Jeder Service hat einen der Zustände OK, WARN, CRIT oder UNKNOWN.

Damit Checkmk von einem Host Daten abfragen kann, ist in der Regel ein Agent notwendig. Das ist ein kleines Programm, das auf dem Host installiert wird, und auf Anfrage Daten über den Zustand (oder die „Gesundheit“) des Hosts liefert. Server, auf denen Windows, Linux oder Unix läuft, können von Checkmk nur dann sinnvoll überwacht werden, wenn Sie dort einen von uns gelieferten Checkmk-Agenten installieren. Bei Netzwerkgeräten und vielen Appliances hat meist der Hersteller bereits einen Agenten eingebaut, den Checkmk ohne Weiteres mit dem standardisierten Protokoll SNMP abfragen kann. Cloud-Dienste wie Amazon Web Services (AWS) oder Azure stellen stattdessen eine Schnittstelle („API“) bereit, die von Checkmk per HTTP abgefragt werden kann.

2. Vorüberlegungen zu DNS

Auch wenn Checkmk keine Namensauflösung von Hosts voraussetzt, erleichtert ein gut gepflegtes Domain Name System (DNS) die Konfiguration erheblich und vermeidet Fehler, denn Checkmk kann dann die Namen der Hosts selbständig auflösen, ohne dass Sie IP-Adressen in Checkmk eintragen müssen.

Der Aufbau des Monitoring ist daher ein guter Anlass, zu überprüfen, ob Ihr DNS auf dem neuesten Stand ist und gegebenenfalls dort fehlende Einträge zu ergänzen.

3. Ordnerstruktur für Hosts

Checkmk verwaltet Ihre Hosts in einem hierarchischen Baum von Ordnern — ganz analog zu dem, was Sie von Dateien in Ihrem Betriebssystem kennen. Wenn Sie nur eine Handvoll Hosts überwachen, mag das für Sie weniger wichtig sein. Aber erinnern Sie sich: Checkmk ist für das Überwachen von Tausenden und Zigtausenden Hosts geschaffen — und dabei ist Ordnung die halbe Miete.

Bevor Sie die ersten Hosts in Checkmk aufnehmen, ist es daher von Vorteil, wenn Sie sich Gedanken über die Struktur dieser Ordner machen. Die Ordnerstruktur ist zum einen für Ihre eigene Übersicht nützlich. Wichtiger aber ist, dass sie für die Konfiguration von Checkmk verwendet werden kann: Alle Konfigurationsparameter von Hosts können in einem Ordner definiert werden, die dann automatisch an die dort enthaltenen Unterordner und Hosts vererbt werden. Daher ist es nicht nur, aber insbesondere für die Konfiguration großer Umgebungen elementar, von Beginn an eine wohlüberlegte Ordnerstruktur aufzusetzen.

Eine einmal erstellte Ordnerstruktur können Sie verändern — müssen dabei allerdings sehr gewissenhaft vorgehen. Das Verschieben eines Hosts in einen anderen Ordner kann nämlich zur Folge haben, dass sich dessen Parameter ändern, ohne dass Sie sich dessen vielleicht bewusst sind.

Die eigentliche Frage beim Aufbau einer für Sie sinnvollen Ordnerstruktur ist, nach welchen Kriterien Sie die Ordner organisieren möchten. Die Kriterien können in jeder Ebene des Baums andere sein. So können Sie z.B. in der ersten Ebene nach Standorten unterscheiden und in der zweiten Ebene nach Technologie.

Folgende Ordnungskriterien haben sich in der Praxis bewährt:

  • Standort/Geographie

  • Organisation

  • Technologie

Eine Sortierung nach Standort ist vor allem in größeren Unternehmen sehr naheliegend, insbesondere dann, wenn Sie das Monitoring über mehrere Checkmk-Server verteilen. Jeder Server überwacht dann z.B. eine Region oder ein Land. Wenn Ihre Ordner diese Aufteilung abbilden, dann können Sie z.B. im Ordner „München“ definieren, dass alle Hosts in diesem Ordner von der Checkmk-Instanz „muc“ aus überwacht werden sollen.

Alternativ dazu kann die Organisation (d.h. die Antwort auf die Frage "Wer ist für einen Host zuständig?“) ein sinnvolleres Kriterium sein, denn nicht immer ist Standort und Verantwortung das Gleiche. So mag es sein, dass eine Gruppe Ihrer Kollegen für die Administration von Oracle zuständig ist, und zwar unabhängig davon, an welchem Standort die entsprechenden Hosts stehen. Ist also z.B. der Ordner „Oracle“ für die Hosts der Oracle-Kollegen vorgesehen, so ist es in Checkmk einfach zu konfigurieren, dass alle Hosts unterhalb dieses Ordners nur für diese Kollegen sichtbar sind oder, dass diese ihre Hosts dort sogar selbst pflegen können.

Eine Strukturierung nach Technologie könnte z.B. einen Ordner für Windows-Server und einen für Linux-Server vorsehen. Das würde die Umsetzung des Schemas „Auf allen Linux-Servern muss der Prozess sshd laufen.“ vereinfachen. Ein anderes Beispiel ist die Überwachung von Geräten via SNMP, wie beispielsweise Switches oder Router. Hier kommt kein Checkmk-Agent zum Einsatz, sondern die Geräte werden über das Protokoll SNMP abgefragt. Sind diese Hosts in eigenen Ordnern zusammengefasst, so können Sie direkt am Ordner die für SNMP notwendigen Einstellungen wie etwa die „Community“ vornehmen.

Da eine Ordnerstruktur nur in seltenen Fällen die Komplexität der Wirklichkeit abbilden kann, bietet Checkmk mit den Host-Merkmalen (host tags) eine weitere ergänzende Möglichkeit zur Strukturierung: doch dazu in einem anderen Kapitel mehr. Weiterführende Informationen unter anderem zur Ordnerstruktur finden Sie im Artikel über Hosts.

4. Ordner erstellen

Den Einstieg in die Verwaltung von Ordnern und Hosts finden Sie über die Navigationsleiste, das Setup-Menü, das Thema Hosts und den Eintrag Hosts. Dann wird die Seite Main directory angezeigt:

empty main directory

Bevor wir den ersten Ordner erstellen, werden wir kurz auf den Aufbau dieser Seite eingehen, da Sie die verschiedenen Elemente auf den meisten Checkmk-Seiten so oder so ähnlich wiederfinden werden. Unterhalb des Seitentitels Main directory finden Sie den Breadcrumb-Pfad, der Ihnen zeigt, wo Sie sich innerhalb der Checkmk-Oberfläche gerade befinden. Darunter wird die Menüleiste angezeigt, die die möglichen Aktionen auf dieser Seite in Menüs und Menüeinträgen zusammenfasst. Die Menüs sind in Checkmk stets kontext-spezifisch, d.h. sie finden nur Menüeinträge für Aktionen, die auf der aktuellen Seite Sinn ergeben.

Unter der Menüleiste finden Sie die Aktionsleiste, in der die wichtigsten Aktionen aus den Menüs als Knöpfe zum direkten Anklicken angeboten werden. Die Aktionsleiste können Sie mit dem Knopf button hide toolbar rechts neben dem Help-Menü ausblenden und mit button show toolbar wieder einblenden. Bei ausgeblendeter Aktionsleiste werden die Symbole in der Menüleiste rechts neben button show toolbar angezeigt.

Da wir uns zurzeit auf einer leeren Seite befinden (ohne Ordner und ohne Hosts), werden die wichtigen Aktionen zum Erstellen des ersten Objekts zusätzlich über noch größere Knöpfe angeboten — damit die Möglichkeiten auch nicht übersehen werden, die die Seite bietet. Diese Knöpfe werden nach dem Erstellen des ersten Objekts verschwinden.

Nun aber zurück zum Thema, weswegen wir uns eigentlich auf dieser Seite befinden: dem Anlegen von Ordnern. Einen Ordner — den Hauptordner — gibt es in jedem frisch aufgesetzten Checkmk-System. Er heißt Main directory, wie Sie im Titel der Seite sehen können. Unterhalb des Hauptordners werden wir nun für ein einfaches Beispiel die drei Ordner Windows, Linux und Network erstellen.

Legen Sie den ersten der drei Ordner an, indem Sie eine der angebotenen Aktionen zum Erstellen eines Ordners auswählen (z.B. den Aktionsknopf icon newfolder Add subfolder). Auf der neuen Seite Create new folder tragen Sie im ersten Kasten Basic settings den Ordnernamen ein:

folder basic settings

Im obigen Bild ist der Show less-Modus aktiv und es wird nur derjenige Eintrag angezeigt, der zum Erstellen eines Ordners unbedingt notwendig ist. Bestätigen Sie die Eingabe mit Save.

Erstellen Sie analog zum Ordner Windows die anderen beiden Ordner Linux und Network. Danach sieht die Situation so aus:

three empty folders

Tipp: Wenn Sie mit der Maus auf den Reiter oder den oberen Bereich eines Ordner-Symbols zeigen, klappt der Ordner auf und enthüllt die Symbole, die Sie benötigen, um wichtige Aktionen mit dem Ordner auszuführen (die Eigenschaften ändern, den Ordner verschieben oder ihn löschen).

Noch ein Tipp: Rechts oben auf jeder Seite finden Sie die Information, ob — und wenn ja, wie viele — Änderungen inzwischen bereits aufgelaufen sind. Da wir drei Ordner erstellt haben, gibt es drei Änderungen, die jetzt aber noch nicht aktiviert werden müssen. Wir werden uns mit dem Aktivieren von Änderungen weiter unten genauer beschäftigen.

5. Den ersten Host aufnehmen

Jetzt ist alles dafür vorbereitet, um den ersten Host in das Monitoring aufzunehmen — und was wäre naheliegender, als den Checkmk-Server selbst zu überwachen? Natürlich wird dieser nicht seinen eigenen Totalausfall melden können, aber nützlich ist das trotzdem, denn Sie erhalten so nicht nur eine Übersicht über die CPU- und RAM-Nutzung, sondern auch etliche Metriken und Checks, die das Checkmk-System selbst betreffen.

Das Vorgehen zum Aufnehmen eines Linux-Hosts (wie übrigens auch eines Windows-Hosts) ist im Prinzip stets das Folgende:

  1. Agent herunterladen

  2. Agent installieren

  3. Host erstellen

Nach der Erstellung des Hosts wird die Einrichtung komplettiert durch die Konfiguration der Services und die Aktivierung der Änderungen, die wir im Anschluss beschreiben werden.

5.1. Agent herunterladen

Da der Checkmk-Server ein Linux-Rechner ist, benötigen Sie den Checkmk-Agenten für Linux.

CEE In den Enterprise Editions gelangen Sie mit Setup > Agents > Windows, Linux, Solaris, AIX zu einer Seite, die Ihnen auch den Zugang zur Agentenbäckerei (agent bakery) bietet, mit dem Sie sich individuell konfigurierte Agentenpakete „backen“ können. Zusätzlich wird aber auch immer ein generischer Agent angeboten, den Sie sofort herunterladen können:

agent download cee

CRE Die Raw Edition verfügt über keine Agentenbäckerei. Hier kommen Sie über Setup > Agents > Linux direkt zur Download-Seite, auf der Sie vorkonfigurierte Agenten und Agenten-Plugins finden. (Diese finden Sie in den Enterprise Editions über Setup > Agents > Other operating systems.)

agent download page

Laden Sie die Paketdatei herunter: Wählen Sie das RPM-Dateiformat für Red Hat, CentOS und SLES oder das DEB-Dateiformat für Debian und Ubuntu.

5.2. Agent installieren

Für das folgende Installationsbeispiel nehmen wir an, dass sich die heruntergeladene Paketdatei im Verzeichnis /root befindet, also im Home-Verzeichnis des root-Benutzers. Falls Sie die Datei in ein anderes Verzeichnis heruntergeladen haben, ersetzen Sie im folgenden Installationskommando das Verzeichnis /root mit eben diesem Verzeichnis. Ähnliches gilt für den Namen der Paketdatei, den Sie mit dem Namen der von Ihnen heruntergeladene Datei ersetzen.

Die Paketdatei wird nur während der Installation benötigt. Sie können sie nach der Installation löschen.

Hinweis: In unserem Beispiel wird der Agent auf dem Checkmk-Server installiert, d.h. Sie brauchen die Paketdatei nicht auf einen anderen Rechner zu kopieren. Falls sich die heruntergeladene Datei nicht auf dem Ziel-Host für die Installation des Agenten befinden sollte, müssen Sie die Datei zuerst auf den Ziel-Host kopieren, zum Beispiel mit dem Kommandozeilentool scp. Das passiert auf die gleiche Weise wie bei der Installation der Checkmk-Software und wie es für die Linux-Installation beschrieben ist, z.B. für die Installation unter Debian und Ubuntu.

Die Installation erfolgt als root auf der Kommandozeile, für die RPM-Datei mit rpm, am besten mit der Option -U, die für Upgrade steht und dafür sorgt, dass die Installation auch dann fehlerlos durchläuft, wenn bereits eine alte Version des Agenten installiert ist:

root@linux# rpm -U /root/check-mk-agent-2.0.0b5-a38356026f314d52.noarch.rpm

… oder für die DEB-Datei mit dem Befehl dpkg -i:

root@linux# dpkg -i /root/check-mk-agent_2.0.0b5-a38356026f314d52_all.deb

Wichtig: Der Agent benötigt zum Funktionieren entweder das Hintergrundprogramm (daemon) systemd, das bei neueren Linux-Distributionen Standard ist, oder den Hilfs-Daemon xinetd. Welcher Daemon auf Ihrem Rechner läuft, können Sie an der Ausgabe beim Installieren des Agenten sehen:

Agent läuft …​Ausgabe

mit xinetd

Reloading xinetd…​

mit systemd

Enable Checkmk agent in systemd…​

überhaupt nicht

Keine der beiden anderen Meldungen, dafür: This package needs xinetd to be installed for full functionality.

Falls bei Ihnen weder systemd noch xinetd vorhanden ist, installieren Sie xinetd einfach nach. Das geht auf RedHat/CentOS mit:

root@linux# yum install xinetd

auf SLES mit:

root@linux# zypper install xinetd

und auf Debian/Ubuntu mit:

root@linux# apt install xinetd

Damit ist die Installation des Agenten abgeschlossen.

Der Checkmk-Agent für Linux ist ein ausführbares Programm (Shell-Skript), das Sie sehr leicht testen können, indem Sie den Befehl check_mk_agent aufrufen:

root@linux# check_mk_agent
<<<check_mk>>>
Version: 2.0.0b5
AgentOS: linux
Hostname: mycmkserver
AgentDirectory: /etc/check_mk
DataDirectory: /var/lib/check_mk_agent
SpoolDirectory: /var/lib/check_mk_agent/spool
PluginsDirectory: /usr/lib/check_mk_agent/plugins
LocalDirectory: /usr/lib/check_mk_agent/local
...

Die Ausgabe des check_mk_agent-Kommandos ist sehr, sehr lang, daher haben wir nur die ersten Zeilen aufgelistet.

Um die Erreichbarkeit des Agenten von außen zu testen, können Sie von einem anderen Rechner aus mit telnet eine Verbindung auf Port 6556 versuchen. Hier sollte der Agent mit der gleichen Ausgabe antworten:

root@linux# telnet mycmkserver 6556
Trying 192.168.178.34...
Connected to mycmkserver.
Escape character is '^]'.
<<<check_mk>>>
Version: 2.0.0b5
AgentOS: linux
Hostname: mycmkserver
...

Hinweis: Der Agent ist standardmäßig aus dem ganzen Netz erreichbar und ohne Passwort abfragbar. Da der Agent aber grundsätzlich keine Befehle aus dem Netz annimmt, kann sich ein möglicher Angreifer keinen Zugriff verschaffen. Allerdings sind Informationen wie die Liste der aktuellen Prozesse sichtbar. Wie Sie den Agenten absichern, erfahren sie im Artikel über den Linux-Agenten.

5.3. Host erstellen

Nachdem der Agent auf dem Host installiert ist, können Sie den Host ins Monitoring aufnehmen — und zwar in den vorbereiteten Ordner Linux. Nur zur Erinnerung: In diesem Beispiel sind der Checkmk-Server und der zu überwachende Host identisch.

Öffnen Sie in der Checkmk-Oberfläche die gleiche Seite Main directory, auf der Sie bereits die drei Ordner erstellt haben: Setup > Hosts > Hosts. Wechseln Sie dort in den Ordner Linux, indem Sie den Ordner anklicken.

Klicken Sie Add host und die Seite Create new host wird geöffnet:

host allsettings less

Wie schon beim Anlegen der drei Ordner weiter oben ist immer noch der Show less-Modus aktiv. Daher zeigt Checkmk im Formular nur die wichtigsten und zum Erstellen eines Hosts notwendigen Host-Parameter an. Falls es sie interessiert, können Sie sich den Rest ansehen, indem Sie bei jedem der geöffneten Kästen die drei Auslassungszeichen button showmore anklicken und die beiden zugeklappten Kästen am Ende der Seite öffnen. Wie am Anfang erwähnt, ist Checkmk ein komplexes System, das auf jede Frage eine Antwort hat. Deswegen kann man bei einem Host (aber nicht nur dort) auch sehr viel konfigurieren.

Tipp: Auf vielen Seiten — auch auf dieser — können Sie sich zusätzlich Hilfetexte zu den Parametern anzeigen lassen. Wählen Sie dazu im Help-Menü den Eintrag Show inline help. Die gewählte Einstellung bleibt auch auf anderen Seiten aktiv, bis Sie die Hilfe wieder abschalten.

Aber nun zu den Eingaben, um den ersten Host zu erstellen. Sie müssen nur ein einziges Feld ausfüllen, nämlich Hostname bei den Basic settings.

Diesen Namen können Sie frei vergeben. Dabei sollten Sie aber wissen, dass der Hostname von zentraler Bedeutung ist, denn er dient im Monitoring an allen Stellen als interne ID (oder Schlüssel) zur eindeutigen Identifizierung des Hosts. Da er in Checkmk so wichtig ist und oft genutzt wird, sollten Sie sich die Benamsung Ihrer Hosts gut überlegen. Ein Hostname kann später geändert werden, aber da dies ein aufwendiger Vorgang ist, sollten Sie ihn vermeiden.

Am besten ist es, wenn der der Host unter seinem Namen im DNS auflösbar ist. Dann sind Sie mit diesem Formular auch schon fertig. Falls nicht, oder falls Sie kein DNS verwenden möchten, können Sie die IP-Adresse aber auch von Hand im Feld IPv4 Address eintragen.

Hinweis: Damit Checkmk immer stabil und performant laufen kann, unterhält es einen eigenen Cache für die Auflösung der Hostnamen. Daher führt der Ausfall des DNS-Dienstes nicht zum Ausfall des Monitorings. Die Details zu Hostnamen, IP-Adressen und DNS finden Sie im Artikel über die Verwaltung der Hosts.

Bevor es weitergeht, muss der erste Host zuerst einmal komplett erstellt werden. Soweit sind wir noch nicht — auch wenn wir kurz davor stehen.

5.4. Diagnose

Murphys Gesetz („Alles, was schiefgehen kann, wird auch schiefgehen.“) kann leider auch von Checkmk nicht außer Kraft gesetzt werden. Schiefgehen kann vor allem dann etwas, wenn man es zum ersten Mal probiert. Daher sind gute Möglichkeiten zur Fehlerdiagnose wichtig.

Bereits bei der Erstellung eines Hosts bietet Checkmk an, nicht nur die Eingaben (Hostname und IP-Adresse) auf der Seite Create new host zu sichern, sondern zusätzlich die Verbindung zum Host zu testen. In der Aktionsleiste der Seite Create new host finden Sie unter anderem den Knopf Save & go to connection tests. Klicken Sie auf diesen.

Die Seite Test connection to host wird angezeigt und Checkmk versucht, den Host auf den verschiedensten Wegen zu erreichen. Für Linux- und Windows-Hosts sind dabei nur die beiden oberen Kästen interessant:

host diagnostics

Durch die Ausgabe im Kasten Agent erhalten Sie die Gewissheit, dass Checkmk erfolgreich mit dem Agenten kommunizieren kann, den Sie zuvor auf dem Host manuell installiert hatten.

In weiteren Kästen sehen Sie, wie Checkmk versucht, per SNMP Kontakt aufzunehmen. Das führt in diesem Beispiel erwartbar zu SNMP-Fehlern, ist aber sehr nützlich für Netzwerkgeräte, die wir weiter unten besprechen werden.

Auf dieser Seite können Sie im Kasten Host Properties bei Bedarf eine andere IP-Adresse ausprobieren, den Test erneut durchführen und die geänderte IP-Adresse mit Save & go to host properties sogar direkt in die Host-Eigenschaften übernehmen.

Klicken Sie diesen Knopf (ob Sie die IP-Adresse geändert haben oder nicht) und Sie landen auf der Seite Properties of host.

6. Die Services konfigurieren

Nachdem der Host selbst aufgenommen wurde, kommt das eigentlich Interessante: die Konfiguration seiner Services. Auf der oben genannten Seite der Host-Eigenschaften klicken Sie Save & go to service configuration und die Seite Services of host wird angezeigt.

Auf dieser Seite legen Sie fest, welche Services Sie auf dem Host überwachen möchten. Wenn der Agent auf dem Host erreichbar ist und korrekt läuft, findet Checkmk automatisch eine Reihe von Services und schlägt diese für das Monitoring vor (hier gekürzt dargestellt):

intro setup monitor services of host

Für jeden dieser Services gibt es prinzipiell die folgenden Möglichkeiten:

  • Undecided : Sie haben sich noch nicht entschieden, ob dieser Service überwacht werden soll.

  • Monitored : Der Service wird überwacht.

  • Disabled : Sie haben sich dafür entschieden, den Service grundsätzlich nicht zu überwachen.

  • Vanished : Der Service wurde überwacht, existiert aber jetzt nicht mehr.

Die Seite zeigt alle Services nach diesen Kategorien in Tabellen an. Da Sie noch keinen Service konfiguriert haben, sehen Sie nur die Tabelle Undecided. Für den Anfang ist es am einfachsten, wenn Sie jetzt auf Monitor undecided services klicken. Dann werden alle Services direkt in das Monitoring übernommen und alle Undecided zu Monitored Services.

Sie können diese Seite jederzeit später aufrufen, um die Konfiguration der Services anzupassen. Manchmal entstehen durch Änderungen an einem Host neue Services, z.B. wenn Sie eine Logical Unit Number (LUN) als Dateisystem einbinden oder eine neue Oracle Datenbankinstanz konfigurieren. Diese Services erscheinen dann wieder als Undecided, und Sie können sie einzeln oder alle auf einmal in das Monitoring aufnehmen.

Umgekehrt können Services auch verschwinden, z.B. weil ein Dateisystem entfernt wurde. Diese erscheinen dann im Monitoring als UNKNOWN und auf dieser Seite als Vanished und können mit Remove vanished services aus dem Monitoring entfernt werden.

Der Knopf Fix all macht alles auf einmal: fehlende Services hinzufügen und überflüssige entfernen.

7. Änderungen aktivieren

Checkmk speichert alle Änderungen, die Sie vornehmen, zunächst nur in einer vorläufigen „Konfigurationsumgebung“, die das aktuell laufende Monitoring noch nicht beeinflusst. Erst durch das „Aktivieren der aufgelaufenen Änderungen“ werden diese in das Monitoring übernommen. Mehr über die Hintergründe dazu erfahren Sie im Artikel über die Konfiguration von Checkmk.

Wie wir schon oben erwähnt hatten, finden Sie auf jeder Seite rechts oben die Information, wie viele Änderungen sich bisher angesammelt haben, die noch nicht aktiviert sind. Klicken Sie auf den Link mit der Anzahl der Änderungen. Dies bringt Sie auf die Seite Activate pending changes, die unter anderem bei Pending changes die noch nicht aktivierten Änderungen auflistet:

activate changes

Klicken Sie jetzt auf den Knopf Activate on affected sites, um die Änderungen anzuwenden.

Kurz danach können Sie das Resultat in der Seitenleiste im Overview sehen, das nunmehr die Zahl der Hosts (1) und die Zahl der zuvor von Ihnen ausgewählten Services anzeigt. Auch im Standard-Dashboard, das Sie mit einem Klick auf das Checkmk-Logo links oben in der Navigationsleiste erreichen, können Sie jetzt sehen, dass sich das System mit Leben gefüllt hat.

Damit haben Sie den ersten Host mit seinen Services erfolgreich ins Monitoring übernommen: Gratulation!

8. Windows überwachen

Ebenso wie für Linux hat Checkmk auch für Windows einen eigenen Agenten. Dieser ist als MSI-Paket verpackt. Sie finden ihn an der gleichen Stelle wie auch den Linux-Agenten (in der CRE Checkmk Raw Edition knapp daneben unter Setup > Agents > Windows). Sobald Sie das MSI-Paket heruntergeladen und auf Ihren Windows-Rechner kopiert haben, können Sie es wie bei Windows üblich per Doppelklick installieren.

Hinweis: Es kann sein, dass Sie die Firewall-Einstellungen unter Windows anpassen müssen, damit Checkmk über das Netzwerk zugreifen kann.

Sobald der Agent installiert ist, können Sie den Host ins Monitoring aufnehmen. Dabei gehen Sie nach dem gleichen Ablauf vor, wie oben für den Linux-Host beschrieben, allerdings sollten Sie den Host im dafür vorgesehenen Ordner Windows erstellen. Da Windows anders aufgebaut ist als Linux, findet der Agent natürlich andere Services. Die detaillierte Einführung ins Thema finden Sie im Artikel über die Überwachung von Windows.

9. Mit SNMP überwachen

Professionelle Switches, Router, Drucker und viele andere Geräte und Appliances haben bereits vom Hersteller eine eingebaute Schnittstelle für das Monitoring: das Simple Network Management Protocol (SNMP). Solche Geräte lassen sich sehr einfach mit Checkmk überwachen — und Sie müssen noch nicht einmal einen Agenten installieren.

Das grundsätzliche Vorgehen ist dabei immer gleich:

  1. In der Management-Oberfläche des Geräts schalten Sie SNMP frei für lesende Zugriffe von der IP-Adresse des Checkmk-Servers.

  2. Vergeben Sie dabei eine Community. Das ist nichts anderes als ein Passwort für den Zugriff. Da dieses im Netzwerk in der Regel im Klartext übertragen wird, ist es nur begrenzt sinnvoll, das Kennwort sehr kompliziert zu wählen. Die meisten Anwender verwenden für alle Geräte innerhalb eines Unternehmens einfach die gleiche Community. Das vereinfacht auch die Konfiguration in Checkmk sehr.

  3. Erstellen Sie in Checkmk den Host für das SNMP-Gerät wie oben beschrieben, diesmal im dafür vorgesehenen Ordner Network.

  4. In den Eigenschaften des Hosts, im Kasten Data sources aktivieren Sie Checkmk Agent und wählen Sie No agent aus.

  5. Im gleichen Kasten Data sources aktivieren Sie SNMP und wählen Sie SNMP v2 or v3 aus.

  6. Falls die Community nicht public lautet, aktivieren Sie wieder unter Data sources den Eintrag SNMP credentials, wählen Sie SNMP community (SNMP Versions 1 and 2c) aus und tragen Sie im Eingabefeld darunter die Community ein.

Für die letzten 3 Punkte sollte das Ergebnis so aussehen wie im folgenden Bild:

host snmp configuration

Tipp: Wenn Sie alle SNMP-Geräte in einem eigenen Ordner angelegt haben, führen Sie die Konfiguration der Data sources einfach für den Ordner aus. Damit gelten die Einstellungen automatisch für alle Hosts in diesem Ordner.

Der Rest läuft wie gehabt. Wenn Sie möchten, können Sie noch mit dem Knopf Save & go to connection tests einen Blick auf die Seite Test connection to host werfen. Dort sehen Sie auch sofort, ob der Zugriff via SNMP funktioniert, hier z.B. für einen Switch vom Typ Cisco Catalyst 4500:

snmp diagnostics

Klicken Sie auf der Seite Properties of host anschließend auf Save & go to service configuration, um die Liste aller Services angezeigt zu bekommen. Diese sieht natürlich komplett anders aus als bei Linux oder Windows. Auf allen Geräten überwacht Checkmk per Default alle Ports, die aktuell in Benutzung sind. Dies können Sie später nach Belieben anpassen. Außerdem zeigt Ihnen ein Service, der immer OK ist, die allgemeinen Informationen zu dem Gerät, und ein anderer Service die Uptime an.

Die ausführliche Beschreibung finden Sie im Artikel über die Überwachung via SNMP.

10. Cloud, Container und virtuelle Maschinen

Auch Cloud-Dienste, Container und virtuelle Maschinen (VM) können Sie mit Checkmk überwachen, selbst wenn Sie keinen Zugriff auf die eigentlichen Server haben. Checkmk nutzt dafür die von den Herstellern vorgesehenen Anwendungsprogrammierschnittstellen (API). Diese verwenden für den Zugriff durchgehend HTTP bzw. HTTPS.

Das Grundprinzip ist immer das Folgende:

  1. Richten Sie in der Management-Oberfläche des Herstellers einen Account für Checkmk ein.

  2. Erstellen Sie in Checkmk einen Host für den Zugriff auf die API.

  3. Richten Sie für diesen Host eine Konfiguration zum Zugriff auf die API ein.

  4. Für die überwachten Objekte wie VMs, EC2-Instanzen, Container usw. legen Sie weitere Hosts in Checkmk an bzw. automatisieren die Erstellung.

Sie finden im Handbuch Schritt-für-Schritt-Anleitungen zur Einrichtung der Überwachung von Amazon Web Services (AWS), Microsoft Azure, Docker, Kubernetes und VMWare ESXi.

Auf dieser Seite