check_mk Nagios

Check Plugin Entwicklung für check_mk Teil 1

UPDATE:  02.02.2014 – Anpassung an aktuellen Stand der Dinge.

Heute der erste Teil zur Step by Step Check Plugin Entwicklung für check_mk.

Der Ablauf in Kürze: der check_mk Agent wird um eine Sektion erweitert,  Check_MK  um ein Plugin, welches diese auswertet. In diesem Artikel geht es um die Erweiterung des Agents durch eine Sektion.

Eine Sektion im Agent ist nichts weiter als ein Textabschnitt, welcher mit <<<NAME>>> eingeleitet wird und bis zur nächsten Sektion führt. Erreichen lässt sich das am einfachsten durch ein Shell Script, welches in den Plugin Order des check_mk_agents abgelegt wird. Normalerweise befindet sich dieser unter /usr/lib/check_mk_agents/plugins. Er kann aber auch relativ einfach ermittelt werden. Er ist als PluginsDirectory direkt in der Agents Ausgabe hinterlegt:
Einfach mal check_mk_agent | head eingeben:

<<<mysql_status>>>
Version: 1.1.10
AgentOS: linux
PluginsDirectory: /usr/lib/check_mk_agent/plugins
LocalDirectory: /usr/lib/check_mk_agent/local
AgentDirectory: /etc/check_mk

Der Name der Datei spielt keine Rolle. Wichtig ist nur, das sie ausführbar ist. Als Beispiel bauen wir nun einen Check, der den Status eines MySQL Servers überprüft.

Hier eigentlich Plugin, welches ich mysql nenne.
Inhalt:

#!/bin/sh
if type mysql > /dev/null
then
  echo "<<<mysql_status>>>";
  mysql --password='PASSWORT' -e "show status;" -s
fi

Das ist schon alles:

<<<mysql>>> leitet nun die Sektion ein und direkt darauf folgt der mysql Befehl. Ich übergebe ihm das root Passwort (es kann natürlich auch ein Extrauser ohne Passwort angelegt werden). Der Passwort Problematik und deren Lösung beschreibe ich noch in einem eigenen Artikel. Mit dem IF wird schlicht nur gepüft, ob der MySQL befehlt verfügbar ist. Wenn nicht, bleibt die Ausgabe leer.

Jetzt nicht vergessen mit chmod +x mysql datei ausführbar zu machen.

Ein check_mk -d vom Nagios Server aus, solltet nun schon die neue Sektionen mit der Ausgabe des MySQL Statusbefehls enthalten.

Wie ich nun das Gegenstück zum Plugin auf dem Monitor Server entwickle
folgt in Teil 2.

2 thoughts on “Check Plugin Entwicklung für check_mk Teil 1

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.