]> arthur.barton.de Git - nagcollect.git/blobdiff - client/lib/tests/Disks.tst
Disks.tst: Only check read-write volumes
[nagcollect.git] / client / lib / tests / Disks.tst
index 65da26dbba92f1c2dc80f92d5d183e6e94bc29ee..c353a3bae2f28d7b52c2776caad6596021739668 100644 (file)
@@ -1,7 +1,7 @@
 # NagCollect -- Nagios Data Collector for Passive Checks
-# Copyright (c)2009 Alexander Barton, alex@barton.de
+# Copyright (c)2009-2011 Alexander Barton, alex@barton.de
 
-# Check free space on local filesystems
+# Check free space on local r/w filesystems
 
 SERVICE="DiskUsage_p"
 STATUS=4
@@ -14,30 +14,29 @@ TEMP="/tmp/$$.tmp"
 df -l -P -m | grep "^/" >"$TEMP"
 
 while read x; do
-       fs=`echo $x | cut -d' ' -f1`
-       blocks=`echo $x | cut -d' ' -f2`
-       used=`echo $x | cut -d' ' -f3`
+       #dev=`echo $x | cut -d' ' -f1`
+       #blocks=`echo $x | cut -d' ' -f2`
+       #used=`echo $x | cut -d' ' -f3`
        free=`echo $x | cut -d' ' -f4`
        capacity=`echo $x | cut -d' ' -f5 | sed 's/%//'`
+       declare -i capacity2=100-$capacity
        fs=`echo $x | cut -d' ' -f6`
+       [ -w "$fs" ] || continue
        [ -n "$TEXT" ] && TEXT="$TEXT "
-       TEXT="${TEXT}${fs} ${free} MB (${capacity}%);"
-       if [ "$capacity" -gt 95 ]; then
-               error=1
-       elif [ "$capacity" -gt 90 ]; then
-               warning=1
-       fi
+       TEXT="${TEXT}${fs} ${free} MB (${capacity2}%);"
+       [ "$free" -lt 2000 -a $capacity2 -lt 5 ] && error=1
+       [ "$free" -lt 5000 -a $capacity2 -lt 10 ] && warning=1
 done < "$TEMP"
 
 if [ -n "$error" ]; then
        STATUS=2
-       TEXT="Disk usage is CRITICAL: $TEXT"
+       TEXT="Disk usage is CRITICAL, free space: $TEXT"
 elif [ -n "$warning" ]; then
        STATUS=1
-       TEXT="Disk usage is WARNING: $TEXT"
+       TEXT="Disk usage is WARNING, free space: $TEXT"
 else
        STATUS=0
-       TEXT="Disk usage is OK: $TEXT"
+       TEXT="Disk usage is OK, free space: $TEXT"
 fi
 
 rm -f "$TEMP"