mirror of
https://github.com/munin-monitoring/contrib.git
synced 2018-11-08 00:59:34 +01:00
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?
This commit is contained in:
parent
e891287fd3
commit
3cd07ace54
60
plugins/nfs-freebsd/nfs_client_cache
Normal file
60
plugins/nfs-freebsd/nfs_client_cache
Normal file
@ -0,0 +1,60 @@
|
||||
#!/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
|
Loading…
Reference in New Issue
Block a user