parent
87bdb9c71f
commit
6f7b7d6779
4 changed files with 273 additions and 0 deletions
65
extern/nfs4_client
vendored
Normal file
65
extern/nfs4_client
vendored
Normal file
|
@ -0,0 +1,65 @@
|
|||
#!@@GOODSH@@
|
||||
# -*- sh -*-
|
||||
|
||||
: << =cut
|
||||
|
||||
=head1 NAME
|
||||
|
||||
nfs4_client - Plugin to monitor NFSv4 client traffic
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
No configuration
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Unknown author
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
GPLv2
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=auto
|
||||
#%# capabilities=autoconf
|
||||
|
||||
=cut
|
||||
|
||||
NFS=/proc/net/rpc/nfs
|
||||
|
||||
proc="read write commit open open_confirm open_noattr open_downgrade close setattr fsinfo renew setclientid setclientid_confirm lock lockt locku access getattr lookup lookup_root remove rename link symlink create pathconf statfs readlink readdir server_caps delegreturn getacl setacl"
|
||||
|
||||
if [ "$1" = "autoconf" ]; then
|
||||
if [ -f "$NFS" ]; then
|
||||
if grep -q proc4 "$NFS"; then
|
||||
echo yes
|
||||
else
|
||||
echo "no (no proc4 in $NFS)"
|
||||
fi
|
||||
exit 0
|
||||
else
|
||||
echo "no (no $NFS)"
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$1" = "config" ]; then
|
||||
|
||||
echo 'graph_title NFSv4 Client'
|
||||
echo 'graph_args --base 1000 -l 0'
|
||||
# shellcheck disable=SC2016
|
||||
echo 'graph_vlabel requests / ${graph_period}'
|
||||
echo 'graph_total total'
|
||||
echo 'graph_category NFS'
|
||||
for a in $proc ; do echo "$a.label $a" ; echo "$a.type DERIVE"; echo "$a.min 0"; done
|
||||
exit 0
|
||||
fi
|
||||
|
||||
awk '/proc4/ {
|
||||
split("'"$proc"'", names)
|
||||
split($0,values)
|
||||
for (e in names) {
|
||||
printf("%s.value %d\n", names[++i], values[i+3]);
|
||||
}
|
||||
}' $NFS
|
65
extern/nfs_client
vendored
Normal file
65
extern/nfs_client
vendored
Normal file
|
@ -0,0 +1,65 @@
|
|||
#!@@GOODSH@@
|
||||
# -*- sh -*-
|
||||
|
||||
: << =cut
|
||||
|
||||
=head1 NAME
|
||||
|
||||
nfs_client - Plugin to monitor NFS client traffic
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
No configuration
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
Unknown author
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
GPLv2
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=auto
|
||||
#%# capabilities=autoconf
|
||||
|
||||
=cut
|
||||
|
||||
NFS=/proc/net/rpc/nfs
|
||||
|
||||
proc="getattr setattr lookup access readlink read write create mkdir symlink mknod remove rmdir rename link readdir readdirplus fsstat fsinfo pathconf commit"
|
||||
|
||||
if [ "$1" = "autoconf" ]; then
|
||||
if [ -f "$NFS" ]; then
|
||||
if grep -q proc3 "$NFS"; then
|
||||
echo yes
|
||||
else
|
||||
echo "no (no proc3 in $NFS)"
|
||||
fi
|
||||
exit 0
|
||||
else
|
||||
echo no
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$1" = "config" ]; then
|
||||
|
||||
echo 'graph_title NFS Client'
|
||||
echo 'graph_args --base 1000 -l 0'
|
||||
# shellcheck disable=SC2016
|
||||
echo 'graph_vlabel requests / ${graph_period}'
|
||||
echo 'graph_total total'
|
||||
echo 'graph_category NFS'
|
||||
for a in $proc ; do echo "$a.label $a" ; echo "$a.type DERIVE"; echo "$a.min 0"; done
|
||||
exit 0
|
||||
fi
|
||||
|
||||
awk '/proc3/ {
|
||||
split("'"$proc"'", names)
|
||||
split($0,values)
|
||||
for (e in names) {
|
||||
printf("%s.value %d\n", names[++i], values[i+3]);
|
||||
}
|
||||
}' $NFS
|
65
extern/nfsd
vendored
Normal file
65
extern/nfsd
vendored
Normal file
|
@ -0,0 +1,65 @@
|
|||
#!@@GOODSH@@
|
||||
# -*- sh -*-
|
||||
|
||||
: << =cut
|
||||
|
||||
=head1 NAME
|
||||
|
||||
nfsd - Plugin to monitor NFS server activity
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
No configuration
|
||||
|
||||
=head1 AUTHORS
|
||||
|
||||
Plugin created by Alexandre Dupouy, with the assistance of Mike Fedyk
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
GPLv2
|
||||
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=auto
|
||||
#%# capabilities=autoconf
|
||||
|
||||
=cut
|
||||
|
||||
NFSD=/proc/net/rpc/nfsd
|
||||
|
||||
proc="getattr setattr lookup access readlink read write create mkdir symlink mknod remove rmdir rename link readdir readdirplus fsstat fsinfo pathconf commit"
|
||||
|
||||
if [ "$1" = "autoconf" ]; then
|
||||
if [ -f "$NFSD" ]; then
|
||||
grep -q proc3 "$NFSD"
|
||||
if grep -q proc3 "$NFSD"; then
|
||||
echo yes
|
||||
else
|
||||
echo "no (no proc3 in $NFSD)"
|
||||
fi
|
||||
exit 0
|
||||
else
|
||||
echo "no (no $NFSD)"
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$1" = "config" ]; then
|
||||
|
||||
echo 'graph_title NFS Server'
|
||||
echo 'graph_args --base 1000 -l 0'
|
||||
# shellcheck disable=SC2016
|
||||
echo 'graph_vlabel requests / ${graph_period}'
|
||||
echo 'graph_total total'
|
||||
echo 'graph_category NFS'
|
||||
for a in $proc ; do echo "$a.label $a" ; echo "$a.type DERIVE"; echo "$a.min 0"; done
|
||||
exit 0
|
||||
fi
|
||||
|
||||
awk '/proc3/ {
|
||||
split("'"$proc"'", names)
|
||||
split($0,values)
|
||||
for (e in names)
|
||||
printf("%s.value %d\n", names[++i], values[i+3]);
|
||||
}' $NFSD
|
78
extern/nsfd4
vendored
Normal file
78
extern/nsfd4
vendored
Normal file
|
@ -0,0 +1,78 @@
|
|||
#!@@GOODSH@@
|
||||
# -*- sh -*-
|
||||
|
||||
: << =cut
|
||||
|
||||
=head1 NAME
|
||||
|
||||
nfsd4 - Plugin to graph NFSv4 server activity
|
||||
|
||||
=head1 CONFIGURATION
|
||||
|
||||
No configuration
|
||||
|
||||
=head1 AUTHOR
|
||||
|
||||
2007/10/28 21:30:00 Christian Kujau <lists@nerdbynature.de>
|
||||
|
||||
=head1 LICENSE
|
||||
|
||||
GPLv2
|
||||
|
||||
=head1 NOTES
|
||||
|
||||
[...] based on the nfsd plugin by Alexandre Dupouy
|
||||
=head1 MAGIC MARKERS
|
||||
|
||||
#%# family=auto
|
||||
#%# capabilities=autoconf
|
||||
|
||||
=cut
|
||||
|
||||
NFSD=/proc/net/rpc/nfsd
|
||||
|
||||
proc="access close commit create delegpurge delegreturn getattr getfh link lock \
|
||||
lockt locku lookup lookup_root nverify open openattr open_conf open_dgrd \
|
||||
putfh putpubfh putrootfh read readdir readlink remove rename renew restorefh \
|
||||
savefh secinfo setattr setcltid setcltidconf verify write rellockowner"
|
||||
|
||||
if [ "$1" = "autoconf" ]; then
|
||||
if [ -f "$NFSD" ]; then
|
||||
if grep -q proc4ops "$NFSD"; then
|
||||
echo yes
|
||||
else
|
||||
echo "no (no proc4ops in $NFSD)"
|
||||
fi
|
||||
exit 0
|
||||
else
|
||||
echo "no (no $NFSD)"
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -f "$NFSD" ] ; then
|
||||
echo graph_title no $NFSD
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$1" = "config" ]; then
|
||||
|
||||
echo 'graph_title NFSv4 Server'
|
||||
echo 'graph_args --base 1000 -l 0'
|
||||
# shellcheck disable=SC2016
|
||||
echo 'graph_vlabel requests / ${graph_period}'
|
||||
echo 'graph_total total'
|
||||
echo 'graph_category NFS'
|
||||
for a in $proc ; do echo "$a.label $a" ; echo "$a.type DERIVE"; echo "$a.min 0"; done
|
||||
exit 0
|
||||
fi
|
||||
|
||||
i=6;
|
||||
|
||||
for a in $proc; do
|
||||
echo -n "$a.value "
|
||||
grep proc4ops $NFSD \
|
||||
| cut -f $i -d ' ' \
|
||||
| awk '{print $1}'
|
||||
i=$((i + 1))
|
||||
done
|
Loading…
Add table
Reference in a new issue