#!@@GOODSH@@ # # Plugin to monitor inode-usage. # # Parameters understood: # # config (required) # autoconf (optional - used by munin-config) # # Magic markers (optional - used by munin-config and installation # scripts): # #%# family=auto #%# capabilities=autoconf EXCLUDEDFS="-t noprocfs,devfs,fdescfs,linprocfs,linsysfs,sysfs,nfs,nullfs,cd9660,msdosfs" if [ $(uname -s) = "GNU/kFreeBSD" ]; then # Debian ships df from GNU coreutils # use "-x" instead of "-t", split comma-separated list into single arguments EXCLUDEDFS=$(echo $EXCLUDEDFS | sed 's/^-t /-x /; s/,/ -x /g') fi print_values() { mfs=0 /bin/df -P -i $EXCLUDEDFS | tail -n +2 | sort | grep -v "//" | while read i; do case $i in mfs:*) name=mfs$mfs; mfs=`expr $mfs + 1`;; *) name=`echo $i | awk '{ gsub("[^a-zA-Z0-9_]", "_", $1); print $1 }'` ;; esac printf "$name.value " echo $i | awk '{ total = $6 + $7; if (total == 0) print 0; else printf("%.2f\n", 100.0 * $6 / total); }' done } if [ "$1" = "autoconf" ]; then if [ "`print_values`" = "" ] ; then echo no else echo yes fi exit 0 fi if [ "$1" = "config" ]; then echo 'graph_title Inode usage in percent' echo 'graph_args --upper-limit 100 -l 0' echo 'graph_vlabel %' echo 'graph_category disk' echo 'graph_scale no' echo 'graph_info This graph shows the inode usage for the partitions of types that use inodes.' /bin/df -P -i $EXCLUDEDFS | tail -n +2 | sort | grep -v "//" | awk " BEGIN { mfs = 0 } { name = \$1 dir = \$9 if (\$1 ~ /^mfs:/) { name = \"mfs\" mfs mfs = mfs + 1 } else { gsub(/[^a-zA-Z0-9_]/, \"_\", name) } print name \".label \" dir print name \".info \" dir \" -> \" \$1 print name \".warning 92\" print name \".critical 98\" }" exit 0 fi print_values