#!/usr/local/bin/perl # Add this to snmpd.conf as below. # extend fbsdnfsserver /etc/snmp/fbsdnfsserver my $nfsstatOutput=`/usr/bin/nfsstat`; my @nfsstatOutputA=split( /\n/, $nfsstatOutput ); my $int=0; my ( $Getattr, $Setattr, $Lookup, $Readlink, $Read, $Write, $Create, $Remove, $Rename, $Link, $Symlink, $Mkdir, $Rmdir, $Readdir, $RdirPlus, $Access, $Mknod, $Fsstat, $Fsinfo, $PathConf, $Commit, $RetFailed, $Faults, $Inprog, $Idem, $Nonidem, $Misses, $WriteOps, $WriteRPC, $Opsaved ); while( defined( $nfsstatOutputA[$int] ) ){ $nfsstatOutputA[$int]=~s/^ +//; $nfsstatOutputA[$int]=~s/ +/ /g; if ( $int == 19 ){ ( $Getattr, $Setattr, $Lookup, $Readlink, $Read, $Write, $Create, $Remove, )=split( /\ /, $nfsstatOutputA[$int] ); } if ( $int == 21 ){ ( $Rename, $Link, $Symlink, $Mkdir, $Rmdir, $Readdir, $RdirPlus, $Access )=split( /\ /, $nfsstatOutputA[$int] ); } if ( $int == 23 ){ ( $Mknod, $Fsstat, $Fsinfo, $PathConf, $Commit )=split( /\ /, $nfsstatOutputA[$int] ); } if ( $int == 25 ){ ( $RetFailed )=split( /\ /, $nfsstatOutputA[$int] ); } if ( $int == 27 ){ ( $Faults )=split( /\ /, $nfsstatOutputA[$int] ); } if ( $int == 30 ){ ( $Inprog, $Idem, $Nonidem, $Misses )=split( /\ /, $nfsstatOutputA[$int] ); } if ( $int == 33 ){ ( $WriteOps, $WriteRPC, $Opsaved )=split( /\ /, $nfsstatOutputA[$int] ); } $int++; } print $Getattr."\n". $Setattr."\n". $Lookup."\n". $Readlink."\n". $Read."\n". $Write."\n". $Create."\n". $Remove."\n". $Rename."\n". $Link."\n". $Symlink."\n". $Mkdir."\n". $Rmdir."\n". $Readdir."\n". $RdirPlus."\n". $Access."\n". $Mknod."\n". $Fsstat."\n". $Fsinfo."\n". $PathConf."\n". $Commit."\n". $RetFailed."\n". $Faults."\n". $Inprog."\n". $Idem."\n". $Nonidem."\n". $Misses."\n". $WriteOps."\n". $WriteRPC."\n". $Opsaved."\n";