Das Plugin check_multi plugin ist ein Allrounder unter den Nagios bzw. Icinga plugins. Es gibt einem die Möglichkeit mehrere checks zu kombinieren und logisch UND/ODER verknüpfen.
Praktisch sieht das so aus: Man hat eine config Datei pro check_multi Instanz. In dieser wird festgelegt welche Aufgaben check_multi abarbeiten soll und wie er die Ergebnisse zu behandeln hat. Dadurch verringern sich auch die Aufgaben, um die sich Icinga selber kümmern muss. Icinga ruft lediglich check_multi auf, welches dann beliebig viele subchecks aufruft.
Download und Installation
Die Installation ohne fertige Pakete (rpm oder debs) muss unter Icinga etwas angepasst werden, da die default Werte nur für Nagios passen.
Als erstes ist die aktuelle Version herunterzuladen und zu entpacken.
1 2 3 | # wget http://my-plugin.de/check_multi/check_multi-0.20.current.tgz # tar xvzf check_multi-0.20.current.tgz |
Wechseln sie in das entpackte Verzeichnis, führen sie das configure script aus und compilieren sie den Quellcode.
4 5 6 7 8 9 10 | # cd check_multi-0.20 # ./configure --prefix=/usr/local/icinga/ --with-nagios-name=icinga --with-nagios-user=icinga --with-nagios-group=icinga # make all # make install |
Konfiguration
Das plugin sollte jetzt unter /usr/local/icinga/libexec installiert sein. ein paar Beispielkonfigurationsdateien befinden sich im Ordner sample-config. Da die Möglichkeiten der Konfiguration sehr weitreichend sind gehe ich hier nur auf einige Grundkonzepte ein. Weitere Infos findet man im Wiki der Entwicklerseite.
1 2 3 4 5 6 7 | command[ dummy-1 ] = check_dummy 0 //gibt "OK" zurück command[ dummy-2 ] = check_dummy 2 //gibt "critical" zurück state[ critical ] = count (critical) > 2 state[ warning ] = dummy-2 == CRITICAL |
Im oberen Bereich der Datei wird festgelegt welche checks ausgeführt werden. Im unteren Bereich wird die Logik definiert. Dieses Beispiel gibt “critical” aus, wenn beide checks “critical” melden. Es gibt “warning” zurück wenn dummy-2 “critical” meldet. Man kann auch logisch verknüpfen, externe scripte aufrufen und vieles mehr. Ein weiteres Beispiel ist eine WAN Verbindung mit ISDN Backup. Im Normalzustand meldet die WAN-Verbindung “OK” und die ISDN-Verbindung “Critical” (die geht ja schließlich erst im Backup-Fall Online). Mit check_multi lässt sich diese logik perfekt abbilden und hilft so Fehlalarme zu reduzieren.
weitere Informationen: