Wir nutzen Cookies, um Ihnen eine optimale Nutzung dieser Webseite zu ermöglichen. Mehr Informationen finden Sie im Datenschutzhinweis. Wir nehmen an, dass Sie damit einverstanden sind, falls Sie diese Webseite weiter besuchen.

Ihre Cookie-Einstellungen
Ihre Einstellungen wurden aktualisiert.
Damit die Änderungen wirksam werden, löschen Sie bitte Ihre Browser-Cookies und den Cache und laden dann die Seite neu.

Netzwerkdienste überwachen (Aktive Checks)

Dieser Artikel ist noch nicht fertig und nur ein Entwurf!

1. Einleitung

In Checkmk können Sie Ihre Infrastruktur über viele Möglichkeiten überwachen. Die Überwachung durch einen Agenten oder SNMP sind dabei nur zwei von mehreren Methoden. Beiden ist gemein, dass sie einem nur Zustände mitteilen, wie sie der Host von innen heraus sieht. Sie werden aber sicher einige Dienste kennen, die man nur von außen sinnvoll überwachen kann. Ob der Webserver läuft lässt sich noch von innen heraus beantworten. Wie jedoch die Erreichbarkeit und die Antwortzeiten bei dem eigentlichen Benutzer aussehen, lässt sich auf diese Weise nicht herausfinden.

Checkmk bietet für diese Fälle die aktiven Checks (Active Checks) an. Über diese können Sie Netzwerkdienste direkt und bequem von außen überwachen und die Daten auf ihrem Host anzeigen lassen. Aktive Checks sind also kleine Programme oder Skripte, die eine Verbindung zu einem Dienst im Netzwerk oder Internet aufbauen und dem Nutzer dann die Monitoringdaten zur Verfügung stellen. Viele der Skripte und Programme, die Sie in Checkmk finden, stammen ursprünglich von www.monitoring-plugins.org. Da Checkmk aber generell kompatibel zu Nagios ist, können Sie alle Plugins nutzen, die auch unter Nagios funktionieren.

Die wichtigsten dieser Programme und Skripte sind in Checkmk direkt in der Weboberfläche verfügbar. Hier eine kleine Auswahl:

2. Aktive Checks einrichten

2.1. Reguläre aktive Checks einrichten

In WATO können Sie – bereits weiter oben erwähnt – die wichtigsten und am häufigsten genutzten Checks direkt in der Weboberfläche einrichten. Gehen Sie dazu über WATO ➳ Host & Service Parameters zu dem Eintrag Active Checks (HTTP, TCP, etc.). Hier finden Sie die Regelsätze, mit denen Sie diese Checks einrichten können:

Die meisten Optionen in den Regelsätzen sind selbsterklärend. Falls doch einmal etwas unklar sein sollte, können Sie auch hier für viele Optionen auf die Onlinehilfe zurückgreifen.

2.2. Aktive Checks einem Host zuweisen

Bei manchen Regeln ist es in den Optionen notwendig, eine IP-Adresse oder einen Hostnamen anzugeben. An vielen Stellen ist möglich diese Option leer zu lassen, so dass der Hostname oder dessen IP genommen wird. Auf diese Weise können Sie sehr leicht mit nur einer Regel eine ganze Gruppe an Hosts mit einem aktiven Check versorgen. Achten Sie daher immer darauf (auch mit Hilfe der bereits erwähnten Onlinehilfe), ob diese Möglichkeit in dem konkreten Regelsatz zur Verfügung steht. Sie sparen sich damit unter Umständen eine Menge Konfigurationsarbeit.

Ein Beispiel, anhand des HTTP-Checks erklärt: Nehmen wir an, Sie möchten die Gültigkeit der Zertifikate sämtlicher Webserver in Ihrer Infrastruktur überwachen, dafür aber nicht dutzende oder gar hunderte Regeln anlegen:

Um das mit einer einzigen Regel zu schaffen, machen Sie sich zunächst Gedanken, wie Sie die Conditions am besten befüllen. In dem nachfolgenden Beispiel nutzen wir dafür die Funktion der Labels und setzen auf alle unsere Webserver das Label webprotocol:https. Mit diesem Label können wir nun eine Regel anlegen und die Conditions auf eben dieses Label setzen:

Nachdem Sie die eben erstellte Regel aktiviert haben, suchen Sie in der Quicksearch nach dem soeben gesetzten Servicenamen. Für das Beispiel hier wurden vier Hosts angelegt und der Servicename auf Certificate gesetzt. In den Status Details können Sie dann erkennen, dass auch wirklich verschiedene Webseiten geprüft wurden, da die Ablaufdaten der Zertifikate sich leicht unterscheiden:

Wichtig: Beachten Sie, dass bei den aktiven Checks nicht nur die erste Regel ausgewertet wird, auf welche die Bedingungen zutreffen, sondern vielmehr alle, für die die Bedingungen zu einem Host zutreffen! Nur so ist es möglich, mehrere Services auf einem Host einzurichten.

2.3. Andere zu Nagios kompatible Plugins einbinden

