negate oder: aus Schlecht mach Gut

Vielfach ist es bei der Systemüberwachung notwendig die Zustände von Checkplugins zu drehen, d.h. aus einem CRITICAL muss im “Normalzustand” ein OK werden. Ein Beispiel hierfür die z.B. die Überwachung von Aktiv-Passiv Clustern bei der nur einer der Knoten einen Service zur Verfügung stellen soll. Hier ist es mittels “negate” einem in den NagiosPlugins enthaltenem Wrapper für Check Plugins möglich den Status auf dem aktiven Clusterknoten zu prüfen, zusätzlich kann auf dem passiven Knoten geprüft werden ob der Service auch wirklich nicht zur Verfügung steht um Split-Brain Szenarien zu vermeiden.
Ein weiterer Anwendungsfall ist die Überprüfung der Internetverbindung auf einem Host, soll z.B. aus Sicherheitsgründen keine Internetverbindung möglich sein kann mittels negate der CRITICAL Status den check_ping oder check_icmp zurückliefern würde in eine grüne Lampe, also OK, gedreht werden.
Wichtig hierbei ist das die Plugin Ausgabe nicht verändert wird, nur der Returncode des Plugins wird entsprechend geändert.
Hier ein Kommandozeilenaufruf für check_icmp mit negate:
# /usr/local/nagios/libexec/negate –ok=CRITICAL ‘/usr/local/nagios/libexec/check_ping -H 127.0.0.2 -w 10,30% -c 20,50%’
liefert die Ausgabe:
PING OK – Packet loss = 0%, RTA = 0.04 ms
# echo $?
2

Der OK (0) Returncode wurde also in CRITICAL (2) verändert, negate hat funktioniert.