Windows- und ESXi-Server mit Checkmk Free Edition überwachen


    Tags: , , ,

    Checkmk ESXi-MonitoringDamit Checkmk von Sys­temen Daten ein­sammeln und sie über­wachen kann, muss man auf Windows- und Linux-Servern einen Agent instal­lieren. Bei ESXi und vCenter reicht es hin­gegen aus, Regeln zu defi­nieren, um ihre inte­grierten Moni­toring-APIs anzu­sprechen. Dieser Bei­trag zeigt, wie man dabei vor­geht.

    Viele etablierte Monitoring-Lösungen kon­zen­trieren sich auf Ereignisse (Events). Bekannte Quellen dafür sind Nachrichten des Syslog-Systems, SNMP-Traps oder auch das Windows- bzw. ESXi-Eventlog. Ein Ereignis wäre etwa ein Zugriffsfehler auf eine SSD.

    Im Gegensatz zu einem Ereignis, das irgendwann spontan und von selbst passiert (asynchron), ist ein Zustand eine anhaltende Situation, wie zum Beispiel "SSD X ist online". Möchte man aber den aktuellen Status einer Komponente überwachen, muss das Monitoring-System diesen regelmäßig abfragen.

    Fokus auf zustandsbasiertem Monitoring

    Checkmk kann mit beiden Varianten umgehen, gibt aber, wo immer möglich, dem zustands­basierten Monitoring den Vorrang, da diese Methode einige Vorteile bietet. So kann das Monitoring-System bei der Zustands­überwachung selbst steuern, in welcher Frequenz es Daten abruft. Bei Meldungen hingegen kann es in system­weiten Problem­situationen zu regelrechten Event-Stürmen kommen.

    Für Checkmk ist das zustands­basierte Monitoring quasi der Normalbetrieb, während für die Verar­beitung von Ereignissen explizit die Checkmk Event Console zuständig ist. Sie ist laut Hersteller auf das Korrelieren und Bewerten von großen Mengen von Events spezialisiert und in das Monitoring integriert.

    Beim zustands­basierten Monitoring differenziert die Software zwischen mehreren Methoden. So kann sie von den überwachten Systemen einfach Dienste wie SMTP, IMAP oder HTTP abfragen, wozu Checkmk sowohl eigene als auch Nagios-Plugins nutzt.

    Liste der Plugins für Betriebssysteme, die Checkmk unterstützt

    Läuft auf dem Zielsystem ein SMNP-Dienst, dann lässt es sich auch auf diesem Weg überwachen, etwa bei Netzwerk­geräten wie Routern und Switches. Darüber hinaus gibt spezielle Checkmk-Agenten für viele Plattformen, darunter natürlich Windows, Linux, MacOS, BSD aber auch für OpenWRT.

    Agenten sind in der Regel Shell-Scripts, die auf Port 6556 lauschen. Sie übermitteln ihre Ergebnisse als passive Checks an den Server, wenn dieser sie im konfigurierten Intervall anfragt.

    Monitoring-Agents für diverse Anwendungen und Systemdienste

    Nur wenn das Zielsystem kein Installieren von Agenten erlaubt, dann kann der Checkmk-Server selbst welche ausführen, die über unterschiedliche Wege auf die über überwachten Systeme zugreifen.

    Netzwerkdienste, die sich in Checkmk ohne Agents überwachen lassen

    Hosts in die Überwachung aufnehmen

    Wir werden nun exemplarisch je einen Linux, Windows- und ESXi-Server in die Überwachung aufnehmen. Erste Anlaufstelle dazu ist der Abschnitt WATO - CONFIGURATION unten links im sonst noch leeren Web-Interface.

    Bereich in der Navigation, der für das Hinzufügen von Hosts zuständig ist

    Wir beginnen mit dem Hinzufügen von Linux-Hosts, da es Sinn macht, auch den Checkmk-Server selbst in die Überwachung einzu­beziehen. Den hierfür benötigten Agenten bietet Checkmk direkt im Web-Interface zum Download an.

    Wir klicken daher zunächst nicht auf Hosts, sondern auf Monitoring Agents und laden die DEB-Version für Linux herunter. Wir tun dies aber nicht auf unserer Windows-Workstation, denn dann müssten wir das Paket anschließend wieder per SCP auf den Monitoring-Server kopieren (das ist die von Checkmk empfohlene Methode). Vielmehr wechseln wir zum Browser direkt auf dem Checkmk-Server.

    Agent für Linux als .deb-Paket herunterladen

    Das heruntergeladene DEB-Paket speichern wir im Downloads-Verzeichnis des Linux-Nutzers, werden dann wieder zu root und installieren es mit gdebi.

    gdebi /home/drilling/Downloads/check-mk-agent_1.6.0p6-fd07a8d8b06b9cdc_all.deb

    Agent für Linux mit gdebi installieren

    Ist das geschehen, können wir den Checkmk-Server als Host im Web-Interface (WATO - CONFIGURATION => Hosts) durch Klick auf die Schaltfläche "New host"(oben) oder "Create new host" mit seiner IP-Adresse oder besser per FQDN hinzufügen.

    Neuen Host für die Überwachung über das Web-Interface hinzufügen

    Der bei Hostname fällige Eintrag muss nicht zwingend dem DNS-Namen entsprechen, eine funk­tionierende DNS-Auflösung macht aber vieles leichter. Ist der Name auflösbar, muss keine IP-Adresse angegeben werden.

    Die Seite Create new host ist sehr umfangreich und erlaubt insbesondere im Abschnitt DATA SOURCES die Wahl zwischen den oben beschriebenen Monitoring-Methoden. Hier sind zunächst keine Einstellungen erforderlich und der Host kann mit einem Klick auf Save & go to Services gespeichert werden.

    Einstellungen des neuen Hosts bearbeiten

    Der Checkmk-Server fragt nun den auf dem Host installierten Agenten ab. Sofern dieser korrekt läuft und erreichbar ist, findet Checkmk automatisch eine Reihe von Services und schlägt diese für das Monitoring vor. Der Nutzer kann nun im Detail festlegen, welche er überwachen möchte.

    Sobald der Checkmk-Server mit dem Agent verbunden ist, zeigt die Konsole die Dienste des Zielsystems, die sich überwachen lassen

    Mit einem Klick auf die Monitor-Schaltfläche werden alle angebotenen Services in die Überwachung übernommen.

    Danach zeigt das Web-Interface oben links einen Button mit der Aufschrift 2 changes (Host hinzu­fügen, alle Services übernehmen), die man übernehmen muss.

    Die Konsole zeigt an, dass das Hinzufügen des Hosts und die Konfiguration seiner Einstellungen noch nicht gespeichert wurde.

    Die geschieht mit einem Klick auf Activate affected.

    Noch nicht gespeicherte Änderungen aktiv schalten

    Danach taucht der neue Host oben links bei TACTIAL OVERVIEW auf und unter VIEWS => Overview => Main Overview trudeln erste Daten ein.

    Nach dem Aktivieren des Monitorings für den neuen Host zeigen sich gleich erste Daten auf der Web-Konsole.

    Windows-Server überwachen

    Das Installieren eines Agenten auf einem Windows-Host und das Aufnehmen desselben in die Überwachung laufen nach dem gleichen Muster ab. In diesem Fall laden wir das MSI-Paket wieder aus dem Web-Interface herunter.

    Agent für Windows herunterladen

    Dessen Installation ist einfach und erfordert keine Erklärung.

    Installation des Checkmk-Agents für Windows

    Anschließend nehmen wir den Windows-Host wie gehabt in die Überwachung auf.

    Windows-Server in die Überwachung aufnehmen

    ESXi und vCenter überwachen

    Beim Hinzufügen von ESXi-Hosts verfahren wir in gleicher Weise, verzichten aber auf das vorherige Installieren eines Agenten. VMware bietet nämlich ein eigenes API an, das der Checkmk-Server direkt ansprechen kann.

    Zudem umfasst ESXi bekanntlich eigene CIM-Provider, mit deren Hilfe Monitoring-Software auch Hardware-Informationen vom Host erhalten kann. Damit Checkmk für ESXi-Hosts die vSphere-eigene API nutzt, definiert man eine Art Regel im Dialog unter WATO - CONFIGURATION => Host & Service Parameters. Dazu klickt man auf die Schaltfläche Datasource Programs.

    Die Überwachung von ESXi-Hosts kommt ohne Agents aus, hier spricht Checkmk die VMware-APIs an.

    Anschließend wählen wir in der Liste DATASOURCE PROGRAMS den Eintrag Check state of VMWare ESX via vSphere.

    Unter Datasource Programs jenes auswählen, mit dem sich ESXi via vCenter überwachen lässt.

    Hier erstellen wir jetzt eine neue Regel, die voraussetzt, dass wir zuvor auf dem ESXi-Host einen User checkmk mit Leserechten angelegt haben. Diesen geben wir bei vSphere User name nebst seines Passworts an. Im Abschnitt Retrieve information about wählen wir Host Systems, Datastores und Performance Counters. Bei den übrigen Einstellungen belassen wir die Default-Werte.

    Einstellungen für den ESXi-Host bearbeiten

    Nach dem Speichern der Änderungen liefert der Scan eines Hosts auch ESXi-spezifische Services wie Datastore IO SUMMARY oder CPU utilization, die ins Monitoring aufgenommen werden können.

    Services von VMware ESXi, die sich mit Checkmk überwachen lassen

    Dazu klicken wir wieder auf Monitor.

    Überwachung des ESXI-Hosts mit Checkmk starten

    Wir haben in unserem Beispiel ESXi-Hosts, den Checkmk-Server selbst (Linux) und einen Windows-Server der Überwachung hinzugefügt, wobei momentan einer der ESXi-Server down ist, was Checkmk auch sofort erkennt.

    Täglich Know-how für IT-Pros mit unserem Newsletter

    Wir ver­wenden Ihre Mail-Adresse nur für den Ver­sand der News­letter.
    Es erfolgt keine per­sonen­be­zogene Auswertung.

    Bild von Thomas Drilling
    Thomas Drilling arbeitet seit mehr als 20 Jahren selb­ständig als Redakteur und Autor für viele ehe­malige und aktuelle IT-Magazine sowie Blogs. Thomas ist zudem Buch­autor und IT-Consultant. Seit 5 Jahren ist Thomas neben seiner journa­listischen Tätig­keit haupt­beruflicher, selb­ständiger IT-Trainer für VMware und Microsoft.

    Seine Themen­schwer­punkte sind Virtua­lisierung und Cloud Com­puting, speziell VMware, Amazon Web Services, Google Cloud und Microsoft Azure. Thomas ist zerti­fi­zierter VMware Professional, Advanced Professional und wurde von VMware in den Jahren 2016, 2017, 2018, 2019 und 2020 mit dem Blogger-Status vExpert ausge­zeichnet.

    Thomas ist außerdem zertifi­zierter AWS Solu­tions Archi­tect, Sysops Engineer und Devops Engineer sowie Microsoft Certified Azure Admini­strator.

    Thomas führt aktuell jeden zwei­ten Mon­tag einen 4-tägigen Grund­lagenkurs in Cloud Computing mit AWS via Zoom-Meeting durch. Weitere Infor­mationen und Anmel­dung über sein AWS-Blog.

    Verwandte Beiträge

    Weitere Links

    1 Kommentar

    .... und für alle die es gerne unter Windows automatisieren möchten:

    ------------------
    prompt $p_$t$G
    SET SOURCE=%~dp0

    REM Installing CheckMK
    msiexec /i "%SOURCE%check_mk_agent" /qn

    REM set Firewall Rules
    :: Allow ICMP Echo (Ping)
    netsh advfirewall firewall delete rule name="ICMP Allow incoming V4 echo request"
    netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=allow

    :: Allow TCP Port 6556 (check-mk-agent)
    netsh advfirewall firewall delete rule name="CheckMK" dir=in protocol=TCP localport=6556
    netsh advfirewall firewall add rule name="CheckMK" dir=in action=allow protocol=TCP localport=6556