Update nfs-stats.inc.php to use data_update

filter tags in ports.inc.php, and update the phpdoc for rrd_array_filter()
This commit is contained in:
Tony Murray
2016-07-25 20:42:37 -05:00
parent 8d950a4ed7
commit 76d5311647
3 changed files with 50 additions and 53 deletions

View File

@@ -22,8 +22,11 @@ require_once $config['install_dir'] . "/includes/rrdtool.inc.php";
require_once $config['install_dir'] . "/includes/influxdb.inc.php";
/*
* @return Copy of $arr with all keys beginning with 'rrd_' removed.
/**
* Filter all elements with keys that start with 'rrd_'
*
* @param array $arr input array
* @return array Copy of $arr with all keys beginning with 'rrd_' removed.
*/
function rrd_array_filter($arr)
{

View File

@@ -1,55 +1,49 @@
<?php
$rrd_filename = $config['rrd_dir'].'/'.$device['hostname'].'/app-nfsstats-'.$app['app_id'].'.rrd';
$options = '-O qv';
$mib = 'NET-SNMP-EXTEND-MIB';
$oid = '.1.3.6.1.4.1.8072.1.3.2.4';
echo ' nfsstat';
$nfsstats = snmp_walk($device, $oid, '-Oqv', 'NET-SNMP-EXTEND-MIB');
$nfsstats = snmp_walk($device, $oid, $options, $mib);
list($total,$null,$getattr,$setattr,$lookup,$access,$read,$write,$create,$mkdir,$remove,$rmdir,$rename,$readdirplus,$fsstat) = explode("\n",$nfsstats);
$name = 'nfsstat';
$app_id = $app['app_id'];
echo ' ' . $name;
if(!is_file($rrd_filename))
{
rrdtool_create(
$rrd_filename,
'--step 300
DS:total:GAUGE:600:0:U
DS:null:GAUGE:600:0:U
DS:getattr:GAUGE:600:0:U
DS:setattr:GAUGE:600:0:U
DS:lookup:GAUGE:600:0:U
DS:access:GAUGE:600:0:U
DS:read:GAUGE:600:0:U
DS:write:GAUGE:600:0:U
DS:create:GAUGE:600:0:U
DS:mkdir:GAUGE:600:0:U
DS:remove:GAUGE:600:0:U
DS:rmdir:GAUGE:600:0:U
DS:rename:GAUGE:600:0:U
DS:readdirplus:GAUGE:600:0:U
DS:fsstat:GAUGE:600:0:U
'.$config['rrd_rra']
);
}
$fields = array(
'total' => $total,
'null' => $null,
'getattr' => $getattr,
'setattr' => $setattr,
'lookup' => $lookup,
'access' => $access,
'read' => $read,
'write' => $write,
'create' => $create,
'mkdir' => $mkdir,
'remove' => $remove,
'rmdir' => $rmdir,
'rename' => $rename,
'readdirplus' => $readdirplus,
'fsstat' => $fsstat,
$rrd_name = array('app', $name, $app_id);
$rrd_def = array(
'DS:total:GAUGE:600:0:U',
'DS:null:GAUGE:600:0:U',
'DS:getattr:GAUGE:600:0:U',
'DS:setattr:GAUGE:600:0:U',
'DS:lookup:GAUGE:600:0:U',
'DS:access:GAUGE:600:0:U',
'DS:read:GAUGE:600:0:U',
'DS:write:GAUGE:600:0:U',
'DS:create:GAUGE:600:0:U',
'DS:mkdir:GAUGE:600:0:U',
'DS:remove:GAUGE:600:0:U',
'DS:rmdir:GAUGE:600:0:U',
'DS:rename:GAUGE:600:0:U',
'DS:readdirplus:GAUGE:600:0:U',
'DS:fsstat:GAUGE:600:0:U',
);
rrdtool_update($rrd_filename, $fields);
$tags = array('name' => 'nfsstats', 'app_id' => $app['app_id']);
influx_update($device,'app',$tags,$fields);
$data = explode("\n", $nfsstats);
$fields = array(
'total' => $data[0],
'null' => $data[1],
'getattr' => $data[2],
'setattr' => $data[3],
'lookup' => $data[4],
'access' => $data[5],
'read' => $data[6],
'write' => $data[7],
'create' => $data[8],
'mkdir' => $data[9],
'remove' => $data[10],
'rmdir' => $data[11],
'rename' => $data[12],
'readdirplus' => $data[13],
'fsstat' => $data[14],
);
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);

View File

@@ -646,7 +646,7 @@ foreach ($ports as $port) {
$fields['ifInOctets_rate'] = $port['ifInOctets_rate'];
$fields['ifOutOctets_rate'] = $port['ifOutOctets_rate'];
influx_update($device,'ports',$tags,$fields);
influx_update($device, 'ports', rrd_array_filter($tags), $fields);
// End Update IF-MIB
// Update PAgP