check_nt!USEDDISKSPACE gibt bei der Ausführung sowohl die Restmenge an Plattenplatz in Prozent und in MB zurück. Das Plugin selber arbeitet aber für die Schwellwerte nur mit den Prozentwerten, was bei grossen Festplattenpartitionen ungünstig sein kann.
Auf serverfault.com ist unter http://serverfault.com/questions/309913/how-i-can-check-for-exact-amount-of-space-mb-or-gb-in-nagios-using-check-nt-co ein Wrapper-Script aufgeführt, dass es erlaubt die Festplattenabfragen in MB in Nagios einzubinden.
Wrapper-Script
#!/bin/bash FREESPACE=`/usr/local/nagios/libexec/check_nt -H $2 -p 12489 -s pa$word \ -v USEDDISKSPACE -l $4 | awk -F"- " '{ print $4 }' | awk -F "|" '{ print $1 }'` SIZE=`echo $FREESPACE | awk '{ print $2 }'` UNIT=`echo $FREESPACE | awk '{ print $3 }'` if [ $UNIT == "Gb" ]; then SIZE=`echo $SIZE \* 1024 | bc` fi if [ `echo "$SIZE >= $6" | bc` -eq 1 ]; then echo "$4:\_Drive_Space OK - $FREESPACE" exit 0 elif [ `echo "$SIZE < $6" | bc` -eq 1 -a `echo "$SIZE > $8" | bc` -eq 1 ]; then echo "$4:\_Drive_Space WARNING - $FREESPACE" exit 1 elif [ `echo "$SIZE <= $8" | bc` -eq 1 ]; then echo "$4:\_Drive_Space CRITICAL - $FREESPACE" exit 2 fi
Testing
$ check_disk_by_size.sh -H 192.168.6.31 -l c -w 10240 -c 5120 c:\_Drive_Space OK - free 13.01 Gb (36%) $ check_disk_by_size.sh -H 192.168.6.31 -l c -w 14240 -c 5120 c:\_Drive_Space WARNING - free 13.01 Gb (36%) $ check_disk_by_size.sh -H 192.168.6.31 -l c -w 16240 -c 15120 c:\_Drive_Space CRITICAL - free 13.01 Gb (36%)
commands.cfg anpassen
# check_disk_by_size.sh define command { command_name check_disk_by_size command_line $USER1$/check_disk_by_size.sh -H $HOSTADDRESS$ $ARG1$ $ARG2$ $ARG3$ }
cfg-Datei des Hosts anpassen
define service { use generic-service host_name server1 service_description Laufwerk c:\ check_command check_disk_by_size!-l c -w 4096 -c 2048 }
Überpüfen der Konfigurationsdateien
su - nagios -c '/usr/sbin/nagios -v /etc/nagios/nagios.cfg' Reading configuration data... Read main config file okay... ... Total Warnings: 0 Total Errors: 0 Things look okay - No serious problems were detected during the pre-flight check
Nagios neu starten
service nagios restart