Checkmk
to checkmk.com

1. CPU-Auslastung aller Kerne einzeln überwachen

Checkmk richtet sowohl unter Linux als auch unter Windows automatisch einen Service ein, der die durchschnittliche Auslastung der CPU-Leistung über die letzte Minute überwacht. Dies ist einerseits sinnvoll, erkennt aber andererseits einige Fehler nicht, beispielsweise den, dass ein einzelner Prozess Amok läuft und permanent eine CPU mit 100% belastet. Bei einem System mit 16 CPUs trägt eine CPU aber nur mit 6.25% zur Gesamtleistung bei, und so wird selbst im geschilderten Extremfall nur eine Auslastung von 6.25% gemessen — was dann nicht zu einer Alarmierung führt.

Deswegen bietet Checkmk die Möglichkeit (für Linux und für Windows), alle vorhandenen CPUs einzeln zu überwachen und festzustellen, ob einer der Kerne über längere Zeit permanent ausgelastet ist. Diesen Check einzurichten, hat sich als gute Idee herausgestellt.

Um diese Überprüfung für Ihre Windows-Server einzurichten, benötigen Sie für den Service CPU utilization den Regelsatz CPU utilization for simple devices, den Sie unter den Service monitoring rules finden. Dieser Regelsatz ist für die Überwachung aller CPUs zuständig — hat aber auch diesen Parameter im Angebot hat: Levels over an extended time period on a single core CPU utilization.

Erstellen Sie eine neue Regel und aktivieren Sie in dieser nur diesen Parameter:

cpu single core

Definieren Sie die Bedingung so, dass sie nur für die Windows-Server greift, z.B. durch einen geeigneten Ordner oder ein Host-Merkmal. Diese Regel wird andere Regeln im gleichen Regelsatz nicht beeinflussen, wenn diese andere Parameter festlegen, z.B. die Schwellwerte für die Gesamtauslastung.

Bei Linux-Servern ist dafür die Regelsatz CPU utilization on Linux/UNIX zuständig, in dem Sie den gleichen Parameter setzen können.

2. Windows-Dienste überwachen

In der Voreinstellung überwacht Checkmk auf Ihren Windows-Servern keine Dienste. Warum nicht? Nun, weil Checkmk nicht weiß, welche Dienste für Sie wichtig sind.

Wenn Sie sich nicht die Mühe machen wollen, für jeden Server von Hand festzulegen, welche Dienste dort wichtig sind, können Sie auch einen Check einrichten, der einfach überprüft, ob alle Dienste mit der Startart „automatisch“ auch wirklich laufen. Zusätzlich können Sie sich informieren lassen, ob Dienste laufen, die manuell — quasi außer der Reihe — gestartet wurden. Diese werden nach einem Reboot nicht mehr laufen, was ein Problem sein kann.

Um dies umzusetzen, benötigen Sie zunächst den Regelsatz Windows Services den Sie unter den Service monitoring rules finden, z.B. über die Suchfunktion Setup > General > Rule search. Der entscheidende Parameter in der neuen Regel lautet Service states. Aktivieren Sie diesen und fügen Sie drei neue Elemente für die Zustände der Dienste hinzu:

windows services rule

Dadurch erreichen Sie folgende Überwachung:

  • Ein Dienst mit der Startart auto, der läuft, gilt als OK.

  • Ein Dienst mit der Startart auto, der nicht läuft, gilt als CRIT.

  • Ein Dienst mit der Startart demand, der läuft, gilt als WARN.

Diese Regel gilt allerdings nur für Services, die auch wirklich überwacht werden. Daher benötigen wir noch einen zweiten Schritt und eine zweite Regel, diesmal aus dem Regelsatz Windows service discovery, mit der Sie festlegen, welche Windows-Dienste Checkmk als Services überwachen soll.

Wenn Sie diese Regel anlegen, können Sie zunächst beim Parameter Services (Regular Expressions) den regulären Ausdruck .* eingeben, der auf alle Services zutrifft.

Nach dem Sichern der Regel wechseln Sie für einen passenden Host in die Service-Konfiguration. Dort werden Sie eine große Zahl von neuen Services finden — für jeden Windows-Dienst einen.

Um die Anzahl der überwachten Services auf die für Sie interessanten einzuschränken, kehren Sie zu der Regel zurück und verfeinern die Suchausdrücke nach Bedarf. Dabei wird Groß- und Kleinschreibung unterschieden. Hier ist ein Beispiel für eine angepasste Service-Auswahl:

windows service discovery

Sollten Sie Services, die den neuen Suchausdrücken nicht entsprechen, zuvor schon in die Überwachung aufgenommen haben, erscheinen diese jetzt in der Service-Konfiguration als fehlend. Mit dem Knopf Full service scan können Sie reinen Tisch machen und die ganze Service-Liste neu erstellen lassen.

