mirror of
https://github.com/munin-monitoring/contrib.git
synced 2018-11-08 00:59:34 +01:00
3cd07ace54
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?
61 lines
1.3 KiB
Bash
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
|