#!@@GOODSH@@ # -*- sh -*- : << =cut =head1 NAME nfsd4 - Plugin to graph NFSv4 server activity =head1 CONFIGURATION No configuration =head1 AUTHOR 2007/10/28 21:30:00 Christian Kujau =head1 LICENSE GPLv2 =head1 NOTES [...] based on the nfsd plugin by Alexandre Dupouy =head1 MAGIC MARKERS #%# family=auto #%# capabilities=autoconf =cut NFSD=/proc/net/rpc/nfsd proc="access close commit create delegpurge delegreturn getattr getfh link lock \ lockt locku lookup lookup_root nverify open openattr open_conf open_dgrd \ putfh putpubfh putrootfh read readdir readlink remove rename renew restorefh \ savefh secinfo setattr setcltid setcltidconf verify write rellockowner" if [ "$1" = "autoconf" ]; then if [ -f "$NFSD" ]; then if grep -q proc4ops "$NFSD"; then echo yes else echo "no (no proc4ops in $NFSD)" fi exit 0 else echo "no (no $NFSD)" exit 0 fi fi if [ ! -f "$NFSD" ] ; then echo graph_title no $NFSD exit 1 fi if [ "$1" = "config" ]; then echo 'graph_title NFSv4 Server' echo 'graph_args --base 1000 -l 0' # shellcheck disable=SC2016 echo 'graph_vlabel requests / ${graph_period}' echo 'graph_total total' echo 'graph_category NFS' for a in $proc ; do echo "$a.label $a" ; echo "$a.type DERIVE"; echo "$a.min 0"; done exit 0 fi i=6; for a in $proc; do echo -n "$a.value " grep proc4ops $NFSD \ | cut -f $i -d ' ' \ | awk '{print $1}' i=$((i + 1)) done