3. Internetverbindung überwachen

Der Zugang Ihrer Firma zum Internet ist sicherlich für alle sehr wichtig. Die Überwachung der Verbindung zu „dem Internet“ ist dabei etwas schwierig umzusetzen, da es um Milliarden von Rechnern geht, die (hoffentlich) erreichbar sind — oder eben nicht. Sie können aber trotzdem effizient eine Überwachung einrichten, nach folgendem Bauplan:

  1. Wählen Sie mehrere Rechner im Internet, die normalerweise per ping-Kommando erreichbar sein sollten, und notieren Sie deren IP-Adressen.

  2. Legen Sie in Checkmk einen neuen Host an, etwa mit dem Namen internet und konfigurieren diesen wie folgt: Als IPv4 Address geben Sie eine der notierten IP-Adressen ein. Unter Additional IPv4 addresses tragen Sie die restlichen IP-Adressen ein. Aktivieren Sie die Datenquelle Checkmk Agent und setzen Sie sie auf No agent. Speichern Sie den Host ohne Serviceerkennung.

  3. Erstellen Sie eine neue Regel aus dem Regelsatz Check hosts with PING (ICMP Echo Request), die nur für den neuen Host internet greift (z.B. über die Bedingung mit Explicit hosts oder einem passenden Host-Merkmal). Konfigurieren die Regel wie folgt: Aktivieren Sie Service Description und geben Sie Internet connection ein. Aktivieren Sie Alternative address to ping und wählen Sie dort Ping all IPv4 addresses aus. Aktivieren Sie Number of positive responses required for OK state und tragen Sie 1 ein.

  4. Erstellen Sie eine weitere Regel, die ebenfalls nur für den Host internet gilt, diesmal aus dem Regelsatz Host check command. Wählen Sie dort als Host check command die Option Use the status of the service…​ und tragen Sie als Namen Internet connection ein, den Sie im vorherigen Schritt als Service-Namen gewählt haben.

Wenn Sie jetzt die Änderungen aktivieren, erhalten Sie im Monitoring den neuen Host internet mit dem einzigen Service Internet connection.

Wenn mindestens eines der Ping-Ziele erreichbar ist, hat der Host den Status UP und der Service den Status OK. Gleichzeitig erhalten Sie beim Service für jede der eingetragenen IP-Adressen Messdaten für die typische Paketumlaufzeit (round trip time) und den Paketverlust. Damit erhalten Sie einen Anhaltspunkt für die Qualität Ihrer Verbindung im Laufe der Zeit:

service internet

Der letzte Schritt 4 ist notwendig, damit der Host nicht den Zustand DOWN erhält, falls die erste IP-Adresse nicht per ping erreichbar ist. Stattdessen übernimmt der Host den Status seines einzigen Services.

Wichtig: Da ein Service grundsätzlich nicht alarmiert wird, wenn dessen Host DOWN ist, ist es wichtig, dass Sie die Alarmierung über den Host steuern — und nicht über den Service. Außerdem sollten Sie in diesem speziellen Fall einen Alarmierungsweg verwenden, der keine Internetverbindung voraussetzt.

4. HTTP/HTTPS-Dienste überwachen

Nehmen wir an, Sie wollen die Erreichbarkeit einer Website oder eines Web-Dienstes prüfen. Der normale Checkmk-Agent bietet hier keine Lösung, da er diese Information nicht anzeigt — und außerdem haben Sie vielleicht gar nicht die Möglichkeit, den Agenten auf dem Server zu installieren.

Die Lösung ist ein sogenannter aktiver Check. Das ist einer, der nicht per Agent durchgeführt wird, sondern direkt durch das Kontaktieren eines Netzwerkprotokolls beim Ziel-Host — in diesem Fall HTTP(S). Das Vorgehen ist wie folgt:

Legen Sie zuerst in Checkmk einen neuen Host für den Webserver an, z.B. für tribe29.com. Aktivieren Sie die Datenquelle Checkmk Agent und setzen Sie sie auf No agent. Speichern Sie den Host ohne Serviceerkennung.

Erstellen Sie anschließend eine neue Regel aus dem Regelsatz Check HTTP service, die nur für den neuen Host greift (z.B. über die Explicit hosts Bedingung).

