2
0
mirror of https://github.com/munin-monitoring/contrib.git synced 2018-11-08 00:59:34 +01:00
contrib-munin/plugins/nfs-freebsd/nfs_client_cache
Adam Michel 3cd07ace54 Added nfs_client_cache plugin
This adds a plugin for tracking NFS client caching statistics. Because
the output for this segment of nfsstat was slightly different, the
parsing required some awk dancing to programatically make coherent
labels. It's basically a separate function anyway. Right?
2013-07-01 16:50:14 -07:00

61 lines
1.3 KiB
Bash

#!/bin/bash
# -*- sh -*-
: << =cut
=head1 NAME
nfsd - Plugin to monitor NFSv3 client cache activity on FreeBSD
=head1 CONFIGURATION
No configuration
=head1 AUTHORS
Plugin created by Adam Michel, based on work by Alexandre Dupouy, with the assistance of Mike Fedyk
=head1 LICENSE
GPLv2
=head1 MAGIC MARKERS
#%# family=auto
#%# capabilities=autoconf
=cut
NFSSTAT=/usr/bin/nfsstat
if [ "$1" = "autoconf" ]; then
if [ -x "$NFSSTAT" ]; then
echo yes
exit 0
else
echo "no (no $NFSSTAT)"
exit 0
fi
fi
labels=`$NFSSTAT -c | grep -iv "[0-9]" | tail -n 2 | sed 's/BioRLHits/BioRL\ Hits/g' | awk '{print $1"_"$2,$1"_"$3,$4"_"$5,$4"_"$6,$7"_"$8,$7"_"$9,$10"_"$11,$10"_"$12}' | tr '\n' ' ' | tr '[A-Z]' '[a-z]'`
values=`$NFSSTAT -c | grep -i "[0-9]" | tail -n 2 | tr '\n' ' '`
larray=( $labels )
varray=( $values )
if [ "$1" = "config" ]; then
echo 'graph_title NFSv3 Client Cache'
echo 'graph_args --base 1000 -l 0'
echo 'graph_vlabel requests / ${graph_period}'
echo 'graph_total total'
echo 'graph_category NFS'
for a in $labels; do echo "$a.label $a" ; echo "$a.type DERIVE"; echo "$a.min 0"; done
exit 0
fi
for i in {0..15}; do
label=${larray[$i]}
value=${varray[$i]}
echo "$label.value $value"
done