nfsstats.pl 0.1 review

Download
by rbytes.net on

nfsstats.pl is a Net-SNMP sub-agent that parses /proc/net/rpc/nfs and /proc/net/rpc/nfsd to obtain NFS statistics (just like nfsstat)

License: GPL (GNU General Public License)
File size: 5K
Developer: Craig Macdonald
0 stars award from rbytes.net

nfsstats.pl is a Net-SNMP sub-agent that parses /proc/net/rpc/nfs and /proc/net/rpc/nfsd to obtain NFS statistics (just like nfsstat), and reports these as SNMP values.

nfsstats.pl is useful for remotely monitoring NFS client or server usage via SNMP to utilities like MRTG, Cacti, or Ganglia.

Installation:
Installation instructsion are contained in the form of comments at the top of nfsstats.pl script. nfsstats.pl is only suitable for Linux. NFS version 3 statistics are made available.

Firstly, ensure you have a working Net-SNMP install. Secondly, ensure you have the Perl sub-components of Net-SNMP installed (in Fedora Core, do yum install net-snmp-perl). Thirdly, save nfsstats.pl to /var/net-snmp/. Add the following line to /etc/snmp/snmpd.conf: master agentx. Start nfsstats.pl in the way of your choice, logged to file of your choice (eg 2>/dev/null). Note that nfsstats.pl must be started as root.

