Wir setzen zur Überwachung unseres Netzwerkes schon einige Jahre Nagios ein. Gestern stand nach langer Zeit die Migration des Monitoring-Werkzeuges auf einen neuen Server an.
Auf diesem Server (Debian Etch) sollten die Binaries aus den offiziellen Paketen (Nagios2 - Version 2.6.2, Nagios-Plugins - Version 1.4.5-1) zeigen, dass sie unser Netzwerk im Griff haben.
Aber am Plugin check_disk_smb hätten wir uns beinahe die Zähne ausgebissen.
Kurz: das Plugin aus diesem Paket ist fehlerhaft, es führte, je nach Aufbau des zugehörigen Kommandos in der commands.cfg entweder zum Fehler:
;Invalid warning threshold: -H
oder Nagios beschwerte sich über einen falschen Rückgabewert des Plugins.
Das Komische an der Sache: ein manueller Test von check_disk_smb lieferte korrekt Ergebnisse.
Hier die ebenso kurze Lösung:
Nach dem Download der z.Zt. aktuellen Nagios-Plugins in der Version 1.4.8 von SourceForge.net und dem Entpacken des Archivs, können die Plugins auf gewohntem Wege übersetzt werden:
$ cd nagios-plugins-1.4.8
$ ./configure - -libexecdir=/usr/lib/nagios/plugins
$ make
Nach Abschluss der erfolgreichen Erstellung der ausführbaren Dateien liegt “check_disk_smb” fertig übersetzt im Unterverzeichnis “plugins-scripts” und muss nur noch nach /usr/lib/nagios/plugins kopiert werden.
Der nächste Test, der mit diesem Steckrein durchgeführt wird, sollte vom Überwachungsprogramm erfolgreich ausgewertet werden können.
Jetzt noch ein kleiner Ausflug:
Wer bei seiner Debian-Installation die External Commands (diese werden z.B. für die manuelle Anforderung von Service-Checks benötigt) einsetzen möchte: diese sind aus Sicherheitsgründen deaktiviert.
Die Aktivierung ist einfach, einfach die in
/usr/share/doc/nagios2/README.Debian angegebenen Schritte abarbeiten:
- activate external command checks in the nagios configuration. this
can be done by setting check_external_commands=1 in the file
/etc/nagios2/conf.d/extcommands_nagios2.cfg.
- perform the following commands to change directory permissions and
to make the changes permanent:/etc/init.d/nagios2 stop
dpkg-statoverride - -update - -add nagios www-data 2710 /var/lib/nagios2/rw
dpkg-statoverride - -update - -add nagios nagios 751 /var/lib/nagios2
/etc/init.d/nagios2 start
22. Januar 2008 um 16:43
Danke für den Hinweis….
Dasselbe gilt für Ubuntu 7.10 (Gutsy) - und ich bin also nicht die Einzige 
22. Januar 2008 um 16:58
Noch ein Hinweis: Wenn man den o.a. Code zum Konfigurieren/Bauen der Plugins aus der Seite kopiert dann funktioniert’s nicht (scheint irgendein falsches Zeichen zu sein) - hier nochmal die Konfigurationszeile:
./configure - -libexecdir=/usr/lib/nagios/plugins
Ist übrigens für Ubuntu Gutsy so auch richtig.
22. Januar 2008 um 17:00
Und noch einer…. die Zeile wird jedesmal verbockt, wenn man sie hier rauskopiert :-p - es müssen zwei Bindestriche sein vor “libexecdir”, und funktioniert hat’s erst, nachdem ich “libexecdir” einmal komplett eingetippt habe.
22. Januar 2008 um 17:41
Okay…. noch ein Update meiner vorigen Kommentare: Selbst mit dem selber kompilierten check_disk_smb klappt’s bei mir auf Gutsy noch nicht. Aus einem französischen Forum habe ich allerdings folgenden Tipp:
* In der resources.cfg folgendes Makro definieren:
$USER2$=PERL5LIB=$PERL5LIB:/usr/lib/nagios/plugins /usr/lib/nagios/plugins
* Im Plugins-Verzeichnis, in disk-smb.cfg einen Command folgendermaßen definieren:
…
command_line $USER2$/check_disk_smb - -hostname=$HOSTADDRESS$ - -share=$ARG1$
…
Es wird also zuvor als Umgebungsvariable PERL5LIB um das Plugins-Verzeichnis erweitert, und dann läuft das Plugin. Letztlich kommt es wohl darauf an, dass die Datei “utils.pm” (im Plugins-Verzeichnis) vom jeweiligen Skript gefunden wird.
22. Januar 2008 um 19:08
Danke für die Tipps.
Das mit den zwei Bindestrichen liegt am Stylesheet dieser Seite. Ich vergesse immer wieder, dass ich das noch anpassen muss.
Werde mich jetzt aber schnellstmöglich dransetzen. Versprochen
Gruß
Stefan