Im Kasten Check HTTP service finden Sie zahlreiche Parameter zur Durchführung des Checks. Beachten Sie dabei die folgenden Punkte:

  • Geben Sie bei Service name dem Service einen Namen, z.B. Homepage.

  • Bei Host settings > Virtual host müssen Sie eventuell die Domäne des Servers angeben, wenn dieser mehr als eine Domäne hostet.

  • Mode of the Check > Use SSL/HTTPS for the connection ermöglicht die Überwachung von HTTPS.

  • Mit Mode of the Check > Expected response time können Sie den Service auf WARN oder sogar CRIT setzen lassen, wenn die Antwortzeit zu langsam ist.

  • Mit Fixed string to expect in the content können Sie prüfen lassen, ob in der Antwort — also in der gelieferten Seite — ein bestimmter Text vorkommt. Damit können Sie einen relevanten Teil des Inhalts prüfen, damit nicht eine simple Fehlermeldung des Servers als positive Antwort gewertet wird.

Speichern Sie die Regel und aktivieren Sie die Änderungen. Sie bekommen jetzt einen neuen Host mit einem Service, der einen Zugriff per HTTP(S) prüft.

http service

Sie können diesen Check natürlich auch auf einem Host durchführen, der bereits mit Checkmk per Agent überwacht wird. In diesem Fall entfällt das Anlegen des Hosts und Sie müssen nur die Regel für den Host erstellen.

5. Dateisystem-Schwellwerte magisch anpassen

Gute Schwellwerte für die Überwachung von Dateisystemen zu finden, kann mühsam sein. Denn eine Schwelle von 90% ist bei einer sehr großen Festplatte viel zu niedrig und bei einer kleinen vielleicht schon zu knapp. Wir hatten bereits im Kapitel über die Feinjustierung des Monitoring die Möglichkeit vorgestellt, Schwellwerte in Abhängigkeit von der Dateisystemgröße festzulegen — und angedeutet, dass Checkmk eine weitere, noch schlauere Option im Angebot hat: den Magic Factor.

Den Magic Factor richten Sie so ein:

  1. Im Regelsatz Filesystems (used space and growth) legen Sie nur eine einzige Regel an.

  2. In dieser Regel aktivieren Sie Levels for filesystem und lassen den Standard der Schwellwerte 80.0% bzw. 90.0% unverändert.

  3. Zusätzlich aktivieren Sie Magic factor (automatic level adaptation for large filesystems) und akzeptieren den Standardwert von 0.8.

  4. Setzen Sie ferner Reference size for magic factor auf 20 GByte. Da 20 GByte der Standardwert ist, wird er wirksam, auch ohne dass Sie den Parameter explizit aktivieren.

Das Ergebnis sieht dann so aus:

magic factor

Wenn Sie jetzt die Regel sichern und die Änderung aktivieren, erhalten Sie Schwellwerte, die automatisch von der Größe des Dateisystems abhängen:

  1. Dateisysteme, die genau 20 GByte groß sind, erhalten die Schwellwerte 80% / 90%.

  2. Dateisysteme, die kleiner als 20 GByte sind, erhalten niedrigere Schwellwerte.

  3. Dateisysteme, die größer als 20 GByte sind, erhalten höhere Schwellwerte.

Wie hoch die Schwellwerte genau sind ist — nun ja — magisch! Über den Faktor (hier 0.8) bestimmen Sie, wie stark die Werte verbogen werden. Ein Faktor von 1.0 ändert gar nichts, und alle Dateisysteme bekommen die gleichen Werte. Kleinere Werte verbiegen die Schwellwerte stärker. Die in diesem Kapitel angewendeten Standardwerte von Checkmk haben sich in der Praxis bei sehr vielen Installationen bewährt.

Welche Schwellen genau gelten, können Sie bei jedem Service in seiner Zusammenfassung (Summary) sehen:

magic factor services

Die folgende Tabelle zeigt einige Beispiele für die Auswirkung des Magic Factors (mf) bei einer Referenz von 20 GByte / 80%:

Dateisystemgrößemf = 1.0mf = 0.9mf = 0.8mf = 0.7mf = 0.6mf = 0.5

5 GByte

80%

77%

74%

70%

65%

60%

10 GByte

80%

79%

77%

75%

74%

72%

20 GByte

80%

80%

80%

80%

80%

80%

50 GByte

80%

82%

83%

85%

86%

87%

100 GByte

80%

83%

86%

88%

89%

91%

300 GByte

80%

85%

88%

91%

93%

95%

800 GByte

80%

86%

90%

93%

95%

97%

Mit dem Magic Factor schließen wir den Leitfaden für Einsteiger ab. Wir hoffen, dass Sie es geschafft haben, Ihr Checkmk grundlegend einzurichten — mit oder ohne Magie. Für fast alle Themen, die wir in diesem Leitfaden behandelt haben, finden Sie vertiefende Informationen im Referenzteil für Experten, der den Rest des Handbuchs umfasst. Wir wünschen viel Erfolg mit Checkmk!

Auf dieser Seite