update nfs-v3, minor cleanup nfs-stats to match.

This commit is contained in:
Tony Murray
2016-08-01 11:51:06 -05:00
parent 97daf3dd54
commit d4670d9a7b
2 changed files with 126 additions and 129 deletions

View File

@@ -1,12 +1,12 @@
<?php
$oid = '.1.3.6.1.4.1.8072.1.3.2.4';
$nfsstats = snmp_walk($device, $oid, '-Oqv', 'NET-SNMP-EXTEND-MIB');
$name = 'nfsstat';
$app_id = $app['app_id'];
$oid = '.1.3.6.1.4.1.8072.1.3.2.4';
echo ' ' . $name;
$nfsstats = snmp_walk($device, $oid, '-Oqv', 'NET-SNMP-EXTEND-MIB');
$rrd_name = array('app', $name, $app_id);
$rrd_def = array(
'DS:total:GAUGE:600:0:U',
@@ -47,3 +47,5 @@ $fields = array(
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);
unset($nfsstats, $rrd_name, $rrd_def, $data, $fields, $tags);

View File

@@ -1,132 +1,127 @@
<?php
$rrd_filename = $config['rrd_dir'].'/'.$device['hostname'].'/app-nfs-stats-'.$app['app_id'].'.rrd';
$options = '-O qv';
$mib = 'NET-SNMP-EXTEND-MIB';
$oid = '.1.3.6.1.4.1.8072.1.3.2.4.1.2.7.110.102.115.115.116.97.116';
echo 'nfs-v3-stats';
$name = 'nfs-v3-stats';
$app_id = $app['app_id'];
$oid = '.1.3.6.1.4.1.8072.1.3.2.4.1.2.7.110.102.115.115.116.97.116';
$nfsstats = snmp_walk($device, $oid, $options, $mib);
echo ' ' . $name;
list($ra_size,$rc_hits,$rc_misses,$rc_nocache,$fh_lookup,$fh_anon,$fh_ncachedir,$fh_ncachenondir,$fh_stale,$io_read,$io_write,$ra_range01,$ra_range02,$ra_range03,$ra_range04,$ra_range05,$ra_range06,$ra_range07,$ra_range08,$ra_range09,$ra_range10,$ra_notfound,$net_all,$net_udp,$net_tcp,$net_tcpconn,$rpc_calls,$rpc_badcalls,$rpc_badfmt,$rpc_badauth,$rpc_badclnt,$proc3_null,$proc3_getattr,$proc3_setattr,$proc3_lookup,$proc3_access,$proc3_readlink,$proc3_read,$proc3_write,$proc3_create,$proc3_mkdir,$proc3_symlink,$proc3_mknod,$proc3_remove,$proc3_rmdir,$proc3_rename,$proc3_link,$proc3_readdir,$proc3_readdirplus,$proc3_fsstat,$proc3_fsinfo,$proc3_pathconf,$proc3_commit) = explode("\n",$nfsstats);
$nfsstats = snmp_walk($device, $oid, '-Oqv', 'NET-SNMP-EXTEND-MIB');
if(!is_file($rrd_filename))
{
rrdtool_create(
$rrd_filename,
'--step 300
DS:rc_hits:GAUGE:600:0:U
DS:rc_misses:GAUGE:600:0:U
DS:rc_nocache:GAUGE:600:0:U
DS:fh_lookup:GAUGE:600:0:U
DS:fh_anon:GAUGE:600:0:U
DS:fh_ncachedir:GAUGE:600:0:U
DS:fh_ncachenondir:GAUGE:600:0:U
DS:fh_stale:GAUGE:600:0:U
DS:io_read:GAUGE:600:0:U
DS:io_write:GAUGE:600:0:U
DS:ra_size:GAUGE:600:0:U
DS:ra_range01:GAUGE:600:0:U
DS:ra_range02:GAUGE:600:0:U
DS:ra_range03:GAUGE:600:0:U
DS:ra_range04:GAUGE:600:0:U
DS:ra_range05:GAUGE:600:0:U
DS:ra_range06:GAUGE:600:0:U
DS:ra_range07:GAUGE:600:0:U
DS:ra_range08:GAUGE:600:0:U
DS:ra_range09:GAUGE:600:0:U
DS:ra_range10:GAUGE:600:0:U
DS:ra_notfound:GAUGE:600:0:U
DS:net_all:GAUGE:600:0:U
DS:net_udp:GAUGE:600:0:U
DS:net_tcp:GAUGE:600:0:U
DS:net_tcpconn:GAUGE:600:0:U
DS:rpc_calls:GAUGE:600:0:U
DS:rpc_badcalls:GAUGE:600:0:U
DS:rpc_badfmt:GAUGE:600:0:U
DS:rpc_badauth:GAUGE:600:0:U
DS:rpc_badclnt:GAUGE:600:0:U
DS:proc3_null:GAUGE:600:0:U
DS:proc3_getattr:GAUGE:600:0:U
DS:proc3_setattr:GAUGE:600:0:U
DS:proc3_lookup:GAUGE:600:0:U
DS:proc3_access:GAUGE:600:0:U
DS:proc3_readlink:GAUGE:600:0:U
DS:proc3_read:GAUGE:600:0:U
DS:proc3_write:GAUGE:600:0:U
DS:proc3_create:GAUGE:600:0:U
DS:proc3_mkdir:GAUGE:600:0:U
DS:proc3_symlink:GAUGE:600:0:U
DS:proc3_mknod:GAUGE:600:0:U
DS:proc3_remove:GAUGE:600:0:U
DS:proc3_rmdir:GAUGE:600:0:U
DS:proc3_rename:GAUGE:600:0:U
DS:proc3_link:GAUGE:600:0:U
DS:proc3_readdir:GAUGE:600:0:U
DS:proc3_readdirplus:GAUGE:600:0:U
DS:proc3_fsstat:GAUGE:600:0:U
DS:proc3_fsinfo:GAUGE:600:0:U
DS:proc3_pathconf:GAUGE:600:0:U
DS:proc3_commit:GAUGE:600:0:U
'.$config['rrd_rra']
);
}
$rrd_name = array('app', 'nfs-stats', $app_id);
$rrd_def = array(
'DS:rc_hits:GAUGE:600:0:U',
'DS:rc_misses:GAUGE:600:0:U',
'DS:rc_nocache:GAUGE:600:0:U',
'DS:fh_lookup:GAUGE:600:0:U',
'DS:fh_anon:GAUGE:600:0:U',
'DS:fh_ncachedir:GAUGE:600:0:U',
'DS:fh_ncachenondir:GAUGE:600:0:U',
'DS:fh_stale:GAUGE:600:0:U',
'DS:io_read:GAUGE:600:0:U',
'DS:io_write:GAUGE:600:0:U',
'DS:ra_size:GAUGE:600:0:U',
'DS:ra_range01:GAUGE:600:0:U',
'DS:ra_range02:GAUGE:600:0:U',
'DS:ra_range03:GAUGE:600:0:U',
'DS:ra_range04:GAUGE:600:0:U',
'DS:ra_range05:GAUGE:600:0:U',
'DS:ra_range06:GAUGE:600:0:U',
'DS:ra_range07:GAUGE:600:0:U',
'DS:ra_range08:GAUGE:600:0:U',
'DS:ra_range09:GAUGE:600:0:U',
'DS:ra_range10:GAUGE:600:0:U',
'DS:ra_notfound:GAUGE:600:0:U',
'DS:net_all:GAUGE:600:0:U',
'DS:net_udp:GAUGE:600:0:U',
'DS:net_tcp:GAUGE:600:0:U',
'DS:net_tcpconn:GAUGE:600:0:U',
'DS:rpc_calls:GAUGE:600:0:U',
'DS:rpc_badcalls:GAUGE:600:0:U',
'DS:rpc_badfmt:GAUGE:600:0:U',
'DS:rpc_badauth:GAUGE:600:0:U',
'DS:rpc_badclnt:GAUGE:600:0:U',
'DS:proc3_null:GAUGE:600:0:U',
'DS:proc3_getattr:GAUGE:600:0:U',
'DS:proc3_setattr:GAUGE:600:0:U',
'DS:proc3_lookup:GAUGE:600:0:U',
'DS:proc3_access:GAUGE:600:0:U',
'DS:proc3_readlink:GAUGE:600:0:U',
'DS:proc3_read:GAUGE:600:0:U',
'DS:proc3_write:GAUGE:600:0:U',
'DS:proc3_create:GAUGE:600:0:U',
'DS:proc3_mkdir:GAUGE:600:0:U',
'DS:proc3_symlink:GAUGE:600:0:U',
'DS:proc3_mknod:GAUGE:600:0:U',
'DS:proc3_remove:GAUGE:600:0:U',
'DS:proc3_rmdir:GAUGE:600:0:U',
'DS:proc3_rename:GAUGE:600:0:U',
'DS:proc3_link:GAUGE:600:0:U',
'DS:proc3_readdir:GAUGE:600:0:U',
'DS:proc3_readdirplus:GAUGE:600:0:U',
'DS:proc3_fsstat:GAUGE:600:0:U',
'DS:proc3_fsinfo:GAUGE:600:0:U',
'DS:proc3_pathconf:GAUGE:600:0:U',
'DS:proc3_commit:GAUGE:600:0:U',
);
$data = explode("\n", $nfsstats);
$fields = array(
'rc_hits' => $rc_hits,
'rc_misses' => $rc_misses,
'rc_nocache' => $rc_nocache,
'fh_lookup' => $fh_lookup,
'fh_anon' => $fh_anon,
'fh_ncachedir' => $fh_ncachedir,
'fh_ncachenondir' => $fh_ncachenondir,
'fh_stale' => $fh_stale,
'io_read' => $io_read,
'io_write' => $io_write,
'ra_size' => $ra_size,
'ra_range01' => $ra_range01,
'ra_range02' => $ra_range02,
'ra_range03' => $ra_range03,
'ra_range04' => $ra_range04,
'ra_range05' => $ra_range05,
'ra_range06' => $ra_range06,
'ra_range07' => $ra_range07,
'ra_range08' => $ra_range08,
'ra_range09' => $ra_range09,
'ra_range10' => $ra_range10,
'ra_notfound'=> $ra_notfound,
'net_all' => $net_all,
'net_udp' => $net_udp,
'net_tcp' => $net_tcp,
'net_tcpconn' => $net_tcpconn,
'rpc_calls' => $rpc_calls,
'rpc_badcalls' => $rpc_badcalls,
'rpc_badfmt' => $rpc_badfmt,
'rpc_badauth' => $rpc_badauth,
'rpc_badclnt' => $rpc_badclnt,
'proc3_null' => $proc3_null,
'proc3_getattr' => $proc3_getattr,
'proc3_setattr' => $proc3_setattr,
'proc3_lookup' => $proc3_lookup,
'proc3_access' => $proc3_access,
'proc3_readlink' => $proc3_readlink,
'proc3_read' => $proc3_read,
'proc3_write' => $proc3_write,
'proc3_create' => $proc3_create,
'proc3_mkdir' => $proc3_mkdir,
'proc3_symlink' => $proc3_symlink,
'proc3_mknod' => $proc3_mknod,
'proc3_remove' => $proc3_remove,
'proc3_rmdir' => $proc3_rmdir,
'proc3_rename' => $proc3_rename,
'proc3_link' => $proc3_link,
'proc3_readdir' => $proc3_readdir,
'proc3_readdirplus' => $proc3_readdirplus,
'proc3_fsstat' => $proc3_fsstat,
'proc3_fsinfo' => $proc3_fsinfo,
'proc3_pathconf' => $proc3_pathconf,
'proc3_commit' => $proc3_commit,
);
'rc_hits' => $data[1],
'rc_misses' => $data[2],
'rc_nocache' => $data[3],
'fh_lookup' => $data[4],
'fh_anon' => $data[5],
'fh_ncachedir' => $data[6],
'fh_ncachenondir' => $data[7],
'fh_stale' => $data[8],
'io_read' => $data[9],
'io_write' => $data[10],
'ra_size' => $data[0],
'ra_range01' => $data[11],
'ra_range02' => $data[12],
'ra_range03' => $data[13],
'ra_range04' => $data[14],
'ra_range05' => $data[15],
'ra_range06' => $data[16],
'ra_range07' => $data[17],
'ra_range08' => $data[18],
'ra_range09' => $data[19],
'ra_range10' => $data[20],
'ra_notfound' => $data[21],
'net_all' => $data[22],
'net_udp' => $data[23],
'net_tcp' => $data[24],
'net_tcpconn' => $data[25],
'rpc_calls' => $data[26],
'rpc_badcalls' => $data[27],
'rpc_badfmt' => $data[28],
'rpc_badauth' => $data[29],
'rpc_badclnt' => $data[30],
'proc3_null' => $data[31],
'proc3_getattr' => $data[32],
'proc3_setattr' => $data[33],
'proc3_lookup' => $data[34],
'proc3_access' => $data[35],
'proc3_readlink' => $data[36],
'proc3_read' => $data[37],
'proc3_write' => $data[38],
'proc3_create' => $data[39],
'proc3_mkdir' => $data[40],
'proc3_symlink' => $data[41],
'proc3_mknod' => $data[42],
'proc3_remove' => $data[43],
'proc3_rmdir' => $data[44],
'proc3_rename' => $data[45],
'proc3_link' => $data[46],
'proc3_readdir' => $data[47],
'proc3_readdirplus' => $data[48],
'proc3_fsstat' => $data[49],
'proc3_fsinfo' => $data[50],
'proc3_pathconf' => $data[51],
'proc3_commit' => $data[52],
);
rrdtool_update($rrd_filename, $fields);
$tags = array('name' => 'nfs-v3-stats', 'app_id' => $app['app_id']);
influx_update($device,'app',$tags,$fields);
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);
unset($nfsstats, $rrd_name, $rrd_def, $data, $fields, $tags);