#!/bin/sh : << =cut =head1 NAME nfsd - Plugin to monitor NFS server activity =head1 CONFIGURATION No configuration =head1 AUTHORS Plugin created by Alexandre Dupouy, with the assistance of Mike Fedyk =head1 LICENSE GPLv2 =head1 MAGIC MARKERS #%# family=auto #%# capabilities=autoconf =cut NFSD=/proc/net/rpc/nfsd proc="getattr setattr lookup access readlink read write create mkdir symlink mknod remove rmdir rename link readdir readdirplus fsstat fsinfo pathconf commit" if [ "$1" = "autoconf" ]; then if [ -f "$NFSD" ]; then grep -q proc3 "$NFSD" if grep -q proc3 "$NFSD"; then echo yes else echo "no (no proc3 in $NFSD)" fi exit 0 else echo "no (no $NFSD)" exit 0 fi fi if [ "$1" = "config" ]; then echo 'graph_title NFS Server' echo 'graph_args --base 1000 -l 0' # shellcheck disable=SC2016 echo 'graph_vlabel requests / ${graph_period}' echo 'graph_total total' echo 'graph_category fs' for a in $proc ; do echo "$a.label $a" ; echo "$a.type DERIVE"; echo "$a.min 0"; done exit 0 fi awk '/proc3/ { split("'"$proc"'", names) split($0,values) for (e in names) printf("%s.value %d\n", names[++i], values[i+3]); }' $NFSD