If your snmpd is built with embedded Perl support (Fedora Core doesn't), then you can import the sub agent directly into the snmpd. See the script for more details.

Usage:

After you have successfully installed nfsstats.pl, you should be able to walk the provided OIDs: snmpwalk -v 2c -c public localhost 'enterprises.6789.6789' or snmpwalk -v 2c -c public localhost '.1.3.6.1.4.1.6789.6789'. As we have no MIB for nfsstats.pl yet, the numbers coming back wont make much sense. However, they should bear a striking resemblance to the output of /usr/sbin/nfsstat!

The list below is all the 114 statistics that nfsstats.pl can provide for SNMP values. The ones you should monitor (eg using MRTG) are entirely up to you.

enterprises.6789.6789.0.0.1 -> client.rpc.count.calls
enterprises.6789.6789.0.0.2 -> client.rpc.count.retrans
enterprises.6789.6789.0.0.3 -> client.rpc.count.authrefrsh
enterprises.6789.6789.0.3.0.0 -> client3.count.null
enterprises.6789.6789.0.3.0.1 -> client3.percent.null
enterprises.6789.6789.0.3.1.0 -> client3.count.getattr
enterprises.6789.6789.0.3.1.1 -> client3.percent.getattr
enterprises.6789.6789.0.3.2.0 -> client3.count.setattr
enterprises.6789.6789.0.3.2.1 -> client3.percent.setattr
enterprises.6789.6789.0.3.3.0 -> client3.count.lookup
enterprises.6789.6789.0.3.3.1 -> client3.percent.lookup
enterprises.6789.6789.0.3.4.0 -> client3.count.access
enterprises.6789.6789.0.3.4.1 -> client3.percent.access
enterprises.6789.6789.0.3.5.0 -> client3.count.readlink
enterprises.6789.6789.0.3.5.1 -> client3.percent.readlink
enterprises.6789.6789.0.3.6.0 -> client3.count.read
enterprises.6789.6789.0.3.6.1 -> client3.percent.read
enterprises.6789.6789.0.3.7.0 -> client3.count.write
enterprises.6789.6789.0.3.7.1 -> client3.percent.write
enterprises.6789.6789.0.3.8.0 -> client3.count.create
enterprises.6789.6789.0.3.8.1 -> client3.percent.create
enterprises.6789.6789.0.3.9.0 -> client3.count.mkdir
enterprises.6789.6789.0.3.9.1 -> client3.percent.mkdir
enterprises.6789.6789.0.3.10.0 -> client3.count.symlink
enterprises.6789.6789.0.3.10.1 -> client3.percent.symlink
enterprises.6789.6789.0.3.11.0 -> client3.count.mknod
enterprises.6789.6789.0.3.11.1 -> client3.percent.mknod
enterprises.6789.6789.0.3.12.0 -> client3.count.remove
enterprises.6789.6789.0.3.12.1 -> client3.percent.remove
enterprises.6789.6789.0.3.13.0 -> client3.count.rmdir
enterprises.6789.6789.0.3.13.1 -> client3.percent.rmdir
enterprises.6789.6789.0.3.14.0 -> client3.percent.rename
enterprises.6789.6789.0.3.15.0 -> client3.count.link
enterprises.6789.6789.0.3.15.1 -> client3.percent.link
enterprises.6789.6789.0.3.16.0 -> client3.count.readdir
enterprises.6789.6789.0.3.16.1 -> client3.percent.readdir
enterprises.6789.6789.0.3.17.0 -> client3.count.readdirplus
enterprises.6789.6789.0.3.17.1 -> client3.percent.readdirplus
enterprises.6789.6789.0.3.18.0 -> client3.count.fsstat
enterprises.6789.6789.0.3.18.1 -> client3.percent.fsstat
enterprises.6789.6789.0.3.19.0 -> client3.count.fsinfo
enterprises.6789.6789.0.3.19.1 -> client3.percent.fsinfo
enterprises.6789.6789.0.3.20.0 -> client3.count.pathconf
enterprises.6789.6789.0.3.20.1 -> client3.percent.pathconf
enterprises.6789.6789.0.3.21.0 -> client3.count.commit
enterprises.6789.6789.0.3.21.1 -> client3.percent.commit
enterprises.6789.6789.0.3.22.0 -> client3.count.total
enterprises.6789.6789.0.3.22.1 -> client3.percent.total
enterprises.6789.6789.1.0.0 -> server.rpc.count.calls
enterprises.6789.6789.1.0.1 -> server.rpc.count.retrans
enterprises.6789.6789.1.0.2 -> server.rpc.count.badcalls
enterprises.6789.6789.1.0.3 -> server.rpc.count.badauth
enterprises.6789.6789.1.0.4 -> server.rpc.count.badclnt
enterprises.6789.6789.1.0.5 -> server.rpc.count.xdrcall
enterprises.6789.6789.1.3.0.0 -> server3.count.null
enterprises.6789.6789.1.3.0.1 -> server3.percent.null
enterprises.6789.6789.1.3.1.0 -> server3.count.getattr
enterprises.6789.6789.1.3.1.1 -> server3.percent.getattr
enterprises.6789.6789.1.3.2.0 -> server3.count.setattr
enterprises.6789.6789.1.3.2.1 -> server3.percent.setattr
enterprises.6789.6789.1.3.3.0 -> server3.count.lookup
enterprises.6789.6789.1.3.3.1 -> server3.percent.lookup
enterprises.6789.6789.1.3.4.0 -> server3.count.access
enterprises.6789.6789.1.3.4.1 -> server3.percent.access
enterprises.6789.6789.1.3.5.0 -> server3.count.readlink
enterprises.6789.6789.1.3.5.1 -> server3.percent.readlink
enterprises.6789.6789.1.3.6.0 -> server3.count.read
enterprises.6789.6789.1.3.6.1 -> server3.percent.read
enterprises.6789.6789.1.3.7.0 -> server3.count.write
enterprises.6789.6789.1.3.7.1 -> server3.percent.write
enterprises.6789.6789.1.3.8.0 -> server3.count.create
enterprises.6789.6789.1.3.8.1 -> server3.percent.create
enterprises.6789.6789.1.3.9.0 -> server3.count.mkdir
enterprises.6789.6789.1.3.9.1 -> server3.percent.mkdir
enterprises.6789.6789.1.3.10.0 -> server3.count.symlink
enterprises.6789.6789.1.3.10.1 -> server3.percent.symlink
enterprises.6789.6789.1.3.11.0 -> server3.count.mknod
enterprises.6789.6789.1.3.11.1 -> server3.percent.mknod
enterprises.6789.6789.1.3.12.0 -> server3.count.remove
enterprises.6789.6789.1.3.12.1 -> server3.percent.remove
enterprises.6789.6789.1.3.13.0 -> server3.count.rmdir
enterprises.6789.6789.1.3.13.1 -> server3.percent.rmdir
enterprises.6789.6789.1.3.14.0 -> server3.count.rename
enterprises.6789.6789.1.3.14.1 -> server3.percent.rename
enterprises.6789.6789.1.3.15.0 -> server3.count.link
enterprises.6789.6789.1.3.15.1 -> server3.percent.link
enterprises.6789.6789.1.3.16.0 -> server3.count.readdir
enterprises.6789.6789.1.3.16.1 -> server3.percent.readdir
enterprises.6789.6789.1.3.17.0 -> server3.count.readdirplus
enterprises.6789.6789.1.3.17.1 -> server3.percent.readdirplus
enterprises.6789.6789.1.3.18.0 -> server3.count.fsstat
enterprises.6789.6789.1.3.18.1 -> server3.percent.fsstat
enterprises.6789.6789.1.3.19.0 -> server3.count.fsinfo
enterprises.6789.6789.1.3.19.1 -> server3.percent.fsinfo
enterprises.6789.6789.1.3.20.0 -> server3.count.pathconf
enterprises.6789.6789.1.3.20.1 -> server3.percent.pathconf
enterprises.6789.6789.1.3.21.0 -> server3.count.commit
enterprises.6789.6789.1.3.21.1 -> server3.percent.commit
enterprises.6789.6789.1.3.22.0 -> server3.count.total
enterprises.6789.6789.1.3.22.1 -> server3.percent.total
enterprises.6789.6789.1.6.0 -> server.replycache.count.hits
enterprises.6789.6789.1.6.1 -> server.replycache.count.misses
enterprises.6789.6789.1.6.2 -> server.replycache.count.nocache
enterprises.6789.6789.1.7.0 -> server.fhcache.count.lookups
enterprises.6789.6789.1.7.1 -> server.fhcache.count.anon
enterprises.6789.6789.1.7.2 -> server.fhcache.count.nocache_dir
enterprises.6789.6789.1.7.3 -> server.fhcache.count.nocache_nondir
enterprises.6789.6789.1.7.4 -> server.fhcache.count.stale
enterprises.6789.6789.1.8.0 -> server.threads.count
enterprises.6789.6789.1.8.1 -> server.threads.fullcount
enterprises.6789.6789.1.50 -> server.net.count.packets
enterprises.6789.6789.1.51 -> server.net.count.udp
enterprises.6789.6789.1.52 -> server.net.count.tcp
enterprises.6789.6789.1.53 -> server.net.count.tcpconn

Requirements:
Net-SNMP
Perl

nfsstats.pl 0.1 search tags