#!/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 () { @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 () { @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;}