In Checkmk stehen Ihnen natürlich nicht nur die aktiven Checks zur Verfügung, die Sie in der Weboberfläche als Regelsätze vorfinden. Über diese Check-Plugins hinaus, finden Sie noch viele weitere in Ihrer Instanz. Um die Übersicht zu wahren, werden in der folgenden Ausgabe nur ausgewählte Zeilen angezeigt:

OMD[mysite]:~$ ll ~/lib/nagios/plugins/
total 2466
-rwxr-xr-x 1 root root   56856 Feb  3 00:45 check_dig
-rwxr-xr-x 1 root root    6396 Feb  3 00:45 check_flexlm
-rwxr-xr-x 1 root root    6922 Feb  3 00:45 check_ircd
-rwxr-xr-x 1 root root   60984 Feb  3 00:45 check_ntp_peer
-rwxr-xr-x 1 root root   78136 Feb  3 00:45 check_snmp

Jedes dieser Check-Plugins bietet auch eine Hilfe-Option an (-h), über die Sie mehr zur Nutzung des jeweiligen Plugins erfahren können, ohne die Webseite von monitoring-plugins bemühen zu müssen.

Checkmk bietet den speziellen Regelsatz Classical active and passive Monitoring checks an, um diese Plugins bequem nutzen zu können. Die beiden wichtigsten Optionen sind hier die Angabe einer Servicebeschreibung und die Kommandzeile. Letztere kann so geschrieben werden, als würden Sie sich bereits im richtigen Verzeichnis befinden:

Beachten Sie, dass Ihnen hier auch die oben erwähnten Makros, wie $HOSTNAME$ oder $HOSTADDRESS$ zu Verfügung stehen. Eine Liste von allen verfügbaren Makros finden Sie wie immer in der Onlinehilfe. Nachdem Sie die Änderungen aktiviert haben, können Sie den neuen Service auf dem zugeordneten Host sehen:

Eigene Plugins verwenden

In manchen Fällen haben Sie bereits eigene Plugins geschrieben und möchten diese nun in Checkmk verwenden. In diesem Fall ist das Vorgehen weitgehend identisch. Voraussetzung ist lediglich, dass das Plugin kompatibel zu Nagios ist. Dazu gehört eine einzeilige Ausgabe mit den Details des Status und ein Exit-Code, welcher den Status beschreibt. Dieser muss entsprechend 0 für OK, 1 für WARN, 2 für CRIT oder 3 für UNKNOWN sein. Ein kurzes Beispiel, um die sehr einfache Syntax zu verstehen, finden Sie hier:

/omd/sites/mysite/myscript.sh
#!/bin/bash
echo "I am a self written check and I feel well."
exit 0

Legen Sie das Plugin in dem lokalen Pfad ihrer Instanz ab:

OMD[mysite]:~$ cp myscript.sh ~/local/lib/nagios/plugins/

Und machen Sie danach das Skript ausführbar:

OMD:chmod 755 ~/local/lib/nagios/plugins/myscript.sh

Das weitere Vorgehen ist dann identisch zu anderen Plugins, die über den Regelsatz Classical active and passive Monitoring Checks angelegt werden, so dass Sie am Ende den neuen Service sehen können:

3. Besonderheiten bei aktiven Checks

Services, welche durch aktive Checks erstellt wurden, verhalten sich in mancher Hinsicht anders, als andere Services. So wird der Service eines aktiven Checks...

  • ... auch dann weiter geprüft, wenn ein Host DOWN ist.
  • ... unabhängig von anderen (passiven) Services ausgeführt. Das ermöglicht auch das Setzen eines eigenen Intervalls.
  • ... immer vom Server der Checkmk-Instanz ausgeführt. Ausnahmen sind hier MRPEs, welche direkt auf einem Host ausgeführt werden.
  • ... nicht über die Service Discovery aufgenommen, sondern automatisch erzeugt.

4. Aktive Checks auf einem Host ausführen (MRPE)

Um ein klassisches Nagios-Plugin auf einem zu überwachenden Host auszuführen, stellen wir MK's Remote Plugin Executor (kurz: MRPE) zur Verfügung. Je nachdem, ob Sie ein solches Plugin auf einem unixartigen System oder auf einem Windows ausführen wollen, legen Sie es an unterschiedlichen Stellen im Installationsverzeichnis des jeweiligen Agenten ab. Zusätzlich benötigen Sie noch eine Konfigurationsdatei, welche bestimmt, in welcher Art und Weise das Plugin ausgeführt werden soll und wie die konkrete Kommandzeile für den Aufruf aussieht.

Ausführliche Anleitungen finden Sie in den jeweiligen Artikeln zu Windows und Linux.

5. Dateien und Verzeichnisse

Pfad Bedeutung
~/lib/nagios/plugins/ Hier finden Sie alle Plugins, welche mit Checkmk mitgeliefert werden. Es wird dabei keine Unterscheidung zwischen Plugins gemacht, welche von www.monitoring-plugins.org und welche speziell für Checkmk geschrieben wurden.
~/local/lib/nagios/plugins/ Eigene Plugins legen Sie hier ab. Sie werden dann dynamisch eingelesen und überstehen auch ein Update der Checkmk-Instanz.