rendered paste body#!/usr/bin/perl
# Original Author: Rajeev Karamchedu
#
# Modified to:
# 1. add support for nfs client statistics and
# 2. Allow walks of single attributes, e.g. only v3getattr by walking #place.8.4
#
# by Ryan Steele
%nfsd = ( "progname" => "/usr/local/sbin/nfs2snmp.pl" );
%nfs = ( "progname" => "/usr/local/sbin/nfs2snmp.pl" );
$place = ".1.3.6.1.4.1.2021.255";
#
# $place.1 - nfsIndex
# $place.2 - fh
# $place.3 - io
# $place.4 - th
# $place.5 - ra
# $place.6 - net
# $place.7 - rpc
# $place.8 - proc3_server
# $place.9 - proc3_client
# $place.10 - proc4
# $place.11 - rc
$req = $ARGV[1];
#
# -s will be passed for SNMPSET command
#
if ( $ARGV[0] eq "-s") {
# we do not do any set ops
print "not-writable";
exit;
}
#define the nfsd array
open (OUTPUT, "/bin/cat /proc/net/rpc/nfsd |");
while (<OUTPUT>) {
@vals = split(/ /);
if ( $vals[0] eq "proc3" ) {
$numvals = @vals;
$nfsd{'v3null'} = $vals[2];
$nfsd{"v3getattr"} = $vals[3];
$nfsd{"v3setattr"} = $vals[4];
$nfsd{"v3lookup"} = $vals[5];
$nfsd{"v3access"} = $vals[6];
$nfsd{"v3readlink"} = $vals[7];
$nfsd{"v3read"} = $vals[8];
$nfsd{"v3write"} = $vals[9];
$nfsd{"v3create"} = $vals[10];
$nfsd{"v3mkdir"} = $vals[11];
$nfsd{"v3symlink"} = $vals[12];
$nfsd{"v3mknod"} = $vals[13];
$nfsd{"v3remove"} = $vals[14];
$nfsd{"v3rmdir"} = $vals[15];
$nfsd{"v3rename"} = $vals[16];
$nfsd{"v3link"} = $vals[17];
$nfsd{"v3readdir"} = $vals[18];
$nfsd{"v3readdirplus"} = $vals[19];
$nfsd{"v3fsstat"} = $vals[20];
$nfsd{"v3fsinfo"} = $vals[21];
$nfsd{"v3pathconf"} = $vals[22];
$nfsd{'v3commit'} = $vals[23];
}
}
close(OUTPUT);
# define the nfs array
open (OUTPUT2, "/bin/cat /proc/net/rpc/nfs |");
while (<OUTPUT2>) {
@vals2 = split(/ /);
if ( $vals2[0] eq "proc3" ) {
$numvals2 = @vals2;
$nfs{'v3null'} = $vals2[2];
$nfs{"v3getattr"} = $vals2[3];
$nfs{"v3setattr"} = $vals2[4];
$nfs{"v3lookup"} = $vals2[5];
$nfs{"v3access"} = $vals2[6];
$nfs{"v3readlink"} = $vals2[7];
$nfs{"v3read"} = $vals2[8];
$nfs{"v3write"} = $vals2[9];
$nfs{"v3create"} = $vals2[10];
$nfs{"v3mkdir"} = $vals2[11];
$nfs{"v3symlink"} = $vals2[12];
$nfs{"v3mknod"} = $vals2[13];
$nfs{"v3remove"} = $vals2[14];
$nfs{"v3rmdir"} = $vals2[15];
$nfs{"v3rename"} = $vals2[16];
$nfs{"v3link"} = $vals2[17];
$nfs{"v3readdir"} = $vals2[18];
$nfs{"v3readdirplus"} = $vals2[19];
$nfs{"v3fsstat"} = $vals2[20];
$nfs{"v3fsinfo"} = $vals2[21];
$nfs{"v3pathconf"} = $vals2[22];
$nfs{'v3commit'} = $vals2[23];
}
}
close(OUTPUT2);
# calculate total
$v3total=0;
foreach $val (values %nfsd) {
$v3total += $val;
}
$v3total2=0;
foreach $val2 (values %nfs) {
$v3total2 += $val2;
}
#shove it in the array
$nfsd{'v3total'} = $v3total;
$nfs{'v3total'} = $v3total2;
#
# -n will be passed for GETNEXT request
#
if ( $ARGV[0] eq "-n" ) {
if ( $req eq "$place") { $ret = "$place.8"; }
elsif ( $req eq "$place.8" ) { $ret = "$place.8.1"; }
elsif ( $req eq "$place.8.1" || $req eq "$place.8.2" ) { $ret = "$place.8.2.1"; }
elsif ( $req eq "$place.8.2.1" ) { $ret = "$place.8.2.2"; }
elsif ( $req eq "$place.8.2.2" || $req eq "$place.8.3" ) { $ret = "$place.8.3.1"; }
elsif ( $req eq "$place.8.3.1" ) { $ret = "$place.8.3.2"; }
elsif ( $req eq "$place.8.3.2" || $req eq "$place.8.4" ) { $ret = "$place.8.4.1"; }
elsif ( $req eq "$place.8.4.1" ) { $ret = "$place.8.4.2"; }
elsif ( $req eq "$place.8.4.2" || $req eq "$place.8.5" ) { $ret = "$place.8.5.1"; }
elsif ( $req eq "$place.8.5.1" ) { $ret = "$place.8.5.2"; }
elsif ( $req eq "$place.8.5.2" || $req eq "$place.8.6" ) { $ret = "$place.8.6.1"; }
elsif ( $req eq "$place.8.6.1" ) { $ret = "$place.8.6.2"; }
elsif ( $req eq "$place.8.6.2" || $req eq "$place.8.7" ) { $ret = "$place.8.7.1"; }
elsif ( $req eq "$place.8.7.1" ) { $ret = "$place.8.7.2"; }
elsif ( $req eq "$place.8.7.2" || $req eq "$place.8.8" ) { $ret = "$place.8.8.1"; }
elsif ( $req eq "$place.8.8.1" ) { $ret = "$place.8.8.2"; }
elsif ( $req eq "$place.8.8.2" || $req eq "$place.8.9" ) { $ret = "$place.8.9.1"; }
elsif ( $req eq "$place.8.9.1" ) { $ret = "$place.8.9.2"; }
elsif ( $req eq "$place.8.9.2" || $req eq "$place.8.10" ) { $ret = "$place.8.10.1"; }
elsif ( $req eq "$place.8.10.1" ) { $ret = "$place.8.10.2"; }
elsif ( $req eq "$place.8.10.2" || $req eq "$place.8.11" ) { $ret = "$place.8.11.1"; }
elsif ( $req eq "$place.8.11.1" ) { $ret = "$place.8.11.2"; }
elsif ( $req eq "$place.8.11.2" || $req eq "$place.8.12" ) { $ret = "$place.8.12.1"; }
elsif ( $req eq "$place.8.12.1" ) { $ret = "$place.8.12.2"; }
elsif ( $req eq "$place.8.12.2" || $req eq "$place.8.13" ) { $ret = "$place.8.13.1"; }
elsif ( $req eq "$place.8.13.1" ) { $ret = "$place.8.13.2"; }
elsif ( $req eq "$place.8.13.2" || $req eq "$place.8.14" ) { $ret = "$place.8.14.1"; }
elsif ( $req eq "$place.8.14.1" ) { $ret = "$place.8.14.2"; }
elsif ( $req eq "$place.8.14.2" || $req eq "$place.8.15" ) { $ret = "$place.8.15.1"; }
elsif ( $req eq "$place.8.15.1" ) { $ret = "$place.8.15.2"; }
elsif ( $req eq "$place.8.15.2" || $req eq "$place.8.16" ) { $ret = "$place.8.16.1"; }
elsif ( $req eq "$place.8.16.1" ) { $ret = "$place.8.16.2"; }
elsif ( $req eq "$place.8.16.2" || $req eq "$place.8.17" ) { $ret = "$place.8.17.1"; }
elsif ( $req eq "$place.8.17.1" ) { $ret = "$place.8.17.2"; }
elsif ( $req eq "$place.8.17.2" || $req eq "$place.8.18" ) { $ret = "$place.8.18.1"; }
elsif ( $req eq "$place.8.18.1" ) { $ret = "$place.8.18.2"; }
elsif ( $req eq "$place.8.18.2" || $req eq "$place.8.19" ) { $ret = "$place.8.19.1"; }
elsif ( $req eq "$place.8.19.1" ) { $ret = "$place.8.19.2"; }
elsif ( $req eq "$place.8.19.2" || $req eq "$place.8.20" ) { $ret = "$place.8.20.1"; }
elsif ( $req eq "$place.8.20.1" ) { $ret = "$place.8.20.2"; }
elsif ( $req eq "$place.8.20.2" || $req eq "$place.8.21" ) { $ret = "$place.8.21.1"; }
elsif ( $req eq "$place.8.21.1" ) { $ret = "$place.8.21.2"; }
elsif ( $req eq "$place.8.21.2" || $req eq "$place.8.22" ) { $ret = "$place.8.22.1"; }
elsif ( $req eq "$place.8.22.1" ) { $ret = "$place.8.22.2"; }
elsif ( $req eq "$place.8.22.2" || $req eq "$place.8.23" ) { $ret = "$place.8.23.1"; }
elsif ( $req eq "$place.8.23.1" ) { $ret = "$place.8.23.2"; }
elsif ( $req eq "$place.8.23.2" || $req eq "$place.8.24" ) { $ret = "$place.8.24.1"; }
elsif ( $req eq "$place.8.24.1" ) { $ret = "$place.8.24.2"; }
elsif ( $req eq "$place.8.24.2" ) { $ret = "$place.9"; }
# Next batch added for nfs client v3
#if ( $req eq "$place") { $ret = "$place.9"; }
elsif ( $req eq "$place.9" ) { $ret = "$place.9.1"; }
elsif ( $req eq "$place.9.1" || $req eq "$place.9.2" ) { $ret = "$place.9.2.1"; }
elsif ( $req eq "$place.9.2.1" ) { $ret = "$place.9.2.2"; }
elsif ( $req eq "$place.9.2.2" || $req eq "$place.9.3" ) { $ret = "$place.9.3.1"; }
elsif ( $req eq "$place.9.3.1" ) { $ret = "$place.9.3.2"; }
elsif ( $req eq "$place.9.3.2" || $req eq "$place.9.4" ) { $ret = "$place.9.4.1"; }
elsif ( $req eq "$place.9.4.1" ) { $ret = "$place.9.4.2"; }
elsif ( $req eq "$place.9.4.2" || $req eq "$place.9.5" ) { $ret = "$place.9.5.1"; }
elsif ( $req eq "$place.9.5.1" ) { $ret = "$place.9.5.2"; }
elsif ( $req eq "$place.9.5.2" || $req eq "$place.9.6" ) { $ret = "$place.9.6.1"; }
elsif ( $req eq "$place.9.6.1" ) { $ret = "$place.9.6.2"; }
elsif ( $req eq "$place.9.6.2" || $req eq "$place.9.7" ) { $ret = "$place.9.7.1"; }
elsif ( $req eq "$place.9.7.1" ) { $ret = "$place.9.7.2"; }
elsif ( $req eq "$place.9.7.2" || $req eq "$place.9.8" ) { $ret = "$place.9.8.1"; }
elsif ( $req eq "$place.9.8.1" ) { $ret = "$place.9.8.2"; }
elsif ( $req eq "$place.9.8.2" || $req eq "$place.9.9" ) { $ret = "$place.9.9.1"; }
elsif ( $req eq "$place.9.9.1" ) { $ret = "$place.9.9.2"; }
elsif ( $req eq "$place.9.9.2" || $req eq "$place.9.10" ) { $ret = "$place.9.10.1"; }
elsif ( $req eq "$place.9.10.1" ) { $ret = "$place.9.10.2"; }
elsif ( $req eq "$place.9.10.2" || $req eq "$place.9.11" ) { $ret = "$place.9.11.1"; }
elsif ( $req eq "$place.9.11.1" ) { $ret = "$place.9.11.2"; }
elsif ( $req eq "$place.9.11.2" || $req eq "$place.9.12" ) { $ret = "$place.9.12.1"; }
elsif ( $req eq "$place.9.12.1" ) { $ret = "$place.9.12.2"; }
elsif ( $req eq "$place.9.12.2" || $req eq "$place.9.13" ) { $ret = "$place.9.13.1"; }
elsif ( $req eq "$place.9.13.1" ) { $ret = "$place.9.13.2"; }
elsif ( $req eq "$place.9.13.2" || $req eq "$place.9.14" ) { $ret = "$place.9.14.1"; }
elsif ( $req eq "$place.9.14.1" ) { $ret = "$place.9.14.2"; }
elsif ( $req eq "$place.9.14.2" || $req eq "$place.9.15" ) { $ret = "$place.9.15.1"; }
elsif ( $req eq "$place.9.15.1" ) { $ret = "$place.9.15.2"; }
elsif ( $req eq "$place.9.15.2" || $req eq "$place.9.16" ) { $ret = "$place.9.16.1"; }
elsif ( $req eq "$place.9.16.1" ) { $ret = "$place.9.16.2"; }
elsif ( $req eq "$place.9.16.2" || $req eq "$place.9.17" ) { $ret = "$place.9.17.1"; }
elsif ( $req eq "$place.9.17.1" ) { $ret = "$place.9.17.2"; }
elsif ( $req eq "$place.9.17.2" || $req eq "$place.9.18" ) { $ret = "$place.9.18.1"; }
elsif ( $req eq "$place.9.18.1" ) { $ret = "$place.9.18.2"; }
elsif ( $req eq "$place.9.18.2" || $req eq "$place.9.19" ) { $ret = "$place.9.19.1"; }
elsif ( $req eq "$place.9.19.1" ) { $ret = "$place.9.19.2"; }
elsif ( $req eq "$place.9.19.2" || $req eq "$place.9.20" ) { $ret = "$place.9.20.1"; }
elsif ( $req eq "$place.9.20.1" ) { $ret = "$place.9.20.2"; }
elsif ( $req eq "$place.9.20.2" || $req eq "$place.9.21" ) { $ret = "$place.9.21.1"; }
elsif ( $req eq "$place.9.21.1" ) { $ret = "$place.9.21.2"; }
elsif ( $req eq "$place.9.21.2" || $req eq "$place.9.22" ) { $ret = "$place.9.22.1"; }
elsif ( $req eq "$place.9.22.1" ) { $ret = "$place.9.22.2"; }
elsif ( $req eq "$place.9.22.2" || $req eq "$place.9.23" ) { $ret = "$place.9.23.1"; }
elsif ( $req eq "$place.9.23.1" ) { $ret = "$place.9.23.2"; }
elsif ( $req eq "$place.9.23.2" || $req eq "$place.9.24" ) { $ret = "$place.9.24.1"; }
elsif ( $req eq "$place.9.24.1" ) { $ret = "$place.9.24.2"; }
else { exit 0; }
}
#
# Rest of the code is for SNMPGET (-g)
#
else {
if ( $req eq "$place" ) { exit 0; }
else { $ret = $req; }
}
print "$ret\n";
if ( $ret eq "$place.8" ) { print "string\nNFS v3 Server Statistics\n"; exit 0;}
if ( $ret eq "$place.8.1" ) { print "string\n/usr/local/sbin/nfs2snmp.pl\n"; exit 0;}
if ( $ret eq "$place.8.2.1" ) { print "string\nv3null\n"; exit 0;}
if ( $ret eq "$place.8.2.2" ) { print "gauge\n$nfsd{'v3null'}\n"; exit 0;}
if ( $ret eq "$place.8.3.1" ) { print "string\nv3getattr\n"; exit 0;}
if ( $ret eq "$place.8.3.2" ) { print "gauge\n$nfsd{'v3getattr'}\n"; exit 0;}
if ( $ret eq "$place.8.4.1" ) { print "string\nv3setattr\n"; exit 0;}
if ( $ret eq "$place.8.4.2" ) { print "gauge\n$nfsd{'v3setattr'}\n"; exit 0;}
if ( $ret eq "$place.8.5.1" ) { print "string\nv3lookup\n"; exit 0;}
if ( $ret eq "$place.8.5.2" ) { print "gauge\n$nfsd{'v3lookup'}\n"; exit 0;}
if ( $ret eq "$place.8.6.1" ) { print "string\nv3access\n"; exit 0;}
if ( $ret eq "$place.8.6.2" ) { print "gauge\n$nfsd{'v3access'}\n"; exit 0;}
if ( $ret eq "$place.8.7.1" ) { print "string\nv3readlink\n"; exit 0;}
if ( $ret eq "$place.8.7.2" ) { print "gauge\n$nfsd{'v3readlink'}\n"; exit 0;}
if ( $ret eq "$place.8.8.1" ) { print "string\nv3read\n"; exit 0;}
if ( $ret eq "$place.8.8.2" ) { print "gauge\n$nfsd{'v3read'}\n"; exit 0;}
if ( $ret eq "$place.8.9.1" ) { print "string\nv3create\n"; exit 0;}
if ( $ret eq "$place.8.9.2" ) { print "gauge\n$nfsd{'v3create'}\n"; exit 0;}
if ( $ret eq "$place.8.10.1" ) { print "string\nv3mkdir\n"; exit 0;}
if ( $ret eq "$place.8.10.2" ) { print "gauge\n$nfsd{'v3mkdir'}\n"; exit 0;}
if ( $ret eq "$place.8.11.1" ) { print "string\nv3write\n"; exit 0;}
if ( $ret eq "$place.8.11.2" ) { print "gauge\n$nfsd{'v3write'}\n"; exit 0;}
if ( $ret eq "$place.8.12.1" ) { print "string\nv3symlink\n"; exit 0;}
if ( $ret eq "$place.8.12.2" ) { print "gauge\n$nfsd{'v3symlink'}\n"; exit 0;}
if ( $ret eq "$place.8.13.1" ) { print "string\nv3mknod\n"; exit 0;}
if ( $ret eq "$place.8.13.2" ) { print "gauge\n$nfsd{'v3mknod'}\n"; exit 0;}
if ( $ret eq "$place.8.14.1" ) { print "string\nv3remove\n"; exit 0;}
if ( $ret eq "$place.8.14.2" ) { print "gauge\n$nfsd{'v3remove'}\n"; exit 0;}
if ( $ret eq "$place.8.15.1" ) { print "string\nv3rmdir\n"; exit 0;}
if ( $ret eq "$place.8.15.2" ) { print "gauge\n$nfsd{'v3rmdir'}\n"; exit 0;}
if ( $ret eq "$place.8.16.1" ) { print "string\nv3rename\n"; exit 0;}
if ( $ret eq "$place.8.16.2" ) { print "gauge\n$nfsd{'v3rename'}\n"; exit 0;}
if ( $ret eq "$place.8.17.1" ) { print "string\nv3link\n"; exit 0;}
if ( $ret eq "$place.8.17.2" ) { print "gauge\n$nfsd{'v3link'}\n"; exit 0;}
if ( $ret eq "$place.8.18.1" ) { print "string\nv3readdir\n"; exit 0;}
if ( $ret eq "$place.8.18.2" ) { print "gauge\n$nfsd{'v3readdir'}\n"; exit 0;}
if ( $ret eq "$place.8.19.1" ) { print "string\nv3readdirplus\n"; exit 0;}
if ( $ret eq "$place.8.19.2" ) { print "gauge\n$nfsd{'v3readdirplus'}\n"; exit 0;}
if ( $ret eq "$place.8.20.1" ) { print "string\nv3fsstat\n"; exit 0;}
if ( $ret eq "$place.8.20.2" ) { print "gauge\n$nfsd{'v3fsstat'}\n"; exit 0;}
if ( $ret eq "$place.8.21.1" ) { print "string\nv3fsinfo\n"; exit 0;}
if ( $ret eq "$place.8.21.2" ) { print "gauge\n$nfsd{'v3fsinfo'}\n"; exit 0;}
if ( $ret eq "$place.8.22.1" ) { print "string\nv3pathconf\n"; exit 0;}
if ( $ret eq "$place.8.22.2" ) { print "gauge\n$nfsd{'v3pathconf'}\n"; exit 0;}
if ( $ret eq "$place.8.23.1" ) { print "string\nv3commit\n"; exit 0;}
if ( $ret eq "$place.8.23.2" ) { print "gauge\n$nfsd{'v3commit'}\n"; exit 0;}
if ( $ret eq "$place.8.24.1" ) { print "string\nv3total\n"; exit 0;}
if ( $ret eq "$place.8.24.2" ) { print "gauge\n$nfsd{'v3total'}\n"; exit 0;}
# Added for nfs client v3
if ( $ret eq "$place.9" ) { print "string\nNFS v3 Client Statistics\n"; exit 0;}
if ( $ret eq "$place.9.1" ) { print "string\n/usr/local/sbin/nfs2snmp.pl\n"; exit 0;}
if ( $ret eq "$place.9.2.1" ) { print "string\nv3null\n"; exit 0;}
if ( $ret eq "$place.9.2.2" ) { print "gauge\n$nfs{'v3null'}\n"; exit 0;}
if ( $ret eq "$place.9.3.1" ) { print "string\nv3getattr\n"; exit 0;}
if ( $ret eq "$place.9.3.2" ) { print "gauge\n$nfs{'v3getattr'}\n"; exit 0;}
if ( $ret eq "$place.9.4.1" ) { print "string\nv3setattr\n"; exit 0;}
if ( $ret eq "$place.9.4.2" ) { print "gauge\n$nfs{'v3setattr'}\n"; exit 0;}
if ( $ret eq "$place.9.5.1" ) { print "string\nv3lookup\n"; exit 0;}
if ( $ret eq "$place.9.5.2" ) { print "gauge\n$nfs{'v3lookup'}\n"; exit 0;}
if ( $ret eq "$place.9.6.1" ) { print "string\nv3access\n"; exit 0;}
if ( $ret eq "$place.9.6.2" ) { print "gauge\n$nfs{'v3access'}\n"; exit 0;}
if ( $ret eq "$place.9.7.1" ) { print "string\nv3readlink\n"; exit 0;}
if ( $ret eq "$place.9.7.2" ) { print "gauge\n$nfs{'v3readlink'}\n"; exit 0;}
if ( $ret eq "$place.9.8.1" ) { print "string\nv3read\n"; exit 0;}
if ( $ret eq "$place.9.8.2" ) { print "gauge\n$nfs{'v3read'}\n"; exit 0;}
if ( $ret eq "$place.9.9.1" ) { print "string\nv3create\n"; exit 0;}
if ( $ret eq "$place.9.9.2" ) { print "gauge\n$nfs{'v3create'}\n"; exit 0;}
if ( $ret eq "$place.9.10.1" ) { print "string\nv3mkdir\n"; exit 0;}
if ( $ret eq "$place.9.10.2" ) { print "gauge\n$nfs{'v3mkdir'}\n"; exit 0;}
if ( $ret eq "$place.9.11.1" ) { print "string\nv3write\n"; exit 0;}
if ( $ret eq "$place.9.11.2" ) { print "gauge\n$nfs{'v3write'}\n"; exit 0;}
if ( $ret eq "$place.9.12.1" ) { print "string\nv3symlink\n"; exit 0;}
if ( $ret eq "$place.9.12.2" ) { print "gauge\n$nfs{'v3symlink'}\n"; exit 0;}
if ( $ret eq "$place.9.13.1" ) { print "string\nv3mknod\n"; exit 0;}
if ( $ret eq "$place.9.13.2" ) { print "gauge\n$nfs{'v3mknod'}\n"; exit 0;}
if ( $ret eq "$place.9.14.1" ) { print "string\nv3remove\n"; exit 0;}
if ( $ret eq "$place.9.14.2" ) { print "gauge\n$nfs{'v3remove'}\n"; exit 0;}
if ( $ret eq "$place.9.15.1" ) { print "string\nv3rmdir\n"; exit 0;}
if ( $ret eq "$place.9.15.2" ) { print "gauge\n$nfs{'v3rmdir'}\n"; exit 0;}
if ( $ret eq "$place.9.16.1" ) { print "string\nv3rename\n"; exit 0;}
if ( $ret eq "$place.9.16.2" ) { print "gauge\n$nfs{'v3rename'}\n"; exit 0;}
if ( $ret eq "$place.9.17.1" ) { print "string\nv3link\n"; exit 0;}
if ( $ret eq "$place.9.17.2" ) { print "gauge\n$nfs{'v3link'}\n"; exit 0;}
if ( $ret eq "$place.9.18.1" ) { print "string\nv3readdir\n"; exit 0;}
if ( $ret eq "$place.9.18.2" ) { print "gauge\n$nfs{'v3readdir'}\n"; exit 0;}
if ( $ret eq "$place.9.19.1" ) { print "string\nv3readdirplus\n"; exit 0;}
if ( $ret eq "$place.9.19.2" ) { print "gauge\n$nfs{'v3readdirplus'}\n"; exit 0;}
if ( $ret eq "$place.9.20.1" ) { print "string\nv3fsstat\n"; exit 0;}
if ( $ret eq "$place.9.20.2" ) { print "gauge\n$nfs{'v3fsstat'}\n"; exit 0;}
if ( $ret eq "$place.9.21.1" ) { print "string\nv3fsinfo\n"; exit 0;}
if ( $ret eq "$place.9.21.2" ) { print "gauge\n$nfs{'v3fsinfo'}\n"; exit 0;}
if ( $ret eq "$place.9.22.1" ) { print "string\nv3pathconf\n"; exit 0;}
if ( $ret eq "$place.9.22.2" ) { print "gauge\n$nfs{'v3pathconf'}\n"; exit 0;}
if ( $ret eq "$place.9.23.1" ) { print "string\nv3commit\n"; exit 0;}
if ( $ret eq "$place.9.23.2" ) { print "gauge\n$nfs{'v3commit'}\n"; exit 0;}
if ( $ret eq "$place.9.24.1" ) { print "string\nv3total\n"; exit 0;}
if ( $ret eq "$place.9.24.2" ) { print "gauge\n$nfs{'v3total'}\n"; exit 0;}