Nagios bietet die Möglichkeit in jeder Programmiersprache oder Scriptsprache, die auf dem Worker ausgeführt werden kann eigene Checks zu definieren. Dabei mmuss man lediglich bei der Ausgabe und dem Exit-Code auf bestimmte Dinge achten.
Die Ausgabe bei einem Check soll lediglich den Status und die Ausgabe wiedergeben. Dabei hat es sich als Standard herausgestellt folgendes Beizubehalten.
1STATUS - TEXT | PERF_DATEN
2LONG MESSAGE
3LONG MESSAGE
Stelle | Beschreibung |
---|---|
STATUS | Gibt einen Nagios kompatiblen Status an (OK,WARNING,CRITICAL,UNKNOWN) |
TEXT | Ist eine Ausgabe, die bei Thruk z.B. direkt auf der Übersicht erscheint |
PERF_DATEN | Sind die Performance Daten für einen Check wie z.B. CPU Auslastung oder Usercount (dabei sieht es vor, zuerst den Namen und dann folgende Werte mit einem Semikolon getrennt anzugeben. NAME=WARN;CRIT;MIN;MAX ) |
LONG MESSAGE | Gibt eine Lange Nachricht an. Bei Thruk ist das über ein Hover oder erst in den Details sichtbar. Hier ist html verfügbar |
Dabei muss nur der STATUS gesetzt werden bzw. der Text. Es ist nicht nötig eine LONG_MESSAGE oder PERF_DATEN zu setzen
Einige Beispiele wären damit z.B. folgende:
1OK - Es sind ausreichend Ressourcen verfügbar
2
3CRITICAL - Cluster DOWN | count=1;2;4;;
4
5UNKNOWN - Verbindung nicht möglich |
6Die Verbindung zu folgenden Servern im Cluster ist nicht möglich
7hostname1 = UNKNOWN
8hostname2 = UNKNOWN
9hostname3 = OK
Der Exit Code spiegelt ebenfalls den Nagios Status wieder und kann in jeder Sprache gesetzt werden.
Status | Wert | Beschreibung |
---|---|---|
OK | 0 | Der Check ist in Ordnung. |
WARNING | 1 | Der Check hat ein Warning. Man sollte wenn man Zeit hat sich das ganze mal anschauen |
CRITICAL | 2 | Es liegt ein kritischer Zustand vor! |
UNKNOWN | 3 | Der Check hat benötigte Angaben nicht oder kann sie nicht bekommen um ein genaueren Status zu geben |