Inhaltsverzeichnis

check_snmp_storage.pl

Link zum Download: http://www.manubulon.com/nagios/

Das Plugin verwendet SNMP (V1 und V3) um Festplatten, Arbeitsspeicher und Swap auszulesen. Die Informationen aus der hrStorage table werden zur Auswertung herangezogen. Auch mehrere zu überwachende Medien können angegeben werden, eine Summierung dieser ist ebenfalls möglich.

Warning- und Critical-Level-Checks können nach folgenden Kriterien angegeben werden:

Das Plugin musste bei mir noch abgeändert werden, damit auch die Performance Daten in die Datenbank geschrieben werden können. Per default wirft das Plugin zu viele Parameter als Performance Daten aus, in der normalen Datenbank gibt es zu wenige Spalten um diese eintragen zu können. Deshalb wurde das Perl-Skript etwas verändert… Zeile 382 und 383 sollten wir folgt aussehen:

        $perf_out .= "diskspace_used" . "=" . round($bu,0) . "MB;" . round($p_warn,0)
             . ";" . round($p_crit,0) . ";0;" . round($to,0);

Mögliche Fehler bei Perl

* embedded Perl

Sollte eine Fehlermeldung im Nagios selbst entstehen, wie z.B. „no output“, dann kann das am embedded Perl liegen (d.h., auf der Konsole funktioniert der manuelle Aufruf des Plugins, nur unter Nagios geht er nicht). Entweder man kompiliert NAGIOS neu und ohne das –enable-embedded-perl oder macht es wie folgt:

cd /usr/bin

ln –s perl local_script –> symbolischen Link für perl anlegen

–> dann die erste Zeile vom Perl Plugin, also check_snmp_storage.pl auf…

#!/usr/bin/local_script

–> ändern, so wird das Plugin mit dem externen Perl ausgeführt und nicht mit dem embedded von Nagios

* nicht gefundener Pfad

In dem Skript ist der Pfad zu den plugins in /usr/local/nagios/libexec hart einkodiert. Wenn sie dort aber nicht liegen, dann die Zeile

 ''use lib "/usr/local/nagios/libexec";''

entsprechend anpassen.

Einbindung des Plugins ins Nagios (Beispiel einer Windows-Abfrage)

Voraussetzung:

checkcommands.cfg

Erklärung:

define command {
      command_name     check_storage
      command_line     $USER1$/./check_snmp_storage.pl -H $HOSTADDRESS$ -C $ARG1$ -m $ARG2$ -w 90 -c 95 -f
      }

services.cfg

define service {
 host_name              xxxxxxxxxxxx
 service_description    disk c
 check_command          check_storage!public!C:
 use                    generic-service
 contact_groups         nagios-admin
 process_perf_data      1
 notification_options   w,u,c,r,f
 normal_check_interval  720

}

Ausgabe:

C:\ Label:BR2K70_C Serial Number c6f5f7c : 28 %used (4789MB/17352MB) (< 90) : OK

Linux

Hier kann bei -m der jeweilige Mountpoint unter Linux angegeben werden. (/root, /var …)

Exakte Hilfe gibt es hier:

./check_snmp_storage.pl --help

oder unter: http://www.manubulon.com/nagios/snmp_storage.html

Siehe dazu auch das Nagios-Wiki HowTo für Checkpoint Firewall Monitoring

gore-tex 07.10.2005 09:57