Apply fixes from StyleCI (#12121)

This commit is contained in:
Jellyfrog 2020-09-21 15:43:38 +02:00 committed by GitHub
parent 82f43cb98d
commit 2fc3a21211
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
338 changed files with 2895 additions and 2969 deletions

View File

@ -83,7 +83,7 @@ if (bill_permitted($bill_id)) {
}
echo '</div></div>';
}//end print_port_list ?>
}//end print_port_list?>
<h2><?php echo "Bill: ${bill_data['bill_name']}"; ?></h2>
@ -197,7 +197,7 @@ if (bill_permitted($bill_id)) {
</td>
<?php
}//end if ?>
}//end if?>
</tr>
</table>
</div>

View File

@ -30,7 +30,7 @@ $.ajax({
</script>
';
}
}//end if ?>
}//end if?>
<div class="panel panel-default panel-condensed">
<div class="panel-heading">

View File

@ -1,6 +1,6 @@
<?php
$app_rows = dbFetchRows('SELECT * FROM `applications` WHERE `device_id` = ?', array($device['device_id']));
$app_rows = dbFetchRows('SELECT * FROM `applications` WHERE `device_id` = ?', [$device['device_id']]);
if (count($app_rows) > 0) {
foreach ($app_rows as $app) {
@ -8,7 +8,7 @@ if (count($app_rows) > 0) {
if (is_file($app_include)) {
include $app_include;
} else {
echo $app['app_type'].' include missing! ';
echo $app['app_type'] . ' include missing! ';
}
}
echo "\n";

View File

@ -5,22 +5,22 @@ use LibreNMS\RRD\RrdDefinition;
$name = 'apache';
$app_id = $app['app_id'];
if (!empty($agent_data['app'][$name])) {
if (! empty($agent_data['app'][$name])) {
$apache = $agent_data['app'][$name];
} else {
$options = '-Oqv';
$oid = '.1.3.6.1.4.1.8072.1.3.2.3.1.2.6.97.112.97.99.104.101';
$apache = snmp_get($device, $oid, $options);
$oid = '.1.3.6.1.4.1.8072.1.3.2.3.1.2.6.97.112.97.99.104.101';
$apache = snmp_get($device, $oid, $options);
}
echo ' apache';
list ($total_access, $total_kbyte, $cpuload, $uptime, $reqpersec, $bytespersec,
[$total_access, $total_kbyte, $cpuload, $uptime, $reqpersec, $bytespersec,
$bytesperreq, $busyworkers, $idleworkers, $score_wait, $score_start,
$score_reading, $score_writing, $score_keepalive, $score_dns,
$score_closing, $score_logging, $score_graceful, $score_idle, $score_open) = explode("\n", $apache);
$score_closing, $score_logging, $score_graceful, $score_idle, $score_open] = explode("\n", $apache);
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('access', 'DERIVE', 0, 125000000000)
->addDataset('kbyte', 'DERIVE', 0, 125000000000)
@ -43,28 +43,28 @@ $rrd_def = RrdDefinition::make()
->addDataset('sb_idle', 'GAUGE', 0, 125000000000)
->addDataset('sb_open', 'GAUGE', 0, 125000000000);
$fields = array(
'access' => intval(trim($total_access, '"')),
'kbyte' => $total_kbyte,
'cpu' => $cpuload,
'uptime' => $uptime,
'reqpersec' => $reqpersec,
'bytespersec' => $bytespersec,
'byesperreq' => $bytesperreq,
'busyworkers' => $busyworkers,
'idleworkers' => $idleworkers,
'sb_wait' => $score_wait,
'sb_start' => $score_start,
'sb_reading' => $score_reading,
'sb_writing' => $score_writing,
'sb_keepalive' => $score_keepalive,
'sb_dns' => $score_dns,
'sb_closing' => $score_closing,
'sb_logging' => $score_logging,
'sb_graceful' => $score_graceful,
'sb_idle' => $score_idle,
'sb_open' => intval(trim($score_open, '"')),
);
$fields = [
'access' => intval(trim($total_access, '"')),
'kbyte' => $total_kbyte,
'cpu' => $cpuload,
'uptime' => $uptime,
'reqpersec' => $reqpersec,
'bytespersec' => $bytespersec,
'byesperreq' => $bytesperreq,
'busyworkers' => $busyworkers,
'idleworkers' => $idleworkers,
'sb_wait' => $score_wait,
'sb_start' => $score_start,
'sb_reading' => $score_reading,
'sb_writing' => $score_writing,
'sb_keepalive' => $score_keepalive,
'sb_dns' => $score_dns,
'sb_closing' => $score_closing,
'sb_logging' => $score_logging,
'sb_graceful' => $score_graceful,
'sb_idle' => $score_idle,
'sb_open' => intval(trim($score_open, '"')),
];
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);

View File

@ -7,27 +7,27 @@ $app_id = $app['app_id'];
echo "$name, app_id=$app_id ";
if (!empty($agent_data[$name])) {
if (! empty($agent_data[$name])) {
$rawdata = $agent_data[$name];
} else {
$options = '-Oqv';
$oid = '.1.3.6.1.4.1.8072.1.3.2.4.1.2.8.97.115.116.101.114.105.115.107';
$rawdata = snmp_walk($device, $oid, $options);
$rawdata = str_replace("<<<asterisk>>>\n", '', $rawdata);
$rawdata = str_replace("<<<asterisk>>>\n", '', $rawdata);
}
# Format Data
// Format Data
$lines = explode("\n", $rawdata);
$asterisk = array();
$asterisk_metrics = array();
$asterisk = [];
$asterisk_metrics = [];
foreach ($lines as $line) {
list($var,$value) = explode('=', $line);
[$var,$value] = explode('=', $line);
$asterisk[$var] = $value;
}
unset($lines);
# Asterisk stats
$rrd_name = array('app', $name, 'stats', $app_id);
// Asterisk stats
$rrd_name = ['app', $name, 'stats', $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('calls', 'GAUGE', 0, 10000)
->addDataset('channels', 'GAUGE', 0, 20000)
@ -37,15 +37,15 @@ $rrd_def = RrdDefinition::make()
->addDataset('sipunmononline', 'GAUGE', 0, 10000)
->addDataset('sipunmonoffline', 'GAUGE', 0, 10000);
$sip_fields = array(
$sip_fields = [
'calls' => $asterisk['Calls'],
'channels' => $asterisk['Channels'],
'sippeers' => $asterisk['SipPeers'],
'sipmononline' => $asterisk['SipMonOnline'],
'sipmonoffline' => $asterisk['SipMonOffline'],
'sipunmononline' => $asterisk['SipUnMonOnline'],
'sipunmonoffline' => $asterisk['SipUnMonOffline']
);
'sipunmonoffline' => $asterisk['SipUnMonOffline'],
];
$asterisk_metrics['stats'] = $sip_fields;
$sip_tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
@ -53,20 +53,20 @@ data_update($device, 'app', $sip_tags, $sip_fields);
unset($rrd_name, $rrd_def, $sip_fields, $sip_tags);
# Additional iax2 stats
$rrd_name = array('app', $name, 'iax2', $app_id);
// Additional iax2 stats
$rrd_name = ['app', $name, 'iax2', $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('iax2peers', 'GAUGE', 0, 10000)
->addDataset('iax2online', 'GAUGE', 0, 10000)
->addDataset('iax2offline', 'GAUGE', 0, 10000)
->addDataset('iax2unmonitored', 'GAUGE', 0, 10000);
$iax2_fields = array(
$iax2_fields = [
'iax2peers' => $asterisk['Iax2Peers'],
'iax2online' => $asterisk['Iax2Online'],
'iax2offline' => $asterisk['Iax2Offline'],
'iax2unmonitored' => $asterisk['Iax2Unmonitored']
);
'iax2unmonitored' => $asterisk['Iax2Unmonitored'],
];
$asterisk_metrics['iax2'] = $iax2_fields;
$iax2_tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');

View File

@ -12,33 +12,34 @@ try {
} catch (JsonAppMissingKeysException $e) {
$backupninja_data = $e->getParsedJson();
} catch (JsonAppException $e) {
echo PHP_EOL . $name . ':' .$e->getCode().':'. $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode().':'.$e->getMessage(), []); // Set empty metrics and error message
echo PHP_EOL . $name . ':' . $e->getCode() . ':' . $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode() . ':' . $e->getMessage(), []); // Set empty metrics and error message
return;
}
$metrics = array();
$metrics = [];
$category = 'overview';
$rrd_name = array('app', $name, $app_id, $category);
$rrd_name = ['app', $name, $app_id, $category];
$rrd_def = RrdDefinition::make()
->addDataset('last_actions', 'GAUGE', 0)
->addDataset('last_fatal', 'GAUGE', 0)
->addDataset('last_error', 'GAUGE', 0)
->addDataset('last_warning', 'GAUGE', 0);
$fields = array(
$fields = [
'last_actions' => $backupninja_data['last_actions'],
'last_fatal' => $backupninja_data['last_fatal'],
'last_error' => $backupninja_data['last_error'],
'last_warning' => $backupninja_data['last_warning'],
);
];
$metrics[$category] = $fields;
// Debug
d_echo("backupninja : $fields");
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
update_application($app, $output, $metrics);

View File

@ -7,26 +7,26 @@ $app_id = $app['app_id'];
echo " $name";
if (!empty($agent_data['app'][$name])) {
if (! empty($agent_data['app'][$name])) {
$bind = $agent_data['app'][$name];
} else {
$options = '-Oqv';
$mib = 'NET-SNMP-EXTEND-MIB';
$oid = 'nsExtendOutputFull.4.98.105.110.100';
$bind = snmp_get($device, $oid, $options, $mib);
$mib = 'NET-SNMP-EXTEND-MIB';
$oid = 'nsExtendOutputFull.4.98.105.110.100';
$bind = snmp_get($device, $oid, $options, $mib);
}
list ($incoming, $outgoing, $server, $resolver, $cache, $rrsets, $adb, $sockets) = explode("\n", $bind);
[$incoming, $outgoing, $server, $resolver, $cache, $rrsets, $adb, $sockets] = explode("\n", $bind);
//
// INCOMING PROCESSING
//
list ($a, $aaaa, $afsdb, $apl, $caa, $cdnskey, $cds, $cert, $cname, $dhcid, $dlv, $dnskey, $ds, $ipseckey, $key, $kx,
[$a, $aaaa, $afsdb, $apl, $caa, $cdnskey, $cds, $cert, $cname, $dhcid, $dlv, $dnskey, $ds, $ipseckey, $key, $kx,
$loc, $mx, $naptr, $ns, $nsec, $nsec3, $nsec3param, $ptr, $rrsig, $rp, $sig, $soa, $srv, $sshfp, $ta, $tkey, $tlsa,
$tsig, $txt, $uri, $dname, $any, $axfr, $ixfr, $opt, $spf) = explode(',', $incoming);
$tsig, $txt, $uri, $dname, $any, $axfr, $ixfr, $opt, $spf] = explode(',', $incoming);
$metrics = array();
$rrd_name = array('app', $name, $app_id);
$metrics = [];
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('any', 'DERIVE', 0)
->addDataset('a', 'DERIVE', 0)
@ -39,7 +39,7 @@ $rrd_def = RrdDefinition::make()
->addDataset('srv', 'DERIVE', 0)
->addDataset('spf', 'DERIVE', 0);
$fields = array(
$fields = [
'any' => $any,
'a' => $a,
'aaaa' => $aaaa,
@ -50,13 +50,13 @@ $fields = array(
'soa' => $soa,
'srv' => $srv,
'spf' => $spf,
);
];
$metrics['queries'] = $fields;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
$rrd_name = array('app', $name, $app_id, 'incoming');
$rrd_name = ['app', $name, $app_id, 'incoming'];
$rrd_def = RrdDefinition::make()
->addDataset('afsdb', 'DERIVE', 0)
->addDataset('apl', 'DERIVE', 0)
@ -91,7 +91,7 @@ $rrd_def = RrdDefinition::make()
->addDataset('ixfr', 'DERIVE', 0)
->addDataset('opt', 'DERIVE', 0);
$fields = array(
$fields = [
'afsdb' => $afsdb,
'apl' => $apl,
'caa' => $caa,
@ -124,20 +124,20 @@ $fields = array(
'axfr' => $axfr,
'ixfr' => $ixfr,
'opt' => $opt,
);
];
$metrics['incoming'] = $fields;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
//
// OUTGOING PROCESSING
//
list ($a, $aaaa, $afsdb, $apl, $caa, $cdnskey, $cds, $cert, $cname, $dhcid, $dlv, $dnskey, $ds, $ipseckey, $key, $kx,
[$a, $aaaa, $afsdb, $apl, $caa, $cdnskey, $cds, $cert, $cname, $dhcid, $dlv, $dnskey, $ds, $ipseckey, $key, $kx,
$loc, $mx, $naptr, $ns, $nsec, $nsec3, $nsec3param, $ptr, $rrsig, $rp, $sig, $soa, $srv, $sshfp, $ta, $tkey, $tlsa,
$tsig, $txt, $uri, $dname, $any, $axfr, $ixfr, $opt, $spf) = explode(',', $outgoing);
$tsig, $txt, $uri, $dname, $any, $axfr, $ixfr, $opt, $spf] = explode(',', $outgoing);
$rrd_name = array('app', $name, $app_id, 'outgoing');
$rrd_name = ['app', $name, $app_id, 'outgoing'];
$rrd_def = RrdDefinition::make()
->addDataset('any', 'DERIVE', 0)
->addDataset('a', 'DERIVE', 0)
@ -182,7 +182,7 @@ $rrd_def = RrdDefinition::make()
->addDataset('ixfr', 'DERIVE', 0)
->addDataset('opt', 'DERIVE', 0);
$fields = array(
$fields = [
'any' => $any,
'a' => $a,
'aaaa' => $aaaa,
@ -225,19 +225,19 @@ $fields = array(
'axfr' => $axfr,
'ixfr' => $ixfr,
'opt' => $opt,
);
];
$metrics['outgoing'] = $fields;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
//
// SERVER PROCESSING
//
list ($i4rr, $i6rr, $rwer, $trr, $aqr, $rqr, $rs, $trs, $rwes, $qrisa, $qriaa, $qrinaa, $qrin, $qris, $qrind,
$qcr, $dqr, $oqf, $uqr, $tqr, $oeor, $qd) = explode(',', $server);
[$i4rr, $i6rr, $rwer, $trr, $aqr, $rqr, $rs, $trs, $rwes, $qrisa, $qriaa, $qrinaa, $qrin, $qris, $qrind,
$qcr, $dqr, $oqf, $uqr, $tqr, $oeor, $qd] = explode(',', $server);
$rrd_name = array('app', $name, $app_id, 'server');
$rrd_name = ['app', $name, $app_id, 'server'];
$rrd_def = RrdDefinition::make()
->addDataset('i4rr', 'DERIVE', 0)
->addDataset('i6rr', 'DERIVE', 0)
@ -262,7 +262,7 @@ $rrd_def = RrdDefinition::make()
->addDataset('oeor', 'DERIVE', 0)
->addDataset('qd', 'DERIVE', 0);
$fields = array(
$fields = [
'i4rr' => $i4rr,
'i6rr' => $i6rr,
'rwer' => $rwer,
@ -285,20 +285,20 @@ $fields = array(
'tqr' => $tqr,
'oeor' => $oeor,
'qd' => $qd,
);
];
$metrics['server'] = $fields;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
//
// RESOLVER PROCESSING
//
list ($i4qs, $i6qs, $i4rr, $i6rr, $nr, $sr, $fr, $eqf, $trr, $ldr, $qr, $qt, $i4naf, $i6naf,
[$i4qs, $i6qs, $i4rr, $i6rr, $nr, $sr, $fr, $eqf, $trr, $ldr, $qr, $qt, $i4naf, $i6naf,
$i4naff, $i6naff, $rttl10, $rtt10t100, $rtt100t500, $rtt500t800, $rtt800t1600, $rttg1600,
$bs, $rr) = explode(',', $resolver);
$bs, $rr] = explode(',', $resolver);
$rrd_name = array('app', $name, $app_id, 'resolver');
$rrd_name = ['app', $name, $app_id, 'resolver'];
$rrd_def = RrdDefinition::make()
->addDataset('i4qs', 'DERIVE', 0)
->addDataset('i6qs', 'DERIVE', 0)
@ -325,8 +325,7 @@ $rrd_def = RrdDefinition::make()
->addDataset('bs', 'GAUGE', 0)
->addDataset('rr', 'DERIVE', 0);
$fields = array(
$fields = [
'i4qs' => $i4qs,
'i6qs' => $i6qs,
'i4rr' => $i4rr,
@ -351,19 +350,19 @@ $fields = array(
'rttg1600' => $rttg1600,
'bs' => $bs,
'rr' => $rr,
);
];
$metrics['resolver'] = $fields;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
//
// CACHE PROCESSING
//
list ($ch, $cm, $chfq, $cmfq, $crddtme, $crddtte, $cdn, $cdhb, $ctmt, $ctmiu, $cthmiu,
$chmt, $chmiu, $chhmiu) = explode(',', $cache);
[$ch, $cm, $chfq, $cmfq, $crddtme, $crddtte, $cdn, $cdhb, $ctmt, $ctmiu, $cthmiu,
$chmt, $chmiu, $chhmiu] = explode(',', $cache);
$rrd_name = array('app', $name, $app_id, 'cache');
$rrd_name = ['app', $name, $app_id, 'cache'];
$rrd_def = RrdDefinition::make()
->addDataset('ch', 'DERIVE', 0)
->addDataset('cm', 'DERIVE', 0)
@ -380,7 +379,7 @@ $rrd_def = RrdDefinition::make()
->addDataset('chmiu', 'GAUGE', 0)
->addDataset('chhmiu', 'GAUGE', 0);
$fields = array(
$fields = [
'ch' => $ch,
'cm' => $cm,
'chfq' => $chfq,
@ -395,7 +394,7 @@ $fields = array(
'chmt' => $chmt,
'chmiu' => $chmiu,
'chhmiu' => $chhmiu,
);
];
$metrics['cache'] = $fields;
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
@ -404,34 +403,34 @@ data_update($device, 'app', $tags, $fields);
//
// ADB PROCESSING
//
list ($ahts, $aiht, $nhts, $niht) = explode(',', $adb);
[$ahts, $aiht, $nhts, $niht] = explode(',', $adb);
$rrd_name = array('app', $name, $app_id, 'adb');
$rrd_name = ['app', $name, $app_id, 'adb'];
$rrd_def = RrdDefinition::make()
->addDataset('ahts', 'GAUGE', 0)
->addDataset('aiht', 'GAUGE', 0)
->addDataset('nhts', 'GAUGE', 0)
->addDataset('niht', 'GAUGE', 0);
$fields = array(
$fields = [
'ahts' => $ahts,
'aiht' => $aiht,
'nhts' => $nhts,
'niht' => $niht
);
'niht' => $niht,
];
$metrics['adb'] = $fields;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
//
// SOCKETS PROCESSING
//
list ($ui4so, $ui6so, $ti4so, $ti6so, $rso, $ui4sc, $ui6sc, $ti4sc, $ti6sc, $ui4sbf, $ti4sbf, $ui6sbf, $ti6sbf,
[$ui4so, $ui6so, $ti4so, $ti6so, $rso, $ui4sc, $ui6sc, $ti4sc, $ti6sc, $ui4sbf, $ti4sbf, $ui6sbf, $ti6sbf,
$ui4scf, $ti4scf, $ui6scf, $ti6scf, $ui4ce, $ti4ce, $ui6ce, $ti6ce, $ti4ca, $ti6ca, $ui4se, $ti4se, $ui6se,
$ti6se, $ui4re, $ti4re, $ui6re, $ti6re, $ui4sa, $ui6sa, $ti4sa, $ti6sa, $rsa) = explode(',', $sockets);
$ti6se, $ui4re, $ti4re, $ui6re, $ti6re, $ui4sa, $ui6sa, $ti4sa, $ti6sa, $rsa] = explode(',', $sockets);
$rrd_name = array('app', $name, $app_id, 'sockets');
$rrd_name = ['app', $name, $app_id, 'sockets'];
$rrd_def = RrdDefinition::make()
->addDataset('ui4so', 'DERIVE', 0)
->addDataset('ui6so', 'DERIVE', 0)
@ -470,8 +469,7 @@ $rrd_def = RrdDefinition::make()
->addDataset('ti6sa', 'GAUGE', 0)
->addDataset('rsa', 'GAUGE', 0);
$fields = array(
$fields = [
'ui4so' => $ui4so,
'ui6so' => $ui6so,
'ti4so' => $ti4so,
@ -508,22 +506,22 @@ $fields = array(
'ti4sa' => $ti4sa,
'ti6sa' => $ti6sa,
'rsa' => $ti6sa,
);
];
$metrics['sockets'] = $fields;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
//
// RR SETS PROCESSING
//
list ($a, $aaaa, $afsdb, $apl, $caa, $cdnskey, $cds, $cert, $cname, $dhcid, $dlv, $dnskey, $ds, $ipseckey, $key, $kx,
[$a, $aaaa, $afsdb, $apl, $caa, $cdnskey, $cds, $cert, $cname, $dhcid, $dlv, $dnskey, $ds, $ipseckey, $key, $kx,
$loc, $mx, $naptr, $ns, $nsec, $nsec3, $nsec3param, $ptr, $rrsig, $rp, $sig, $soa, $srv, $sshfp, $ta, $tkey, $tlsa,
$tsig, $txt, $uri, $dname, $nxdomain, $any, $axfr, $ixfr, $opt, $spf, $nota, $notaaaa, $notafsdb, $notapl, $notcaa, $notcdnskey,
$notcds, $notcert, $notcname, $notdhcid, $notdlv, $notdnskey, $notds, $notipseckey, $notkey, $notkx, $notloc, $notmx,
$notnaptr, $notns, $notnsec, $notnsec3, $notnsec3param, $notptr, $notrrsig, $notrp, $notsig, $notsoa, $notsrv,
$notsshfp, $notta, $nottkey, $nottlsa, $nottsig, $nottxt, $noturi, $notdname, $notnxdomain, $notany, $notaxfr, $notixfr, $notopt,
$notspf) = explode(',', $rrsets);
$notspf] = explode(',', $rrsets);
$rrd_def = RrdDefinition::make()
->addDataset('any', 'GAUGE', 0)
@ -571,9 +569,9 @@ $rrd_def = RrdDefinition::make()
->addDataset('opt', 'GAUGE', 0);
//first handle the positive
$rrd_name = array('app', $name, $app_id, 'rrpositive');
$rrd_name = ['app', $name, $app_id, 'rrpositive'];
$fields = array(
$fields = [
'any' => $any,
'a' => $a,
'aaaa' => $aaaa,
@ -617,16 +615,16 @@ $fields = array(
'axfr' => $axfr,
'ixfr' => $ixfr,
'opt' => $opt,
);
];
$metrics['rrpositive'] = $fields;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
// now handle the negative
$rrd_name = array('app', $name, $app_id, 'rrnegative');
$rrd_name = ['app', $name, $app_id, 'rrnegative'];
$fields = array(
$fields = [
'any' => $notany,
'a' => $nota,
'aaaa' => $notaaaa,
@ -670,9 +668,9 @@ $fields = array(
'axfr' => $notaxfr,
'ixfr' => $notixfr,
'opt' => $notopt,
);
];
$metrics['rrnegative'] = $fields;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
update_application($app, $bind, $metrics);

View File

@ -3,16 +3,16 @@
use LibreNMS\RRD\RrdDefinition;
$name = 'ceph';
if (!empty($agent_data['app'][$name])) {
if (! empty($agent_data['app'][$name])) {
$ceph_data = $agent_data['app'][$name];
$app_id = $app['app_id'];
$metrics = array();
$metrics = [];
foreach (explode('<', $ceph_data) as $section) {
if (empty($section)) {
continue;
}
list($section, $data) = explode('>', $section);
[$section, $data] = explode('>', $section);
if ($section == "poolstats") {
$rrd_def = RrdDefinition::make()
@ -24,15 +24,15 @@ if (!empty($agent_data['app'][$name])) {
if (empty($line)) {
continue;
}
list($pool,$ops,$wrbytes,$rbytes) = explode(':', $line);
$rrd_name = array('app', $name, $app_id, 'pool', $pool);
[$pool,$ops,$wrbytes,$rbytes] = explode(':', $line);
$rrd_name = ['app', $name, $app_id, 'pool', $pool];
print "Ceph Pool: $pool, IOPS: $ops, Wr bytes: $wrbytes, R bytes: $rbytes\n";
$fields = array(
echo "Ceph Pool: $pool, IOPS: $ops, Wr bytes: $wrbytes, R bytes: $rbytes\n";
$fields = [
'ops' => $ops,
'wrbytes' => $wrbytes,
'rbytes' => $rbytes
);
'rbytes' => $rbytes,
];
$metrics["pool_$pool"] = $fields;
$tags = compact('name', 'app_id', 'pool', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);
@ -46,14 +46,14 @@ if (!empty($agent_data['app'][$name])) {
if (empty($line)) {
continue;
}
list($osd,$apply,$commit) = explode(':', $line);
$rrd_name = array('app', $name, $app_id, 'osd', $osd);
[$osd,$apply,$commit] = explode(':', $line);
$rrd_name = ['app', $name, $app_id, 'osd', $osd];
print "Ceph OSD: $osd, Apply: $apply, Commit: $commit\n";
$fields = array(
echo "Ceph OSD: $osd, Apply: $apply, Commit: $commit\n";
$fields = [
'apply_ms' => $apply,
'commit_ms' => $commit
);
'commit_ms' => $commit,
];
$metrics["osd_$osd"] = $fields;
$tags = compact('name', 'app_id', 'osd', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);
@ -68,15 +68,15 @@ if (!empty($agent_data['app'][$name])) {
if (empty($line)) {
continue;
}
list($df,$avail,$used,$objects) = explode(':', $line);
$rrd_name = array('app', $name, $app_id, 'df', $df);
[$df,$avail,$used,$objects] = explode(':', $line);
$rrd_name = ['app', $name, $app_id, 'df', $df];
print "Ceph Pool DF: $df, Avail: $avail, Used: $used, Objects: $objects\n";
$fields = array(
echo "Ceph Pool DF: $df, Avail: $avail, Used: $used, Objects: $objects\n";
$fields = [
'avail' => $avail,
'used' => $used,
'objects' => $objects
);
'objects' => $objects,
];
$metrics["df_$df"] = $fields;
$tags = compact('name', 'app_id', 'df', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);

View File

@ -1,6 +1,7 @@
<?php
use LibreNMS\Exceptions\JsonAppMissingKeysException;
use LibreNMS\Exceptions\JsonAppException;
use LibreNMS\Exceptions\JsonAppMissingKeysException;
use LibreNMS\RRD\RrdDefinition;
$name = 'certificate';
@ -12,31 +13,32 @@ try {
} catch (JsonAppMissingKeysException $e) {
$certificate_data = $e->getParsedJson();
} catch (JsonAppException $e) {
echo PHP_EOL . $name . ':' .$e->getCode().':'. $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode().':'.$e->getMessage(), []); // Set empty metrics and error message
echo PHP_EOL . $name . ':' . $e->getCode() . ':' . $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode() . ':' . $e->getMessage(), []); // Set empty metrics and error message
return;
}
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('age', 'GAUGE', 0)
->addDataset('remaining_days', 'GAUGE', 0);
$metrics = array();
$metrics = [];
foreach ($certificate_data as $data) {
$cert_name = $data['cert_name'];
$age = $data['age'];
$remaining_days = $data['remaining_days'];
$rrd_name = array('app', $name, $app_id, $cert_name);
$rrd_name = ['app', $name, $app_id, $cert_name];
$fields = array(
$fields = [
'age' => $age,
'remaining_days' => $remaining_days
);
'remaining_days' => $remaining_days,
];
$metrics[$cert_name] = $fields;
$tags = array('name' => $cert_name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $cert_name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
}

View File

@ -1,15 +1,15 @@
<?php
use LibreNMS\Exceptions\JsonAppMissingKeysException;
use LibreNMS\Exceptions\JsonAppException;
use LibreNMS\Exceptions\JsonAppMissingKeysException;
use LibreNMS\RRD\RrdDefinition;
$snmp_extend_name = 'dhcpstats';
$name = 'dhcp-stats';
$app_id = $app['app_id'];
$options = '-Oqv';
$mib = 'NET-SNMP-EXTEND-MIB';
$oid = '.1.3.6.1.4.1.8072.1.3.2.4.1.2.9.100.104.99.112.115.116.97.116.115';
$options = '-Oqv';
$mib = 'NET-SNMP-EXTEND-MIB';
$oid = '.1.3.6.1.4.1.8072.1.3.2.4.1.2.9.100.104.99.112.115.116.97.116.115';
$version = 1;
$output = 'OK';
@ -35,25 +35,25 @@ if ($version == 1) {
$output = 'UNSUPPORTED';
}
$metrics = array();
$metrics = [];
$category = 'stats';
if (intval($version) == 1) {
list($dhcp_total, $dhcp_active, $dhcp_expired, $dhcp_released, $dhcp_abandoned, $dhcp_reset, $dhcp_bootp, $dhcp_backup, $dhcp_free) = explode("\n", $dhcpstats);
[$dhcp_total, $dhcp_active, $dhcp_expired, $dhcp_released, $dhcp_abandoned, $dhcp_reset, $dhcp_bootp, $dhcp_backup, $dhcp_free] = explode("\n", $dhcpstats);
} elseif ($version == 2) {
$lease_data = $dhcpstats['leases'];
$dhcp_total = $lease_data['total'];
$dhcp_active = $lease_data['active'];
$dhcp_expired = $lease_data['expired'];
$dhcp_released = $lease_data['released'];
$dhcp_total = $lease_data['total'];
$dhcp_active = $lease_data['active'];
$dhcp_expired = $lease_data['expired'];
$dhcp_released = $lease_data['released'];
$dhcp_abandoned = $lease_data['abandoned'];
$dhcp_reset = $lease_data['reset'];
$dhcp_bootp = $lease_data['bootp'];
$dhcp_backup = $lease_data['backup'];
$dhcp_free = $lease_data['free'];
$dhcp_reset = $lease_data['reset'];
$dhcp_bootp = $lease_data['bootp'];
$dhcp_backup = $lease_data['backup'];
$dhcp_free = $lease_data['free'];
}
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('dhcp_total', 'GAUGE', 0)
->addDataset('dhcp_active', 'GAUGE', 0)
@ -65,7 +65,7 @@ $rrd_def = RrdDefinition::make()
->addDataset('dhcp_backup', 'GAUGE', 0)
->addDataset('dhcp_free', 'GAUGE', 0);
$fields = array(
$fields = [
'dhcp_total' => $dhcp_total,
'dhcp_active' => $dhcp_active,
'dhcp_expired' => $dhcp_expired,
@ -75,10 +75,10 @@ $fields = array(
'dhcp_bootp' => $dhcp_bootp,
'dhcp_backup' => $dhcp_backup,
'dhcp_free' => $dhcp_free,
);
];
$metrics[$name . '_' . $category] = $fields;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
if ($version == 2) {
@ -91,21 +91,21 @@ if ($version == 2) {
->addDataset('percent', 'GAUGE', 0);
foreach ($pool_data as $data) {
$dhcp_pool_name = $data['first_ip'].'_-_'.$data['last_ip'];
$dhcp_current = $data['cur'];
$dhcp_max = $data['max'];
$dhcp_percent = $data['percent'];
$dhcp_pool_name = $data['first_ip'] . '_-_' . $data['last_ip'];
$dhcp_current = $data['cur'];
$dhcp_max = $data['max'];
$dhcp_percent = $data['percent'];
$rrd_name = array('app', $name, $app_id, $category, $dhcp_pool_name);
$rrd_name = ['app', $name, $app_id, $category, $dhcp_pool_name];
$fields = array(
$fields = [
'current' => $dhcp_current,
'max' => $dhcp_max,
'percent' => $dhcp_percent,
);
];
$metrics[$dhcp_pool_name.'_'.$category] = $fields;
$tags = array('name' => $dhcp_pool_name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$metrics[$dhcp_pool_name . '_' . $category] = $fields;
$tags = ['name' => $dhcp_pool_name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
}
@ -119,20 +119,20 @@ if ($version == 2) {
foreach ($network_data as $data) {
$dhcp_network_name = str_replace('/', '_', $data['network']);
$dhcp_current = $data['cur'];
$dhcp_max = $data['max'];
$dhcp_percent = $data['percent'] == 'nan' ? '0' : $data['percent'];
$dhcp_current = $data['cur'];
$dhcp_max = $data['max'];
$dhcp_percent = $data['percent'] == 'nan' ? '0' : $data['percent'];
$rrd_name = array('app', $name, $app_id, $category, $dhcp_network_name);
$rrd_name = ['app', $name, $app_id, $category, $dhcp_network_name];
$fields = array(
$fields = [
'current' => $dhcp_current,
'max' => $dhcp_max,
'percent' => $dhcp_percent,
);
];
$metrics[$dhcp_network_name.'_'.$category] = $fields;
$tags = array('name' => $dhcp_network_name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$metrics[$dhcp_network_name . '_' . $category] = $fields;
$tags = ['name' => $dhcp_network_name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
}
}

View File

@ -7,13 +7,13 @@ $app_instance = $app['app_instance'];
$app_id = $app['app_id'];
$drbd_data = $agent_data['app'][$name][$app_instance];
foreach (explode('|', $drbd_data) as $part) {
list($stat, $val) = explode('=', $part);
if (!empty($stat)) {
[$stat, $val] = explode('=', $part);
if (! empty($stat)) {
$drbd[$stat] = $val;
}
}
$rrd_name = array('app', $name, $app_instance);
$rrd_name = ['app', $name, $app_instance];
$rrd_def = RrdDefinition::make()
->addDataset('ns', 'DERIVE', 0, 125000000000)
->addDataset('nr', 'DERIVE', 0, 125000000000)
@ -27,8 +27,7 @@ $rrd_def = RrdDefinition::make()
->addDataset('ap', 'GAUGE', 0, 125000000000)
->addDataset('oos', 'GAUGE', 0, 125000000000);
$fields = array(
$fields = [
'ns' => $drbd['ns'],
'nr' => $drbd['nr'],
'dw' => $drbd['dw'],
@ -40,9 +39,9 @@ $fields = array(
'ua' => $drbd['ua'],
'ap' => $drbd['ap'],
'oos' => $drbd['oos'],
);
];
$tags = array('name', 'app_id', 'rrd_name', 'rrd_def');
$tags = ['name', 'app_id', 'rrd_name', 'rrd_def'];
data_update($device, 'app', $tags, $fields);
update_application($app, $drbd_data, $fields);

View File

@ -1,4 +1,5 @@
<?php
use LibreNMS\RRD\RrdDefinition;
$name = 'entropy';
@ -7,13 +8,13 @@ $options = '-Oqv';
$mib = 'NET-SNMP-EXTEND-MIB';
$oid = '.1.3.6.1.4.1.8072.1.3.2.4.1.2.7.101.110.116.114.111.112.121.1';
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()->addDataset('entropy', 'GAUGE', 0);
$entropy_avail = snmp_get($device, $oid, $options, $mib);
$fields = array('entropy' => $entropy_avail,);
$fields = ['entropy' => $entropy_avail];
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
update_application($app, $entropy_avail, $fields, $entropy_avail);

View File

@ -27,19 +27,19 @@ $app_id = $app['app_id'];
$oid = '.1.3.6.1.4.1.8072.1.3.2.3.1.2.10.101.120.105.109.45.115.116.97.116.115';
$stats = snmp_get($device, $oid, '-Oqv');
echo ' '.$name;
echo ' ' . $name;
list ($frozen, $queue) = explode("\n", $stats);
[$frozen, $queue] = explode("\n", $stats);
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('frozen', 'GAUGE', 0)
->addDataset('queue', 'GAUGE', 0);
$fields = array(
$fields = [
'frozen' => intval(trim($frozen, '"')),
'queue' => intval(trim($queue, '"'))
);
'queue' => intval(trim($queue, '"')),
];
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);

View File

@ -17,19 +17,20 @@ try {
$f2b = [
'data' => [
'total' => array_shift($legacy), // total was first line in legacy app
'jails' => []
]
'jails' => [],
],
];
foreach ($legacy as $jail_data) {
list($jail, $banned) = explode(" ", $jail_data);
[$jail, $banned] = explode(" ", $jail_data);
if (isset($jail) && isset($banned)) {
$f2b['data']['jails'][$jail] = $banned;
}
}
} catch (JsonAppException $e) {
echo PHP_EOL . $name . ':' .$e->getCode().':'. $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode().':'.$e->getMessage(), []); // Set empty metrics and error message
echo PHP_EOL . $name . ':' . $e->getCode() . ':' . $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode() . ':' . $e->getMessage(), []); // Set empty metrics and error message
return;
}
@ -37,26 +38,25 @@ $f2b = $f2b['data'];
$metrics = [];
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('banned', 'GAUGE', 0)
->addDataset('firewalled', 'GAUGE', 0);
$fields = ['banned' => $f2b['total']];
$metrics['total'] = $fields; // don't include legacy ds in db
$fields['firewalled'] = 'U'; // legacy ds
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
foreach ($f2b['jails'] as $jail => $banned) {
$rrd_name = array('app', $name, $app_id, $jail);
$rrd_name = ['app', $name, $app_id, $jail];
$rrd_def = RrdDefinition::make()->addDataset('banned', 'GAUGE', 0);
$fields = array('banned' => $banned);
$fields = ['banned' => $banned];
$metrics["jail_$jail"] = $fields;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
}
@ -67,11 +67,11 @@ update_application($app, 'ok', $metrics);
//
$device_id = $device['device_id'];
$options=array(
'filter' => array(
'type' => array('=', 'fail2ban'),
),
);
$options = [
'filter' => [
'type' => ['=', 'fail2ban'],
],
];
$component = new LibreNMS\Component();
$f2b_components = $component->getComponents($device_id, $options);

View File

@ -1,6 +1,7 @@
<?php
use LibreNMS\Exceptions\JsonAppParsingFailedException;
use LibreNMS\Exceptions\JsonAppException;
use LibreNMS\Exceptions\JsonAppParsingFailedException;
use LibreNMS\RRD\RrdDefinition;
$name = 'fbsd-nfs-client';
@ -9,16 +10,16 @@ $app_id = $app['app_id'];
echo $name;
try {
$nfs=json_app_get($device, 'fbsdnfsclient', 0);
$nfs = json_app_get($device, 'fbsdnfsclient', 0);
} catch (JsonAppParsingFailedException $e) {
// Legacy script, build compatible array
$legacy = $e->getOutput();
$nfs=array(
'data' => array(),
);
$nfs = [
'data' => [],
];
list($nfs['data']['Getattr'], $nfs['data']['Setattr'], $nfs['data']['Lookup'], $nfs['data']['Readlink'],
[$nfs['data']['Getattr'], $nfs['data']['Setattr'], $nfs['data']['Lookup'], $nfs['data']['Readlink'],
$nfs['data']['Read'], $nfs['data']['Write'], $nfs['data']['Create'], $nfs['data']['Remove'], $nfs['data']['Rename'],
$nfs['data']['Link'], $nfs['data']['Symlink'], $nfs['data']['Mkdir'], $nfs['data']['Rmdir'], $nfs['data']['Readdir'],
$nfs['data']['RdirPlus'], $nfs['data']['Access'], $nfs['data']['Mknod'], $nfs['data']['Fsstat'], $nfs['data']['Fsinfo'],
@ -27,14 +28,15 @@ try {
$nfs['data']['LkupMisses'], $nfs['data']['BioRHits'], $nfs['data']['BioRMisses'], $nfs['data']['BioWHits'],
$nfs['data']['BioWMisses'], $nfs['data']['BioRLHits'], $nfs['data']['BioRLMisses'], $nfs['data']['BioDHits'],
$nfs['data']['BioDMisses'], $nfs['data']['DirEHits'], $nfs['data']['DirEMisses'], $nfs['data']['AccsHits'],
$nfs['data']['AccsMisses']) = explode("\n", $legacy);
$nfs['data']['AccsMisses']] = explode("\n", $legacy);
} catch (JsonAppException $e) {
echo PHP_EOL . $name . ':' .$e->getCode().':'. $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode().':'.$e->getMessage(), []); // Set empty metrics and error message
echo PHP_EOL . $name . ':' . $e->getCode() . ':' . $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode() . ':' . $e->getMessage(), []); // Set empty metrics and error message
return;
}
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('getattr', 'DERIVE', 0)
->addDataset('setattr', 'DERIVE', 0)
@ -79,7 +81,7 @@ $rrd_def = RrdDefinition::make()
->addDataset('accshits', 'DERIVE', 0)
->addDataset('accsmisses', 'DERIVE', 0);
$fields = array(
$fields = [
'getattr' => $nfs['data']['Getattr'],
'setattr' => $nfs['data']['Setattr'],
'lookup' => $nfs['data']['Lookup'],
@ -122,8 +124,8 @@ $fields = array(
'diremisses' => $nfs['data']['DirEMisses'],
'accshits' => $nfs['data']['AccsHits'],
'accsmisses' => $nfs['data']['AccsMisses'],
);
];
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
update_application($app, 'OK', $nfs['data']);

View File

@ -1,7 +1,7 @@
<?php
use LibreNMS\Exceptions\JsonAppParsingFailedException;
use LibreNMS\Exceptions\JsonAppException;
use LibreNMS\Exceptions\JsonAppParsingFailedException;
use LibreNMS\RRD\RrdDefinition;
$name = 'fbsd-nfs-server';
@ -10,29 +10,30 @@ $app_id = $app['app_id'];
echo $name;
try {
$nfs=json_app_get($device, 'fbsdnfsserver');
$nfs = json_app_get($device, 'fbsdnfsserver');
} catch (JsonAppParsingFailedException $e) {
// Legacy script, build compatible array
$legacy = $e->getOutput();
$nfs=array(
'data' => array(),
);
list($nfs['data']['Getattr'], $nfs['data']['Setattr'], $nfs['data']['Lookup'], $nfs['data']['Readlink'],
$nfs = [
'data' => [],
];
[$nfs['data']['Getattr'], $nfs['data']['Setattr'], $nfs['data']['Lookup'], $nfs['data']['Readlink'],
$nfs['data']['Read'], $nfs['data']['Write'], $nfs['data']['Create'], $nfs['data']['Remove'],
$nfs['data']['Rename'], $nfs['data']['Link'], $nfs['data']['Symlink'], $nfs['data']['Mkdir'],
$nfs['data']['Rmdir'], $nfs['data']['Readdir'], $nfs['data']['RdirPlus'], $nfs['data']['Access'],
$nfs['data']['Mknod'], $nfs['data']['Fsstat'], $nfs['data']['Fsinfo'], $nfs['data']['PathConf'],
$nfs['data']['Commit'], $nfs['data']['RetFailed'], $nfs['data']['Faults'], $nfs['data']['Inprog'],
$nfs['data']['Idem'], $nfs['data']['Nonidem'], $nfs['data']['Misses'], $nfs['data']['WriteOps'],
$nfs['data']['WriteRPC'], $nfs['data']['Opsaved']) = explode("\n", $legacy);
$nfs['data']['WriteRPC'], $nfs['data']['Opsaved']] = explode("\n", $legacy);
} catch (JsonAppException $e) {
echo PHP_EOL . $name . ':' .$e->getCode().':'. $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode().':'.$e->getMessage(), []); // Set empty metrics and error message
echo PHP_EOL . $name . ':' . $e->getCode() . ':' . $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode() . ':' . $e->getMessage(), []); // Set empty metrics and error message
return;
}
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('getattr', 'DERIVE', 0)
->addDataset('setattr', 'DERIVE', 0)
@ -65,7 +66,7 @@ $rrd_def = RrdDefinition::make()
->addDataset('writerpc', 'DERIVE', 0)
->addDataset('opsaved', 'DERIVE', 0);
$fields = array(
$fields = [
'getattr' => $nfs['data']['Getattr'],
'setattr' => $nfs['data']['Setattr'],
'lookup' => $nfs['data']['Lookup'],
@ -96,8 +97,8 @@ $fields = array(
'writeops' => $nfs['data']['WriteOps'],
'writerpc' => $nfs['data']['WriteRPC'],
'opsaved' => $nfs['data']['Opsaved'],
);
];
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
update_application($app, 'OK', $nfs['data']);

View File

@ -7,42 +7,42 @@ $app_id = $app['app_id'];
echo " $name";
if (!empty($agent_data['app'][$name])) {
if (! empty($agent_data['app'][$name])) {
$rawdata = $agent_data['app'][$name];
} else {
$options = '-Oqv';
$oid = '.1.3.6.1.4.1.8072.1.3.2.3.1.2.10.102.114.101.101.114.97.100.105.117.115';
$rawdata = snmp_get($device, $oid, $options);
$oid = '.1.3.6.1.4.1.8072.1.3.2.3.1.2.10.102.114.101.101.114.97.100.105.117.115';
$rawdata = snmp_get($device, $oid, $options);
}
#Format Data
//Format Data
$lines = explode("\n", $rawdata);
$freeradius = array();
$metrics = array();
$freeradius = [];
$metrics = [];
foreach ($lines as $line) {
list($var,$value) = explode(' = ', $line);
[$var,$value] = explode(' = ', $line);
$freeradius[$var] = $value;
}
#FreeRADIUS-Total-Access
$rrd_name = array('app', $name,'access',$app_id);
//FreeRADIUS-Total-Access
$rrd_name = ['app', $name, 'access', $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('requests', 'DERIVE', 0, 125000000000)
->addDataset('accepts', 'DERIVE', 0, 125000000000)
->addDataset('rejects', 'DERIVE', 0, 125000000000)
->addDataset('challenges', 'DERIVE', 0, 125000000000);
$fields = array (
$fields = [
'requests' => $freeradius['FreeRADIUS-Total-Access-Requests'],
'accepts' => $freeradius['FreeRADIUS-Total-Access-Accepts'],
'rejects' => $freeradius['FreeRADIUS-Total-Access-Rejects'],
'challenges' => $freeradius['FreeRADIUS-Total-Access-Challenges']
);
'challenges' => $freeradius['FreeRADIUS-Total-Access-Challenges'],
];
$metrics['access'] = $fields;
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);
#FreeRADIUS-Total-Auth
$rrd_name = array('app', $name,'auth',$app_id);
//FreeRADIUS-Total-Auth
$rrd_name = ['app', $name, 'auth', $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('responses', 'DERIVE', 0, 125000000000)
->addDataset('duplicate_requests', 'DERIVE', 0, 125000000000)
@ -50,20 +50,20 @@ $rrd_def = RrdDefinition::make()
->addDataset('invalid_requests', 'DERIVE', 0, 125000000000)
->addDataset('dropped_requests', 'DERIVE', 0, 125000000000)
->addDataset('unknown_types', 'DERIVE', 0, 125000000000);
$fields = array (
$fields = [
'responses' => $freeradius['FreeRADIUS-Total-Auth-Responses'],
'duplicate_requests' => $freeradius['FreeRADIUS-Total-Auth-Duplicate-Requests'],
'malformed_requests' => $freeradius['FreeRADIUS-Total-Auth-Malformed-Requests'],
'invalid_requests' => $freeradius['FreeRADIUS-Total-Auth-Invalid-Requests'],
'dropped_requests' => $freeradius['FreeRADIUS-Total-Auth-Dropped-Requests'],
'unknown_types' => $freeradius['FreeRADIUS-Total-Auth-Unknown-Types']
);
'unknown_types' => $freeradius['FreeRADIUS-Total-Auth-Unknown-Types'],
];
$metrics['auth'] = $fields;
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);
#FreeRADIUS-Total-Acct
$rrd_name = array('app', $name,'acct',$app_id);
//FreeRADIUS-Total-Acct
$rrd_name = ['app', $name, 'acct', $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('requests', 'DERIVE', 0, 125000000000)
->addDataset('responses', 'DERIVE', 0, 125000000000)
@ -72,38 +72,38 @@ $rrd_def = RrdDefinition::make()
->addDataset('invalid_requests', 'DERIVE', 0, 125000000000)
->addDataset('dropped_requests', 'DERIVE', 0, 125000000000)
->addDataset('unknown_types', 'DERIVE', 0, 125000000000);
$fields = array (
$fields = [
'requests' => $freeradius['FreeRADIUS-Total-Accounting-Requests'],
'responses' => $freeradius['FreeRADIUS-Total-Accounting-Responses'],
'duplicate_requests' => $freeradius['FreeRADIUS-Total-Acct-Duplicate-Requests'],
'malformed_requests' => $freeradius['FreeRADIUS-Total-Acct-Malformed-Requests'],
'invalid_requests' => $freeradius['FreeRADIUS-Total-Acct-Invalid-Requests'],
'dropped_requests' => $freeradius['FreeRADIUS-Total-Acct-Dropped-Requests'],
'unknown_types' => $freeradius['FreeRADIUS-Total-Acct-Unknown-Types']
);
'unknown_types' => $freeradius['FreeRADIUS-Total-Acct-Unknown-Types'],
];
$metrics['acct'] = $fields;
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);
#FreeRADIUS-Total-Proxy-Access
$rrd_name = array('app', $name,'proxy_access',$app_id);
//FreeRADIUS-Total-Proxy-Access
$rrd_name = ['app', $name, 'proxy_access', $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('requests', 'DERIVE', 0, 125000000000)
->addDataset('accepts', 'DERIVE', 0, 125000000000)
->addDataset('rejects', 'DERIVE', 0, 125000000000)
->addDataset('challenges', 'DERIVE', 0, 125000000000);
$fields = array (
$fields = [
'requests' => $freeradius['FreeRADIUS-Total-Proxy-Access-Requests'],
'accepts' => $freeradius['FreeRADIUS-Total-Proxy-Access-Accepts'],
'rejects' => $freeradius['FreeRADIUS-Total-Proxy-Access-Rejects'],
'challenges' => $freeradius['FreeRADIUS-Total-Proxy-Access-Challenges']
);
'challenges' => $freeradius['FreeRADIUS-Total-Proxy-Access-Challenges'],
];
$metrics['proxy_access'] = $fields;
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);
#FreeRADIUS-Total-Proxy-Auth
$rrd_name = array('app', $name,'proxy_auth',$app_id);
//FreeRADIUS-Total-Proxy-Auth
$rrd_name = ['app', $name, 'proxy_auth', $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('responses', 'DERIVE', 0, 125000000000)
->addDataset('duplicate_requests', 'DERIVE', 0, 125000000000)
@ -111,20 +111,20 @@ $rrd_def = RrdDefinition::make()
->addDataset('invalid_requests', 'DERIVE', 0, 125000000000)
->addDataset('dropped_requests', 'DERIVE', 0, 125000000000)
->addDataset('unknown_types', 'DERIVE', 0, 125000000000);
$fields = array (
$fields = [
'responses' => $freeradius['FreeRADIUS-Total-Proxy-Auth-Responses'],
'duplicate_requests' => $freeradius['FreeRADIUS-Total-Proxy-Auth-Duplicate-Requests'],
'malformed_requests' => $freeradius['FreeRADIUS-Total-Proxy-Auth-Malformed-Requests'],
'invalid_requests' => $freeradius['FreeRADIUS-Total-Proxy-Auth-Invalid-Requests'],
'dropped_requests' => $freeradius['FreeRADIUS-Total-Proxy-Auth-Dropped-Requests'],
'unknown_types' => $freeradius['FreeRADIUS-Total-Proxy-Auth-Unknown-Types']
);
'unknown_types' => $freeradius['FreeRADIUS-Total-Proxy-Auth-Unknown-Types'],
];
$metrics['proxy_auth'] = $fields;
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);
#FreeRADIUS-Total-Proxy-Acct
$rrd_name = array('app', $name,'proxy_acct',$app_id);
//FreeRADIUS-Total-Proxy-Acct
$rrd_name = ['app', $name, 'proxy_acct', $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('requests', 'DERIVE', 0, 125000000000)
->addDataset('responses', 'DERIVE', 0, 125000000000)
@ -133,21 +133,21 @@ $rrd_def = RrdDefinition::make()
->addDataset('invalid_requests', 'DERIVE', 0, 125000000000)
->addDataset('dropped_requests', 'DERIVE', 0, 125000000000)
->addDataset('unknown_types', 'DERIVE', 0, 125000000000);
$fields = array (
$fields = [
'requests' => $freeradius['FreeRADIUS-Total-Proxy-Accounting-Requests'],
'responses' => $freeradius['FreeRADIUS-Total-Proxy-Accounting-Responses'],
'duplicate_requests' => $freeradius['FreeRADIUS-Total-Proxy-Acct-Duplicate-Requests'],
'malformed_requests' => $freeradius['FreeRADIUS-Total-Proxy-Acct-Malformed-Requests'],
'invalid_requests' => $freeradius['FreeRADIUS-Total-Proxy-Acct-Invalid-Requests'],
'dropped_requests' => $freeradius['FreeRADIUS-Total-Proxy-Acct-Dropped-Requests'],
'unknown_types' => $freeradius['FreeRADIUS-Total-Proxy-Acct-Unknown-Types']
);
'unknown_types' => $freeradius['FreeRADIUS-Total-Proxy-Acct-Unknown-Types'],
];
$metrics['proxy_acct'] = $fields;
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);
#FreeRADIUS-Queue
$rrd_name = array('app', $name,'queue',$app_id);
//FreeRADIUS-Queue
$rrd_name = ['app', $name, 'queue', $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('len_internal', 'DERIVE', 0, 125000000000)
->addDataset('len_proxy', 'DERIVE', 0, 125000000000)
@ -156,15 +156,15 @@ $rrd_def = RrdDefinition::make()
->addDataset('len_detail', 'DERIVE', 0, 125000000000)
->addDataset('pps_in', 'DERIVE', 0, 125000000000)
->addDataset('pps_out', 'DERIVE', 0, 125000000000);
$fields = array (
$fields = [
'len_internal' => $freeradius['FreeRADIUS-Queue-Len-Internal'],
'len_proxy' => $freeradius['FreeRADIUS-Queue-Len-Proxy'],
'len_auth' => $freeradius['FreeRADIUS-Queue-Len-Auth'],
'len_acct' => $freeradius['FreeRADIUS-Queue-Len-Acct'],
'len_detail' => $freeradius['FreeRADIUS-Queue-Len-Detail'],
'pps_in' => $freeradius['FreeRADIUS-Queue-PPS-In'],
'pps_out' => $freeradius['FreeRADIUS-Queue-PPS-Out']
);
'pps_out' => $freeradius['FreeRADIUS-Queue-PPS-Out'],
];
$metrics['queue'] = $fields;
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);

View File

@ -4,23 +4,23 @@ use LibreNMS\RRD\RrdDefinition;
$name = 'freeswitch';
$app_id = $app['app_id'];
if (!empty($agent_data[$name])) {
if (! empty($agent_data[$name])) {
$rawdata = $agent_data[$name];
} else {
$options = '-Oqv';
$oid = '.1.3.6.1.4.1.8072.1.3.2.4.1.2.10.102.114.101.101.115.119.105.116.99.104';
$rawdata = snmp_walk($device, $oid, $options);
$rawdata = str_replace("<<<freeswitch>>>\n", '', $rawdata);
$rawdata = str_replace("<<<freeswitch>>>\n", '', $rawdata);
}
# Format Data
// Format Data
$lines = explode("\n", $rawdata);
$freeswitch = array();
$freeswitch = [];
foreach ($lines as $line) {
list($var,$value) = explode('=', $line);
[$var,$value] = explode('=', $line);
$freeswitch[$var] = $value;
}
# Freeswitch stats
$rrd_name = array('app', $name, 'stats', $app_id);
// Freeswitch stats
$rrd_name = ['app', $name, 'stats', $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('calls', 'GAUGE', 0, 10000)
->addDataset('channels', 'GAUGE', 0, 10000)
@ -29,15 +29,15 @@ $rrd_def = RrdDefinition::make()
->addDataset('in_okay', 'COUNTER', 0, 4294967295)
->addDataset('out_failed', 'COUNTER', 0, 4294967295)
->addDataset('out_okay', 'COUNTER', 0, 4294967295);
$fields = array(
$fields = [
'calls' => $freeswitch['Calls'],
'channels' => $freeswitch['Channels'],
'peak' => $freeswitch['Peak'],
'in_failed' => $freeswitch['InFailed'],
'in_okay' => $freeswitch['InTotal'] - $freeswitch['InFailed'],
'out_failed' => $freeswitch['OutFailed'],
'out_okay' => $freeswitch['OutTotal'] - $freeswitch['OutFailed']
);
'out_okay' => $freeswitch['OutTotal'] - $freeswitch['OutFailed'],
];
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);
update_application($app, $rawdata, $fields);

View File

@ -52,8 +52,8 @@
}
*/
use LibreNMS\Exceptions\JsonAppParsingFailedException;
use LibreNMS\Exceptions\JsonAppException;
use LibreNMS\Exceptions\JsonAppParsingFailedException;
use LibreNMS\RRD\RrdDefinition;
$name = 'gpsd';
@ -62,13 +62,13 @@ $app_id = $app['app_id'];
echo " $name\n";
if ($app_id > 0) {
if (!empty($agent_data['app'][$name])) {
if (! empty($agent_data['app'][$name])) {
$gpsd = $agent_data['app'][$name];
$gpsd_parsed = [];
foreach (explode("\n", $gpsd) as $line) {
list ($field, $data) = explode(':', $line);
[$field, $data] = explode(':', $line);
$gpsd_parsed[$field] = $data;
}
@ -85,7 +85,7 @@ if ($app_id > 0) {
$fields = [];
foreach ($check_fields as $field) {
if (!empty($gpsd_parsed[$field])) {
if (! empty($gpsd_parsed[$field])) {
$fields[$field] = $gpsd_parsed[$field];
}
}
@ -100,14 +100,15 @@ if ($app_id > 0) {
'data' => [],
];
list ($gpsd['data']['mode'], $gpsd['data']['hdop'], $gpsd['data']['vdop'],
[$gpsd['data']['mode'], $gpsd['data']['hdop'], $gpsd['data']['vdop'],
$gpsd['data']['latitude'], $gpsd['data']['longitude'], $gpsd['data']['altitude'],
$gpsd['data']['satellites'], $gpsd['data']['satellites_used']) = explode("\n", $legacy);
$gpsd['data']['satellites'], $gpsd['data']['satellites_used']] = explode("\n", $legacy);
} catch (JsonAppException $e) {
// Set Empty metrics and error message
echo PHP_EOL . $name . ':' . $e->getCode() . ':' . $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode() . ':' . $e->getMessage(), []);
return;
}
@ -135,7 +136,7 @@ if ($app_id > 0) {
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);
if (!empty($agent_data['app'][$name])) {
if (! empty($agent_data['app'][$name])) {
update_application($app, $gpsd, $fields);
} else {
update_application($app, 'OK', $fields);

View File

@ -7,7 +7,7 @@ $app_id = $app['app_id'];
echo "$name, app_id=$app_id ";
if (!empty($agent_data[$name])) {
if (! empty($agent_data[$name])) {
$rawdata = $agent_data[$name];
} else {
$options = '-Oqv';
@ -15,31 +15,31 @@ if (!empty($agent_data[$name])) {
$oid = '.1.3.6.1.4.1.8072.1.3.2.3.1.2.7.105.99.101.99.97.115.116';
$rawdata = snmp_get($device, $oid, $options, $mib);
$rawdata = str_replace("<<<icecast>>>\n", '', $rawdata);
$rawdata = str_replace("<<<icecast>>>\n", '', $rawdata);
}
$lines = explode("\n", $rawdata);
$icecast = array();
$icecast = [];
foreach ($lines as $line) {
list($var,$value) = explode('=', $line);
[$var,$value] = explode('=', $line);
$icecast[$var] = $value;
}
unset($lines);
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('cpu', 'GAUGE', 0, 100)
->addDataset('kbyte', 'GAUGE', 0, 125000000000)
->addDataset('openfiles', 'GAUGE', 0, 125000000000);
$fields = array(
'cpu' => (float)$icecast['CPU Load'],
'kbyte' => (int)$icecast['Used Memory'],
'openfiles' => (int)$icecast['Open files']
);
$fields = [
'cpu' => (float) $icecast['CPU Load'],
'kbyte' => (int) $icecast['Used Memory'],
'openfiles' => (int) $icecast['Open files'],
];
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');

View File

@ -32,10 +32,11 @@ try {
} catch (JsonAppException $e) {
echo PHP_EOL . $name . ':' . $e->getCode() . ':' . $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode() . ':' . $e->getMessage(), []); // Set empty metrics and error message
return;
}
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('received', 'GAUGE', 0)
@ -54,8 +55,7 @@ $rrd_def = RrdDefinition::make()
->addDataset('recipients', 'GAUGE', 0)
->addDataset('recipienthostsdomains', 'GAUGE', 0);
$fields = array(
$fields = [
'received' => $mailcow_postfix['data']['received'],
'delivered' => $mailcow_postfix['data']['delivered'],
'forwarded' => $mailcow_postfix['data']['forwarded'],
@ -71,7 +71,7 @@ $fields = array(
'sendinghostsdomains' => $mailcow_postfix['data']['sendinghostsdomains'],
'recipients' => $mailcow_postfix['data']['recipients'],
'recipienthostsdomains' => $mailcow_postfix['data']['recipienthostsdomains'],
);
];
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);

View File

@ -4,18 +4,18 @@
use LibreNMS\RRD\RrdDefinition;
$options = '-Oqv';
$oid = '.1.3.6.1.4.1.8072.1.3.2.3.1.2.11.109.97.105.108.115.99.97.110.110.101.114';
$options = '-Oqv';
$oid = '.1.3.6.1.4.1.8072.1.3.2.3.1.2.11.109.97.105.108.115.99.97.110.110.101.114';
$mailscanner = snmp_get($device, $oid, $options);
echo ' mailscanner';
list ($msg_recv, $msg_rejected, $msg_relay, $msg_sent, $msg_waiting, $spam, $virus) = explode("\n", $mailscanner);
[$msg_recv, $msg_rejected, $msg_relay, $msg_sent, $msg_waiting, $spam, $virus] = explode("\n", $mailscanner);
$name = 'mailscannerV2';
$app_id = $app['app_id'];
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('msg_recv', 'COUNTER', 0, 125000000000)
->addDataset('msg_rejected', 'COUNTER', 0, 12500000000)
@ -25,7 +25,7 @@ $rrd_def = RrdDefinition::make()
->addDataset('spam', 'COUNTER', 0, 125000000000)
->addDataset('virus', 'COUNTER', 0, 125000000000);
$fields = array(
$fields = [
'msg_recv' => $msg_recv,
'msg_rejected' => $msg_rejected,
'msg_relay' => $msg_relay,
@ -33,7 +33,7 @@ $fields = array(
'msg_waiting' => $msg_waiting,
'spam' => $spam,
'virus' => $virus,
);
];
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);

View File

@ -1,6 +1,7 @@
<?php
use LibreNMS\Exceptions\JsonAppMissingKeysException;
use LibreNMS\Exceptions\JsonAppException;
use LibreNMS\Exceptions\JsonAppMissingKeysException;
use LibreNMS\RRD\RrdDefinition;
$name = 'mdadm';
@ -12,12 +13,13 @@ try {
} catch (JsonAppMissingKeysException $e) {
$mdadm_data = $e->getParsedJson();
} catch (JsonAppException $e) {
echo PHP_EOL . $name . ':' .$e->getCode().':'. $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode().':'.$e->getMessage(), []); // Set empty metrics and error message
echo PHP_EOL . $name . ':' . $e->getCode() . ':' . $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode() . ':' . $e->getMessage(), []); // Set empty metrics and error message
return;
}
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('level', 'GAUGE', 0)
->addDataset('size', 'GAUGE', 0)
@ -27,7 +29,7 @@ $rrd_def = RrdDefinition::make()
->addDataset('sync_speed', 'GAUGE', 0)
->addDataset('sync_completed', 'GAUGE', 0);
$metrics = array();
$metrics = [];
foreach ($mdadm_data as $data) {
$array_name = $data['name'];
$level = $data['level'];
@ -40,22 +42,22 @@ foreach ($mdadm_data as $data) {
$sync_speed = $data['sync_speed'];
$sync_completed = $data['sync_completed'];
$rrd_name = array('app', $name, $app_id, $array_name);
$rrd_name = ['app', $name, $app_id, $array_name];
$array_level = str_replace('raid', '', $level);
$fields = array(
$fields = [
'level' => $array_level,
'size' => $size,
'disc_count' => $disc_count,
'hotspare_count' => $hotspare_count,
'degraded' => $degraded,
'sync_speed' => $sync_speed,
'sync_completed' => $sync_completed
);
'sync_completed' => $sync_completed,
];
$metrics[$array_name] = $fields;
$tags = array('name' => $array_name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $array_name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
}
update_application($app, $output, $metrics);

View File

@ -4,19 +4,19 @@ use LibreNMS\RRD\RrdDefinition;
$name = 'memcached';
$app_id = $app['app_id'];
if (!empty($agent_data['app']['memcached'])) {
if (! empty($agent_data['app']['memcached'])) {
$data = $agent_data['app']['memcached'][$app['app_instance']];
} else {
$oid = '.1.3.6.1.4.1.8072.1.3.2.3.1.2.9.109.101.109.99.97.99.104.101.100';
$result = snmp_get($device, $oid, '-Oqv');
$data = trim($result, '"');
$data = unserialize(stripslashes(str_replace("<<<app-memcached>>>\n", '', $data)));
$data = reset($data);
$oid = '.1.3.6.1.4.1.8072.1.3.2.3.1.2.9.109.101.109.99.97.99.104.101.100';
$result = snmp_get($device, $oid, '-Oqv');
$data = trim($result, '"');
$data = unserialize(stripslashes(str_replace("<<<app-memcached>>>\n", '', $data)));
$data = reset($data);
}
echo ' memcached('.$app['app_instance'].')';
echo ' memcached(' . $app['app_instance'] . ')';
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('uptime', 'GAUGE', 0, 125000000000)
->addDataset('threads', 'GAUGE', 0, 125000000000)
@ -37,7 +37,7 @@ $rrd_def = RrdDefinition::make()
->addDataset('bytes_read', 'DERIVE', 0, 125000000000)
->addDataset('bytes_written', 'DERIVE', 0, 125000000000);
$fields = array(
$fields = [
'uptime' => $data['uptime'],
'threads' => $data['threads'],
'rusage_user_ms' => $data['rusage_user_microseconds'],
@ -56,7 +56,7 @@ $fields = array(
'evictions' => $data['evictions'],
'bytes_read' => $data['bytes_read'],
'bytes_written' => $data['bytes_written'],
);
];
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);

View File

@ -5,7 +5,7 @@ use LibreNMS\RRD\RrdDefinition;
$name = 'mysql';
$app_id = $app['app_id'];
if (!empty($agent_data['app'][$name])) {
if (! empty($agent_data['app'][$name])) {
$mysql = $agent_data['app'][$name];
} else {
// Polls MySQL statistics from script via SNMP
@ -13,10 +13,10 @@ if (!empty($agent_data['app'][$name])) {
}
echo ' mysql';
$metrics = array();
$metrics = [];
// General Stats
$mapping = array(
$mapping = [
'IDBLBSe' => 'cr',
'IBLFh' => 'ct',
'IBLWn' => 'cu',
@ -96,23 +96,23 @@ $mapping = array(
'CSt' => 'c5',
'CUe' => 'c3',
'CUMi' => 'c9',
);
];
$data = explode("\n", $mysql);
$map = array();
$map = [];
foreach ($data as $str) {
list($key, $value) = explode(':', $str);
$map[$key] = (float) trim($value);
[$key, $value] = explode(':', $str);
$map[$key] = (float) trim($value);
}
$fields = array();
$fields = [];
foreach ($mapping as $k => $v) {
$fields[$k] = (isset($map[$v]) && $map[$v] >= 0) ? $map[$v] : 'U';
}
$metrics = $fields;
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('IDBLBSe', 'GAUGE', 0, 125000000000)
->addDataset('IBLFh', 'DERIVE', 0, 125000000000)
@ -198,7 +198,7 @@ $tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);
// Process state statistics
$mapping_status = array(
$mapping_status = [
'State_closing_tables' => 'd2',
'State_copying_to_tmp_table' => 'd3',
'State_end' => 'd4',
@ -215,14 +215,14 @@ $mapping_status = array(
'State_writing_to_net' => 'df',
'State_none' => 'dg',
'State_other' => 'dh',
);
];
$rrd_name = array('app', $name, $app_id, 'status');
$rrd_name = ['app', $name, $app_id, 'status'];
$rrd_def = new RrdDefinition();
// because this sends different names for rrd and compared to other datastores, disable $fields name checks
$rrd_def->disableNameChecking();
$fields = array();
$fields = [];
foreach ($mapping_status as $desc => $id) {
$fields[$desc] = (isset($map[$id]) && $map[$id] >= 0) ? $map[$id] : 'U';
$rrd_def->addDataset($id, 'GAUGE', 0, 125000000000);

View File

@ -25,13 +25,12 @@ $nfsstats = snmp_get($device, $oid, '-Oqv');
$app_id = $app['app_id'];
// rrd names
$rrd_name = array();
$rrd_name['default'] = array('app', 'nfs-server-default', $app_id);
$rrd_name['proc2'] = array('app', 'nfs-server-proc2', $app_id);
$rrd_name['proc3'] = array('app', 'nfs-server-proc3', $app_id);
$rrd_name['proc4'] = array('app', 'nfs-server-proc4', $app_id);
$rrd_name['proc4ops'] = array('app', 'nfs-server-proc4ops', $app_id);
$rrd_name = [];
$rrd_name['default'] = ['app', 'nfs-server-default', $app_id];
$rrd_name['proc2'] = ['app', 'nfs-server-proc2', $app_id];
$rrd_name['proc3'] = ['app', 'nfs-server-proc3', $app_id];
$rrd_name['proc4'] = ['app', 'nfs-server-proc4', $app_id];
$rrd_name['proc4ops'] = ['app', 'nfs-server-proc4ops', $app_id];
// rrd definitions
$rrd_def_array['default'] = RrdDefinition::make()
@ -202,40 +201,39 @@ proc4 2 1 404
proc4ops 59 0 0 0 2 0 0 0 0 0 402 3 0 0 0 0 3 0 0 0 0 0 0 403 0 1 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
*/
$keys_nfs_server = array(
'rc' => array('th_hits', 'th_misses', 'th_nocache'),
'fh' => array('fh_lookup', 'fh_anon', 'fh_ncachedir', 'fh_ncachenondir', 'fh_stale'),
'io' => array('io_read', 'io_write'),
'th' => array('th_threads', 'th_fullcnt', 'th_range01', 'th_range02', 'th_range03', 'th_range04', 'th_range05', 'th_range06', 'th_range07', 'th_range08', 'th_range09', 'th_range10'),
'ra' => array('ra_cachesize', 'ra_range01', 'ra_range02', 'ra_range03', 'ra_range04', 'ra_range05', 'ra_range06', 'ra_range07', 'ra_range08', 'ra_range09', 'ra_range10', 'ra_notfound'),
'net' => array('net_cnt', 'net_udp', 'net_tcp', 'net_tcpconn'),
'rpc' => array('rpc_calls', 'rpc_badcount', 'rpc_badfmt', 'rpc_badauth', 'rpc_badclnt'),
'proc2' => array('proc2_null', 'proc2_getattr', 'proc2_setattr', 'proc2_root', 'proc2_lookup','proc2_readlink', 'proc2_read', 'proc2_wrcache', 'proc2_write', 'proc2_create','proc2_remove', 'proc2_rename', 'proc2_link', 'proc2_symlink', 'proc2_mkdir','proc2_rmdir', 'proc2_readdir', 'proc2_fsstat'),
'proc3' => array('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'),
'proc4' => array('proc4_null', 'proc4_compound'),
'proc4ops' => array(
'v4_op0-unused','v4_op1-unused','v4_op2-future','v4_access','v4_close',
'v4_commit','v4_create','v4_delegpurge','v4_delegreturn','v4_getattr','v4_getfh',
'v4_link','v4_lock','v4_lockt','v4_locku','v4_lookup','v4_lookup_root','v4_nverify',
'v4_open','v4_openattr','v4_open_conf','v4_open_dgrd','v4_putfh','v4_putpubfh','v4_putrootfh',
'v4_read','v4_readdir','v4_readlink','v4_remove','v4_rename','v4_renew','v4_restorefh','v4_savefh',
'v4_secinfo','v4_setattr','v4_setcltid','v4_setcltidconf','v4_verify','v4_write','v4_rellockowner',
'v4_bc_ctl','v4_bind_conn','v4_exchange_id','v4_create_ses','v4_destroy_ses','v4_free_stateid',
'v4_getdirdeleg','v4_getdevinfo','v4_getdevlist','v4_layoutcommit','v4_layoutget','v4_layoutreturn',
'v4_secinfononam','v4_sequence','v4_set_ssv','v4_test_stateid','v4_want_deleg','v4_destroy_clid',
'v4_reclaim_comp')
);
$keys_nfs_server = [
'rc' => ['th_hits', 'th_misses', 'th_nocache'],
'fh' => ['fh_lookup', 'fh_anon', 'fh_ncachedir', 'fh_ncachenondir', 'fh_stale'],
'io' => ['io_read', 'io_write'],
'th' => ['th_threads', 'th_fullcnt', 'th_range01', 'th_range02', 'th_range03', 'th_range04', 'th_range05', 'th_range06', 'th_range07', 'th_range08', 'th_range09', 'th_range10'],
'ra' => ['ra_cachesize', 'ra_range01', 'ra_range02', 'ra_range03', 'ra_range04', 'ra_range05', 'ra_range06', 'ra_range07', 'ra_range08', 'ra_range09', 'ra_range10', 'ra_notfound'],
'net' => ['net_cnt', 'net_udp', 'net_tcp', 'net_tcpconn'],
'rpc' => ['rpc_calls', 'rpc_badcount', 'rpc_badfmt', 'rpc_badauth', 'rpc_badclnt'],
'proc2' => ['proc2_null', 'proc2_getattr', 'proc2_setattr', 'proc2_root', 'proc2_lookup', 'proc2_readlink', 'proc2_read', 'proc2_wrcache', 'proc2_write', 'proc2_create', 'proc2_remove', 'proc2_rename', 'proc2_link', 'proc2_symlink', 'proc2_mkdir', 'proc2_rmdir', 'proc2_readdir', 'proc2_fsstat'],
'proc3' => ['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'],
'proc4' => ['proc4_null', 'proc4_compound'],
'proc4ops' => [
'v4_op0-unused', 'v4_op1-unused', 'v4_op2-future', 'v4_access', 'v4_close',
'v4_commit', 'v4_create', 'v4_delegpurge', 'v4_delegreturn', 'v4_getattr', 'v4_getfh',
'v4_link', 'v4_lock', 'v4_lockt', 'v4_locku', 'v4_lookup', 'v4_lookup_root', 'v4_nverify',
'v4_open', 'v4_openattr', 'v4_open_conf', 'v4_open_dgrd', 'v4_putfh', 'v4_putpubfh', 'v4_putrootfh',
'v4_read', 'v4_readdir', 'v4_readlink', 'v4_remove', 'v4_rename', 'v4_renew', 'v4_restorefh', 'v4_savefh',
'v4_secinfo', 'v4_setattr', 'v4_setcltid', 'v4_setcltidconf', 'v4_verify', 'v4_write', 'v4_rellockowner',
'v4_bc_ctl', 'v4_bind_conn', 'v4_exchange_id', 'v4_create_ses', 'v4_destroy_ses', 'v4_free_stateid',
'v4_getdirdeleg', 'v4_getdevinfo', 'v4_getdevlist', 'v4_layoutcommit', 'v4_layoutget', 'v4_layoutreturn',
'v4_secinfononam', 'v4_sequence', 'v4_set_ssv', 'v4_test_stateid', 'v4_want_deleg', 'v4_destroy_clid',
'v4_reclaim_comp', ],
];
// parse each output line, by the id
// then 'map' the values to the arrays from $keys_nfs_server
$lines = explode("\n", $nfsstats);
$default_fields = array();
$metrics = array();
$lines = explode("\n", $nfsstats);
$default_fields = [];
$metrics = [];
foreach ($lines as $line) {
$line_values = explode(" ", $line);
$line_id = array_shift($line_values);
$line_values = explode(" ", $line);
$line_id = array_shift($line_values);
switch ($line_id) {
case 'rc':
@ -264,7 +262,7 @@ foreach ($lines as $line) {
$fields = array_combine($keys_nfs_server[$line_id], $line_values);
// create or push data to rrd
$tags = array('name' => $name, 'app_id' => $app['app_id'], 'rrd_name' => $rrd_name[$line_id], 'rrd_def' => $rrd_def_array[$line_id]);
$tags = ['name' => $name, 'app_id' => $app['app_id'], 'rrd_name' => $rrd_name[$line_id], 'rrd_def' => $rrd_def_array[$line_id]];
$metrics[$line_id] = $fields;
data_update($device, 'app', $tags, $fields);
}
@ -274,10 +272,9 @@ foreach ($lines as $line) {
$metrics['none'] = $default_fields;
// push the default nfs server data to rrd
$tags = array('name' => $name, 'app_id' => $app['app_id'], 'rrd_name' => $rrd_name['default'], 'rrd_def' => $rrd_def_array['default']);
$tags = ['name' => $name, 'app_id' => $app['app_id'], 'rrd_name' => $rrd_name['default'], 'rrd_def' => $rrd_def_array['default']];
data_update($device, 'app', $tags, $default_fields);
update_application($app, $nfsstats, $metrics);
// clean up scope
unset($nfsstats, $rrd_name, $rrd_def_array, $default_fields, $fields, $tags);

View File

@ -10,7 +10,7 @@ echo ' ' . $name;
$nfsstats = snmp_walk($device, $oid, '-Oqv', 'NET-SNMP-EXTEND-MIB');
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('total', 'GAUGE', 0)
->addDataset('null', 'GAUGE', 0)
@ -29,7 +29,7 @@ $rrd_def = RrdDefinition::make()
->addDataset('fsstat', 'GAUGE', 0);
$data = explode("\n", $nfsstats);
$fields = array(
$fields = [
'total' => $data[0],
'null' => $data[1],
'getattr' => $data[2],
@ -45,7 +45,7 @@ $fields = array(
'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

@ -10,7 +10,7 @@ echo ' ' . $name;
$nfsstats = snmp_walk($device, $oid, '-Oqv', 'NET-SNMP-EXTEND-MIB');
$rrd_name = array('app', 'nfs-stats', $app_id);
$rrd_name = ['app', 'nfs-stats', $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('rc_hits', 'GAUGE', 0)
->addDataset('rc_misses', 'GAUGE', 0)
@ -67,7 +67,7 @@ $rrd_def = RrdDefinition::make()
->addDataset('proc3_commit', 'GAUGE', 0);
$data = explode("\n", $nfsstats);
$fields = array(
$fields = [
'rc_hits' => $data[1],
'rc_misses' => $data[2],
'rc_nocache' => $data[3],
@ -121,7 +121,7 @@ $fields = array(
'proc3_fsinfo' => $data[50],
'proc3_pathconf' => $data[51],
'proc3_commit' => $data[52],
);
];
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);

View File

@ -4,7 +4,7 @@ use LibreNMS\RRD\RrdDefinition;
$name = 'nginx';
$app_id = $app['app_id'];
if (!empty($agent_data['app'][$name])) {
if (! empty($agent_data['app'][$name])) {
$nginx = $agent_data['app'][$name];
} else {
// Polls nginx statistics from script via SNMP
@ -14,10 +14,10 @@ $nginx = trim($nginx, '"');
echo ' nginx';
list($active, $reading, $writing, $waiting, $req) = array_map('rtrim', explode("\n", $nginx));
[$active, $reading, $writing, $waiting, $req] = array_map('rtrim', explode("\n", $nginx));
d_echo("active: $active reading: $reading writing: $writing waiting: $waiting Requests: $req\n");
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('Requests', 'DERIVE', 0, 125000000000)
->addDataset('Active', 'GAUGE', 0, 125000000000)
@ -25,13 +25,13 @@ $rrd_def = RrdDefinition::make()
->addDataset('Writing', 'GAUGE', 0, 125000000000)
->addDataset('Waiting', 'GAUGE', 0, 125000000000);
$fields = array(
$fields = [
'Requests' => $req,
'Active' => $active,
'Reading' => $reading,
'Writing' => $writing,
'Waiting' => $waiting,
);
];
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);

View File

@ -1,7 +1,7 @@
<?php
use LibreNMS\Exceptions\JsonAppParsingFailedException;
use LibreNMS\Exceptions\JsonAppException;
use LibreNMS\Exceptions\JsonAppParsingFailedException;
use LibreNMS\RRD\RrdDefinition;
$name = 'ntp-client';
@ -10,23 +10,24 @@ $app_id = $app['app_id'];
echo $name;
try {
$ntp=json_app_get($device, $name);
$ntp = json_app_get($device, $name);
} catch (JsonAppParsingFailedException $e) {
// Legacy script, build compatible array
$legacy = $e->getOutput();
$ntp=array(
data => array(),
);
list ($ntp['data']['offset'], $ntp['data']['frequency'], $ntp['data']['sys_jitter'],
$ntp['data']['clk_jitter'], $ntp['data']['clk_wander']) = explode("\n", $legacy);
$ntp = [
data => [],
];
[$ntp['data']['offset'], $ntp['data']['frequency'], $ntp['data']['sys_jitter'],
$ntp['data']['clk_jitter'], $ntp['data']['clk_wander']] = explode("\n", $legacy);
} catch (JsonAppException $e) {
echo PHP_EOL . $name . ':' .$e->getCode().':'. $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode().':'.$e->getMessage(), []); // Set empty metrics and error message
echo PHP_EOL . $name . ':' . $e->getCode() . ':' . $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode() . ':' . $e->getMessage(), []); // Set empty metrics and error message
return;
}
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('offset', 'GAUGE', -1000, 1000)
->addDataset('frequency', 'GAUGE', -1000, 1000)
@ -34,13 +35,13 @@ $rrd_def = RrdDefinition::make()
->addDataset('noise', 'GAUGE', -1000, 1000)
->addDataset('stability', 'GAUGE', -1000, 1000);
$fields = array(
$fields = [
'offset' => $ntp['data']['offset'],
'frequency' => $ntp['data']['frequency'],
'jitter' => $ntp['data']['sys_jitter'],
'noise' => $ntp['data']['clk_jitter'],
'stability' => $ntp['data']['clk_wander'],
);
];
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);

View File

@ -1,7 +1,7 @@
<?php
use LibreNMS\Exceptions\JsonAppParsingFailedException;
use LibreNMS\Exceptions\JsonAppException;
use LibreNMS\Exceptions\JsonAppParsingFailedException;
use LibreNMS\RRD\RrdDefinition;
$name = 'ntp-server';
@ -10,27 +10,27 @@ $app_id = $app['app_id'];
echo $name;
try {
$ntp=json_app_get($device, $name);
$ntp = json_app_get($device, $name);
} catch (JsonAppParsingFailedException $e) {
// Legacy script, build compatible array
$legacy = $e->getOutput();
$ntp=array(
data => array(),
);
$ntp = [
data => [],
];
list ($ntp['data']['stratum'], $ntp['data']['offset'], $ntp['data']['frequency'], $ntp['data']['jitter'],
[$ntp['data']['stratum'], $ntp['data']['offset'], $ntp['data']['frequency'], $ntp['data']['jitter'],
$ntp['data']['noise'], $ntp['data']['stability'], $ntp['data']['uptime'], $ntp['data']['buffer_recv'],
$ntp['data']['buffer_free'], $ntp['data']['buffer_used'], $ntp['data']['packets_drop'],
$ntp['data']['packets_ignore'], $ntp['data']['packets_recv'], $ntp['data']['packets_sent']) = explode("\n", $legacy);
$ntp['data']['packets_ignore'], $ntp['data']['packets_recv'], $ntp['data']['packets_sent']] = explode("\n", $legacy);
} catch (JsonAppException $e) {
echo PHP_EOL . $name . ':' .$e->getCode().':'. $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode().':'.$e->getMessage(), []); // Set empty metrics and error message
echo PHP_EOL . $name . ':' . $e->getCode() . ':' . $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode() . ':' . $e->getMessage(), []); // Set empty metrics and error message
return;
}
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('stratum', 'GAUGE', 0, 1000)
->addDataset('offset', 'GAUGE', -1000, 1000)
@ -47,8 +47,7 @@ $rrd_def = RrdDefinition::make()
->addDataset('packets_recv', 'DERIVE', 0, 125000000000)
->addDataset('packets_sent', 'DERIVE', 0, 125000000000);
$fields = array(
$fields = [
'stratum' => $ntp['data']['stratum'],
'offset' => $ntp['data']['offset'],
'frequency' => $ntp['data']['frequency'],
@ -63,8 +62,7 @@ $fields = array(
'packets_ignore' => $ntp['data']['ignored_packets'],
'packets_recv' => $ntp['data']['received_packets'],
'packets_sent' => $ntp['data']['packets_sent'],
);
];
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);

View File

@ -5,8 +5,8 @@ use LibreNMS\RRD\RrdDefinition;
$name = 'nvidia';
$app_id = $app['app_id'];
$options = '-Oqv';
$oid = '.1.3.6.1.4.1.8072.1.3.2.3.1.2.6.110.118.105.100.105.97';
$options = '-Oqv';
$oid = '.1.3.6.1.4.1.8072.1.3.2.3.1.2.6.110.118.105.100.105.97';
$gpus = snmp_walk($device, $oid, $options);
$gpuArray = explode("\n", $gpus);
@ -31,23 +31,23 @@ $rrd_def = RrdDefinition::make()
->addDataset('txpci', 'GAUGE', 0);
$sm_total = 0;
$metrics = array();
$metrics = [];
foreach ($gpuArray as $index => $gpu) {
$stats = explode(",", $gpu);
if (count($stats) == 19) {
list($gpu, $pwr, $temp, $memtemp, $sm, $mem, $enc, $dec, $mclk, $pclk, $pviol, $tviol,
$fb, $bar1, $sbecc, $dbecc, $pci, $rxpci, $txpci)=$stats;
[$gpu, $pwr, $temp, $memtemp, $sm, $mem, $enc, $dec, $mclk, $pclk, $pviol, $tviol,
$fb, $bar1, $sbecc, $dbecc, $pci, $rxpci, $txpci] = $stats;
} else {
list($gpu, $pwr, $temp, $sm, $mem, $enc, $dec, $mclk, $pclk, $pviol, $tviol,
$fb, $bar1, $sbecc, $dbecc, $pci, $rxpci, $txpci)=$stats;
[$gpu, $pwr, $temp, $sm, $mem, $enc, $dec, $mclk, $pclk, $pviol, $tviol,
$fb, $bar1, $sbecc, $dbecc, $pci, $rxpci, $txpci] = $stats;
}
$sm_total += $sm;
$rrd_name = array('app', $name, $app_id, $index);
$rrd_name = ['app', $name, $app_id, $index];
$fields = array(
$fields = [
'pwr' => $pwr,
'temp' => $temp,
'sm' => $sm,
@ -64,11 +64,11 @@ foreach ($gpuArray as $index => $gpu) {
'dbecc' => $dbecc,
'pci' => $pci,
'rxpci' => $rxpci,
'txpci' => $txpci
);
'txpci' => $txpci,
];
$metrics[$index] = $fields;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
}
$sm_average = ($sm_total ? ($sm_total / count($gpuArray)) : 0);

View File

@ -25,7 +25,7 @@ echo ' ' . $name;
$ogs_data = snmp_get($device, $oid, '-Oqv');
// define the rrd
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('running_jobs', 'GAUGE', 0)
->addDataset('pending_jobs', 'GAUGE', 0)
@ -34,18 +34,17 @@ $rrd_def = RrdDefinition::make()
// parse the data from the script
$data = explode("\n", $ogs_data);
$fields = array(
$fields = [
'running_jobs' => $data[0],
'pending_jobs' => $data[1],
'suspend_jobs' => $data[2],
'zombie_jobs' => $data[3],
);
];
// push the data in an array and into the rrd
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);
update_application($app, $ogs_data, $fields);
// cleanup
unset($ogs_data, $rrd_name, $rrd_def, $data, $fields, $tags);

View File

@ -7,7 +7,7 @@ $app_id = $app['app_id'];
echo "$name, app_id=$app_id ";
if (!empty($agent_data[$name])) {
if (! empty($agent_data[$name])) {
$rawdata = $agent_data[$name];
} else {
$options = '-Oqv';
@ -17,22 +17,19 @@ if (!empty($agent_data[$name])) {
$rawdata = snmp_get($device, $oid, $options, $mib);
}
# Format Data
// Format Data
$lines = explode("\n", $rawdata);
$opensips = array();
$opensips = [];
foreach ($lines as $line) {
list($var,$value) = explode('=', $line);
[$var,$value] = explode('=', $line);
$opensips[$var] = $value;
}
unset($lines);
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('load', 'GAUGE', 0, 100)
@ -41,13 +38,13 @@ $rrd_def = RrdDefinition::make()
->addDataset('free_memory', 'GAUGE', 0, 125000000000)
->addDataset('openfiles', 'GAUGE', 0, 125000000000);
$fields = array(
'load' => (float)$opensips['Load Average'],
'total_memory' => (int)$opensips['Total Memory'],
'used_memory' => (int)$opensips['Used Memory'],
'free_memory' => (int)$opensips['Free Memory'],
'openfiles' => (int)$opensips['Open files']
);
$fields = [
'load' => (float) $opensips['Load Average'],
'total_memory' => (int) $opensips['Total Memory'],
'used_memory' => (int) $opensips['Used Memory'],
'free_memory' => (int) $opensips['Free Memory'],
'openfiles' => (int) $opensips['Open files'],
];
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');

View File

@ -1,4 +1,5 @@
<?php
use LibreNMS\RRD\RrdDefinition;
$name = 'os-updates';
@ -7,13 +8,13 @@ $options = '-Oqv';
$mib = 'NET-SNMP-EXTEND-MIB';
$oid = '.1.3.6.1.4.1.8072.1.3.2.4.1.2.8.111.115.117.112.100.97.116.101.1';
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()->addDataset('packages', 'GAUGE', 0);
$osupdates = snmp_get($device, $oid, $options, $mib);
$fields = array('packages' => $osupdates,);
$fields = ['packages' => $osupdates];
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
update_application($app, $osupdates, $fields, $osupdates);

View File

@ -5,14 +5,14 @@ use LibreNMS\RRD\RrdDefinition;
$name = 'php-fpm';
$app_id = $app['app_id'];
$options = '-Oqv';
$oid = '.1.3.6.1.4.1.8072.1.3.2.3.1.2.8.112.104.112.102.112.109.115.112';
$options = '-Oqv';
$oid = '.1.3.6.1.4.1.8072.1.3.2.3.1.2.8.112.104.112.102.112.109.115.112';
$phpfpm = snmp_walk($device, $oid, $options);
list($pool,$start_time,$start_since,$accepted_conn,$listen_queue,$max_listen_queue,$listen_queue_len,$idle_processes,
$active_processes,$total_processes,$max_active_processes,$max_children_reached,$slow_requests) = explode("\n", $phpfpm);
[$pool,$start_time,$start_since,$accepted_conn,$listen_queue,$max_listen_queue,$listen_queue_len,$idle_processes,
$active_processes,$total_processes,$max_active_processes,$max_children_reached,$slow_requests] = explode("\n", $phpfpm);
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('lq', 'GAUGE', 0)
->addDataset('mlq', 'GAUGE', 0)
@ -23,7 +23,7 @@ $rrd_def = RrdDefinition::make()
->addDataset('mcr', 'GAUGE', 0)
->addDataset('sr', 'GAUGE', 0);
$fields = array(
$fields = [
'lq' => $listen_queue,
'mlq' => $max_listen_queue,
'ip' => $idle_processes,
@ -31,9 +31,9 @@ $fields = array(
'tp' => $total_processes,
'map' => $max_active_processes,
'mcr' => $max_children_reached,
'sr' => $slow_requests
);
'sr' => $slow_requests,
];
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
update_application($app, $phpfpm, $fields);

View File

@ -23,9 +23,9 @@ $oid = '.1.3.6.1.4.1.8072.1.3.2.4.1.2.7.112.105.45.104.111.108.101';
$pihole = snmp_walk($device, $oid, $options);
if ($pihole) {
list($domains_blocked, $dns_query, $ads_blocked, $ads_percentage, $unique_domains, $queries_forwarded, $queries_cached, $query_a, $query_aaaa, $query_ptr, $query_srv) = explode("\n", $pihole);
[$domains_blocked, $dns_query, $ads_blocked, $ads_percentage, $unique_domains, $queries_forwarded, $queries_cached, $query_a, $query_aaaa, $query_ptr, $query_srv] = explode("\n", $pihole);
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('domains_blocked', 'GAUGE', 0)
->addDataset('dns_query', 'GAUGE', 0)
@ -39,7 +39,7 @@ if ($pihole) {
->addDataset('query_ptr', 'GAUGE', 0)
->addDataset('query_srv', 'GAUGE', 0);
$fields = array(
$fields = [
'domains_blocked' => $domains_blocked,
'dns_query' => $dns_query,
'ads_blocked' => $ads_blocked,
@ -51,9 +51,9 @@ if ($pihole) {
'query_aaaa' => $query_aaaa,
'query_ptr' => $query_ptr,
'query_srv' => $query_srv,
);
];
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
update_application($app, $pihole, $fields);
}

View File

@ -1,7 +1,7 @@
<?php
use LibreNMS\RRD\RrdDefinition;
use LibreNMS\Exceptions\JsonAppException;
use LibreNMS\RRD\RrdDefinition;
$name = 'portactivity';
$app_id = $app['app_id'];
@ -9,14 +9,15 @@ $app_id = $app['app_id'];
echo $name;
try {
$returned=json_app_get($device, 'portactivity', 1);
$returned = json_app_get($device, 'portactivity', 1);
} catch (JsonAppException $e) { // Only doing the generic one as this has no non-JSON return
echo PHP_EOL . $name . ':' .$e->getCode().':'. $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode().':'.$e->getMessage(), []); // Set empty metrics and error message
echo PHP_EOL . $name . ':' . $e->getCode() . ':' . $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode() . ':' . $e->getMessage(), []); // Set empty metrics and error message
return;
}
$ports=$returned['data'];
$ports = $returned['data'];
$ports_rrd_def = RrdDefinition::make()
->addDataset('total_conns', 'GAUGE', 0)
@ -66,11 +67,11 @@ $ports_rrd_def = RrdDefinition::make()
// update the RRD files for each port
//
$ports_keys=array_keys($ports);
$ports_keys_int=0;
$ports_keys = array_keys($ports);
$ports_keys_int = 0;
while (isset($ports[$ports_keys[$ports_keys_int]])) {
$rrd_name = array('app', $name, $app_id, $ports_keys[$ports_keys_int]);
$fields = array(
$rrd_name = ['app', $name, $app_id, $ports_keys[$ports_keys_int]];
$fields = [
'total_conns' => $ports[$ports_keys[$ports_keys_int]]['total_conns'],
'total_to' => $ports[$ports_keys[$ports_keys_int]]['total_to'],
'total_from' => $ports[$ports_keys[$ports_keys_int]]['total_from'],
@ -113,8 +114,8 @@ while (isset($ports[$ports_keys[$ports_keys_int]])) {
'fromTIME_WAIT' => $ports[$ports_keys[$ports_keys_int]]['from']['TIME_WAIT'],
'fromUNKNOWN' => $ports[$ports_keys[$ports_keys_int]]['from']['UNKNOWN'],
'fromother' => $ports[$ports_keys[$ports_keys_int]]['from']['other'],
);
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $ports_rrd_def, 'rrd_name' => $rrd_name);
];
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $ports_rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
$ports_keys_int++;
@ -123,25 +124,25 @@ while (isset($ports[$ports_keys[$ports_keys_int]])) {
//
// component processing for portsactivity
//
$device_id=$device['device_id'];
$options=array(
'filter' => array(
'device_id' => array('=', $device_id),
'type' => array('=', 'portsactivity'),
),
);
$device_id = $device['device_id'];
$options = [
'filter' => [
'device_id' => ['=', $device_id],
'type' => ['=', 'portsactivity'],
],
];
$component=new LibreNMS\Component();
$components=$component->getComponents($device_id, $options);
$component = new LibreNMS\Component();
$components = $component->getComponents($device_id, $options);
//delete portsactivity component if nothing is found
if (empty($ports_keys)) {
if (isset($components[$device_id])) {
foreach ($components[$device_id] as $component_id => $_unused) {
$component->deleteComponent($component_id);
$component->deleteComponent($component_id);
}
}
//add portsactivity component if found
//add portsactivity component if found
} else {
if (isset($components[$device_id])) {
$portsc = $components[$device_id];

View File

@ -1,22 +1,23 @@
<?php
$name = 'postfix';
$app_id = $app['app_id'];
use LibreNMS\RRD\RrdDefinition;
$options = '-Oqv';
$queueOID = '.1.3.6.1.4.1.8072.1.3.2.3.1.2.5.109.97.105.108.113';
$detailOID = '.1.3.6.1.4.1.8072.1.3.2.3.1.2.15.112.111.115.116.102.105.120.100.101.116.97.105.108.101.100';
$options = '-Oqv';
$queueOID = '.1.3.6.1.4.1.8072.1.3.2.3.1.2.5.109.97.105.108.113';
$detailOID = '.1.3.6.1.4.1.8072.1.3.2.3.1.2.15.112.111.115.116.102.105.120.100.101.116.97.105.108.101.100';
$mailq = snmp_walk($device, $queueOID, $options);
$detail= snmp_walk($device, $detailOID, $options);
$detail = snmp_walk($device, $detailOID, $options);
list($incomingq, $activeq, $deferredq, $holdq) = explode("\n", $mailq);
[$incomingq, $activeq, $deferredq, $holdq] = explode("\n", $mailq);
list($received, $delivered, $forwarded, $deferred, $bounced, $rejected, $rejectw, $held, $discarded, $bytesr,
[$received, $delivered, $forwarded, $deferred, $bounced, $rejected, $rejectw, $held, $discarded, $bytesr,
$bytesd, $senders, $sendinghd, $recipients, $recipienthd, $deferralcr, $deferralhid, $chr, $hcrnfqh, $sardnf,
$sarnobu, $bu, $raruu, $hcrin, $sarnfqa, $rardnf, $rarnfqa, $iuscp, $sce, $scp, $urr) = explode("\n", $detail);
$sarnobu, $bu, $raruu, $hcrin, $sarnfqa, $rardnf, $rarnfqa, $iuscp, $sce, $scp, $urr] = explode("\n", $detail);
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('incomingq', 'GAUGE', 0)
->addDataset('activeq', 'GAUGE', 0)
@ -54,7 +55,7 @@ $rrd_def = RrdDefinition::make()
->addDataset('scp', 'GAUGE', 0)
->addDataset('urr', 'GAUGE', 0);
$fields = array(
$fields = [
'incomingq' => $incomingq,
'activeq' => $activeq,
'deferredq' => $deferredq,
@ -89,9 +90,9 @@ $fields = array(
'iuscp' => $iuscp,
'sce' => $sce,
'scp' => $scp,
'urr' => $urr
);
'urr' => $urr,
];
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
update_application($app, $mailq, $fields);

View File

@ -1,4 +1,5 @@
<?php
$name = 'postgres';
$app_id = $app['app_id'];
@ -6,15 +7,15 @@ use LibreNMS\RRD\RrdDefinition;
echo "postgres";
$options = '-Oqv';
$oid = '.1.3.6.1.4.1.8072.1.3.2.3.1.2.8.112.111.115.116.103.114.101.115';
$options = '-Oqv';
$oid = '.1.3.6.1.4.1.8072.1.3.2.3.1.2.8.112.111.115.116.103.114.101.115';
$postgres = snmp_walk($device, $oid, $options);
list($backends, $commits, $rollbacks, $read, $hit, $idxscan, $idxtupread, $idxtupfetch, $idxblksread,
$idxblkshit, $seqscan, $seqtupread, $ret, $fetch, $ins, $upd, $del) = explode("\n", $postgres);
[$backends, $commits, $rollbacks, $read, $hit, $idxscan, $idxtupread, $idxtupfetch, $idxblksread,
$idxblkshit, $seqscan, $seqtupread, $ret, $fetch, $ins, $upd, $del] = explode("\n", $postgres);
$rrd_name = array('app', $name, $app_id);
$metrics = array();
$rrd_name = ['app', $name, $app_id];
$metrics = [];
$rrd_def = RrdDefinition::make()
->addDataset('backends', 'GAUGE', 0)
@ -35,7 +36,7 @@ $rrd_def = RrdDefinition::make()
->addDataset('upd', 'DERIVE', 0)
->addDataset('del', 'DERIVE', 0);
$fields = array(
$fields = [
'backends' => $backends,
'commits' => $commits,
'rollbacks' => $rollbacks,
@ -52,27 +53,27 @@ $fields = array(
'fetch' => $fetch,
'ins' => $ins,
'upd' => $upd,
'del' => $del
);
'del' => $del,
];
$metrics['none'] = $fields;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
//process each database
$db_lines=explode("\n", $postgres);
$db_lines_int=17;
$found_dbs=array();
$db_lines = explode("\n", $postgres);
$db_lines_int = 17;
$found_dbs = [];
while (isset($db_lines[$db_lines_int])) {
list($backends, $commits, $rollbacks, $read, $hit, $idxscan, $idxtupread, $idxtupfetch, $idxblksread,
$idxblkshit, $seqscan, $seqtupread, $ret, $fetch, $ins, $upd, $del, $dbname) = explode(" ", $db_lines[$db_lines_int]);
[$backends, $commits, $rollbacks, $read, $hit, $idxscan, $idxtupread, $idxtupfetch, $idxblksread,
$idxblkshit, $seqscan, $seqtupread, $ret, $fetch, $ins, $upd, $del, $dbname] = explode(" ", $db_lines[$db_lines_int]);
$rrd_name = array('app', $name, $app_id, $dbname);
$rrd_name = ['app', $name, $app_id, $dbname];
$found_dbs[]=$dbname;
$found_dbs[] = $dbname;
$fields = array(
$fields = [
'backends' => $backends,
'commits' => $commits,
'rollbacks' => $rollbacks,
@ -89,11 +90,11 @@ while (isset($db_lines[$db_lines_int])) {
'fetch' => $fetch,
'ins' => $ins,
'upd' => $upd,
'del' => $del
);
'del' => $del,
];
$metrics[$dbname] = $fields;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
$db_lines_int++;
@ -103,22 +104,22 @@ update_application($app, $postgres, $metrics);
//
// component processing for postgres
//
$device_id=$device['device_id'];
$device_id = $device['device_id'];
$options=array(
'filter' => array(
'device_id' => array('=', $device_id),
'type' => array('=', 'postgres'),
),
);
$options = [
'filter' => [
'device_id' => ['=', $device_id],
'type' => ['=', 'postgres'],
],
];
$component=new LibreNMS\Component();
$pg_components=$component->getComponents($device_id, $options);
$component = new LibreNMS\Component();
$pg_components = $component->getComponents($device_id, $options);
if (empty($found_dbs)) {
if (isset($pg_components[$device_id])) {
foreach ($pg_components[$device_id] as $component_id => $_unused) {
$component->deleteComponent($component_id);
$component->deleteComponent($component_id);
}
}
} else {

View File

@ -32,9 +32,9 @@ d_echo($name);
$powerdns_dnsdist = snmp_walk($device, $oid, $options);
if (is_string($powerdns_dnsdist)) {
list($cache_hits, $cache_miss, $downstream_err, $downstream_timeout, $dynamic_block_size, $dynamic_blocked, $queries_count, $queries_recursive, $queries_empty, $queries_drop_no_policy, $queries_drop_nc, $queries_drop_nc_answer, $queries_self_answer, $queries_serv_fail, $queries_failure, $queries_acl_drop, $rule_drop, $rule_nxdomain, $rule_refused, $latency_100, $latency_1000, $latency_10000, $latency_1000000, $latency_slow, $latency_0_1, $latency_1_10, $latency_10_50, $latency_50_100, $latency_100_1000) = explode("\n", $powerdns_dnsdist);
[$cache_hits, $cache_miss, $downstream_err, $downstream_timeout, $dynamic_block_size, $dynamic_blocked, $queries_count, $queries_recursive, $queries_empty, $queries_drop_no_policy, $queries_drop_nc, $queries_drop_nc_answer, $queries_self_answer, $queries_serv_fail, $queries_failure, $queries_acl_drop, $rule_drop, $rule_nxdomain, $rule_refused, $latency_100, $latency_1000, $latency_10000, $latency_1000000, $latency_slow, $latency_0_1, $latency_1_10, $latency_10_50, $latency_50_100, $latency_100_1000] = explode("\n", $powerdns_dnsdist);
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('cache_hits', 'COUNTER', 0)
@ -67,8 +67,7 @@ if (is_string($powerdns_dnsdist)) {
->addDataset('latency_50_100', 'COUNTER', 0)
->addDataset('latency_100_1000', 'COUNTER', 0);
$fields = array(
$fields = [
'cache_hits' => $cache_hits,
'cache_miss' => $cache_miss,
'downstream_err' => $downstream_err,
@ -98,9 +97,9 @@ if (is_string($powerdns_dnsdist)) {
'latency_10_50' => $latency_10_50,
'latency_50_100' => $latency_50_100,
'latency_100_1000' => $latency_100_1000,
);
];
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
update_application($app, $powerdns_dnsdist, $fields);
}

View File

@ -51,8 +51,8 @@ if ($agent_data['app'][$name]) {
$data = stripslashes(snmp_get($device, $oid, '-Oqv'));
}
if (!empty($data)) {
$ds_list = array(
if (! empty($data)) {
$ds_list = [
'all-outqueries' => 'DERIVE',
'answers-slow' => 'DERIVE',
'answers0-1' => 'DERIVE',
@ -111,10 +111,10 @@ if (!empty($data)) {
'unreachables' => 'DERIVE',
'uptime' => 'DERIVE',
'user-msec' => 'DERIVE',
);
];
//decode and flatten the data
$stats = array();
$stats = [];
foreach (json_decode($data, true) as $stat) {
$stats[$stat['name']] = $stat['value'];
}
@ -122,7 +122,7 @@ if (!empty($data)) {
// only the stats we store in rrd
$rrd_def = new RrdDefinition();
$fields = array();
$fields = [];
foreach ($ds_list as $key => $type) {
$rrd_def->addDataset($key, $type, 0);
@ -133,7 +133,7 @@ if (!empty($data)) {
}
}
$rrd_name = array('app', 'powerdns', 'recursor', $app_id);
$rrd_name = ['app', 'powerdns', 'recursor', $app_id];
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);
update_application($app, $data, $fields);

View File

@ -50,15 +50,16 @@ if (isset($agent_data) && isset($agent_data['app'][$name])) {
} catch (JsonAppParsingFailedException $e) {
$legacy = $e->getOutput();
} catch (JsonAppException $e) {
echo PHP_EOL . $name . ':' .$e->getCode().':'. $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode().':'.$e->getMessage(), []); // Set empty metrics and error message
echo PHP_EOL . $name . ':' . $e->getCode() . ':' . $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode() . ':' . $e->getMessage(), []); // Set empty metrics and error message
return;
}
}
if (isset($legacy)) {
// Legacy script, build compatible array
list(
[
$powerdns['corrupt-packets'],
$powerdns['deferred-cache-inserts'],
$powerdns['deferred-cache-lookup'],
@ -81,7 +82,7 @@ if (isset($legacy)) {
$powerdns['udp4-queries'],
$powerdns['udp6-answers'],
$powerdns['udp6-queries'],
) = explode("\n", $legacy);
] = explode("\n", $legacy);
}
d_echo($powerdns);

View File

@ -2,13 +2,13 @@
use LibreNMS\RRD\RrdDefinition;
if (!function_exists('proxmox_port_exists')) {
if (! function_exists('proxmox_port_exists')) {
/**
* Check if a port on a Proxmox VM exists
* @param string $p Port name
* @param string $c Clustername
* @param integer $i VM ID
* @return integer|boolean The port-ID if the port exists, false if it doesn't exist
* @param int $i VM ID
* @return int|bool The port-ID if the port exists, false if it doesn't exist
*/
function proxmox_port_exists($i, $c, $p)
{
@ -20,22 +20,22 @@ if (!function_exists('proxmox_port_exists')) {
}
}
if (!function_exists('proxmox_vm_exists')) {
if (! function_exists('proxmox_vm_exists')) {
/**
* Check if a Proxmox VM exists
* @param integer $i VM ID
* @param int $i VM ID
* @param string $c Clustername
* @param array $pmxcache Reference to the Proxmox VM Cache
* @return boolean true if the VM exists, false if it doesn't
* @return bool true if the VM exists, false if it doesn't
*/
function proxmox_vm_exists($i, $c, &$pmxcache)
{
if (isset($pmxcache[$c][$i]) && $pmxcache[$c][$i] > 0) {
return true;
}
if ($row = dbFetchRow("SELECT id FROM proxmox WHERE vmid = ? AND cluster = ?", [$i, $c])) {
$pmxcache[$c][$i] = (integer)$row['id'];
$pmxcache[$c][$i] = (int) $row['id'];
return true;
}
@ -46,11 +46,11 @@ if (!function_exists('proxmox_vm_exists')) {
$name = 'proxmox';
$app_id = $app['app_id'];
if (\LibreNMS\Config::get('enable_proxmox') && !empty($agent_data['app'][$name])) {
if (\LibreNMS\Config::get('enable_proxmox') && ! empty($agent_data['app'][$name])) {
$proxmox = $agent_data['app'][$name];
} elseif (\LibreNMS\Config::get('enable_proxmox')) {
$options = '-Oqv';
$oid = '.1.3.6.1.4.1.8072.1.3.2.3.1.2.7.112.114.111.120.109.111.120';
$oid = '.1.3.6.1.4.1.8072.1.3.2.3.1.2.7.112.114.111.120.109.111.120';
$proxmox = snmp_get($device, $oid, $options);
$proxmox = preg_replace('/^.+\n/', '', $proxmox);
$proxmox = str_replace("<<<app-proxmox>>>\n", '', $proxmox);
@ -60,33 +60,33 @@ if ($proxmox) {
$pmxlines = explode("\n", $proxmox);
$pmxcluster = array_shift($pmxlines);
dbUpdate(
array('device_id' => $device['device_id'], 'app_type' => $name, 'app_instance' => $pmxcluster),
['device_id' => $device['device_id'], 'app_type' => $name, 'app_instance' => $pmxcluster],
'applications',
'`device_id` = ? AND `app_type` = ?',
array($device['device_id'], $name)
[$device['device_id'], $name]
);
$metrics = array();
$metrics = [];
if (count($pmxlines) > 0) {
$pmxcache = array();
$pmxcache = [];
foreach ($pmxlines as $vm) {
$vm = str_replace('"', '', $vm);
list($vmid, $vmport, $vmpin, $vmpout, $vmdesc) = explode('/', $vm, 5);
print "Proxmox ($pmxcluster): $vmdesc: $vmpin/$vmpout/$vmport\n";
[$vmid, $vmport, $vmpin, $vmpout, $vmdesc] = explode('/', $vm, 5);
echo "Proxmox ($pmxcluster): $vmdesc: $vmpin/$vmpout/$vmport\n";
$rrd_proxmox_name = array(
$rrd_proxmox_name = [
'pmxcluster' => $pmxcluster,
'vmid' => $vmid,
'vmport' => $vmport
);
'vmport' => $vmport,
];
$rrd_def = RrdDefinition::make()
->addDataset('INOCTETS', 'DERIVE', 0, 12500000000)
->addDataset('OUTOCTETS', 'DERIVE', 0, 12500000000);
$fields = array(
$fields = [
'INOCTETS' => $vmpin,
'OUTOCTETS' => $vmpout
);
'OUTOCTETS' => $vmpout,
];
$proxmox_metric_prefix = "pmxcluster{$pmxcluster}_vmid{$vmid}_vmport$vmport";
$metrics[$proxmox_metric_prefix] = $fields;
@ -94,29 +94,29 @@ if ($proxmox) {
data_update($device, 'app', $tags, $fields);
if (proxmox_vm_exists($vmid, $pmxcluster, $pmxcache) === true) {
dbUpdate(array(
dbUpdate([
'device_id' => $device['device_id'],
'last_seen' => array('NOW()'),
'description' => $vmdesc
), $name, '`vmid` = ? AND `cluster` = ?', array($vmid, $pmxcluster));
'last_seen' => ['NOW()'],
'description' => $vmdesc,
], $name, '`vmid` = ? AND `cluster` = ?', [$vmid, $pmxcluster]);
} else {
$pmxcache[$pmxcluster][$vmid] = dbInsert(array(
$pmxcache[$pmxcluster][$vmid] = dbInsert([
'cluster' => $pmxcluster,
'vmid' => $vmid,
'description' => $vmdesc,
'device_id' => $device['device_id']
), $name);
'device_id' => $device['device_id'],
], $name);
}
if ($portid = proxmox_port_exists($vmid, $pmxcluster, $vmport) !== false) {
dbUpdate(
array('last_seen' => array('NOW()')),
['last_seen' => ['NOW()']],
'proxmox_ports',
'`vm_id` = ? AND `port` = ?',
array($pmxcache[$pmxcluster][$vmid], $vmport)
[$pmxcache[$pmxcluster][$vmid], $vmport]
);
} else {
dbInsert(array('vm_id' => $pmxcache[$pmxcluster][$vmid], 'port' => $vmport), 'proxmox_ports');
dbInsert(['vm_id' => $pmxcache[$pmxcluster][$vmid], 'port' => $vmport], 'proxmox_ports');
}
}
}

View File

@ -1,6 +1,7 @@
<?php
use LibreNMS\Exceptions\JsonAppMissingKeysException;
use LibreNMS\Exceptions\JsonAppException;
use LibreNMS\Exceptions\JsonAppMissingKeysException;
use LibreNMS\RRD\RrdDefinition;
$name = 'puppet-agent';
@ -12,57 +13,57 @@ try {
} catch (JsonAppMissingKeysException $e) {
$puppet_agent_data = $e->getParsedJson();
} catch (JsonAppException $e) {
echo PHP_EOL . $name . ':' .$e->getCode().':'. $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode().':'.$e->getMessage(), []); // Set empty metrics and error message
echo PHP_EOL . $name . ':' . $e->getCode() . ':' . $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode() . ':' . $e->getMessage(), []); // Set empty metrics and error message
return;
}
$puppet_changes = $puppet_agent_data['changes'];
$puppet_events = $puppet_agent_data['events'];
$puppet_resources = $puppet_agent_data['resources'];
$puppet_time = $puppet_agent_data['time'];
$metrics = array();
$metrics = [];
//
// Changes Processing
//
$rrd_name = array('app', $name, $app_id, 'changes');
$rrd_name = ['app', $name, $app_id, 'changes'];
$rrd_def = RrdDefinition::make()
->addDataset('total', 'GAUGE', 0);
$fields = array(
$fields = [
'total' => $puppet_changes['total'],
);
];
$metrics['changes'] = $fields;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
//
// Events Processing
//
$rrd_name = array('app', $name, $app_id, 'events');
$rrd_name = ['app', $name, $app_id, 'events'];
$rrd_def = RrdDefinition::make()
->addDataset('success', 'GAUGE', 0)
->addDataset('failure', 'GAUGE', 0)
->addDataset('total', 'GAUGE', 0);
$fields = array(
$fields = [
'success' => $puppet_events['success'],
'failure' => $puppet_events['failure'],
'total' => $puppet_events['total'],
);
];
$metrics['events'] = $fields;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
//
// Resources Processing
//
$rrd_name = array('app', $name, $app_id, 'resources');
$rrd_name = ['app', $name, $app_id, 'resources'];
$rrd_def = RrdDefinition::make()
->addDataset('changed', 'GAUGE', 0)
->addDataset('corrective_change', 'GAUGE', 0)
@ -74,7 +75,7 @@ $rrd_def = RrdDefinition::make()
->addDataset('skipped', 'GAUGE', 0)
->addDataset('total', 'GAUGE', 0);
$fields = array(
$fields = [
'changed' => $puppet_resources['changed'],
'corrective_change' => $puppet_resources['corrective_change'],
'failed' => $puppet_resources['failed'],
@ -84,16 +85,16 @@ $fields = array(
'scheduled' => $puppet_resources['scheduled'],
'skipped' => $puppet_resources['skipped'],
'total' => $puppet_resources['total'],
);
];
$metrics['resources'] = $fields;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
//
// Time Processing
//
$rrd_name = array('app', $name, $app_id, 'time');
$rrd_name = ['app', $name, $app_id, 'time'];
$rrd_def = RrdDefinition::make()
->addDataset('catalog_application', 'GAUGE', 0)
->addDataset('config_retrieval', 'GAUGE', 0)
@ -105,7 +106,7 @@ $rrd_def = RrdDefinition::make()
->addDataset('transaction_evaluation', 'GAUGE', 0)
->addDataset('total', 'GAUGE', 0);
$fields = array(
$fields = [
'catalog_application' => $puppet_time['catalog_application'],
'config_retrieval' => $puppet_time['config_retrieval'],
'convert_catalog' => $puppet_time['convert_catalog'],
@ -115,25 +116,25 @@ $fields = array(
'schedule' => $puppet_time['schedule'],
'transaction_evaluation' => $puppet_time['transaction_evaluation'],
'total' => $puppet_time['total'],
);
];
$metrics['time'] = $fields;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
//
// Last Rung Processing
//
$rrd_name = array('app', $name, $app_id, 'last_run');
$rrd_name = ['app', $name, $app_id, 'last_run'];
$rrd_def = RrdDefinition::make()
->addDataset('last_run', 'GAUGE', 0);
$fields = array(
'last_run' => round(intval($puppet_time['last_run'])/60, 0), # diff seconds to minutes
);
$fields = [
'last_run' => round(intval($puppet_time['last_run']) / 60, 0), // diff seconds to minutes
];
$metrics['last_run'] = $fields;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
update_application($app, $output, $metrics);

View File

@ -1,7 +1,7 @@
<?php
use LibreNMS\Exceptions\JsonAppMissingKeysException;
use LibreNMS\Exceptions\JsonAppException;
use LibreNMS\Exceptions\JsonAppMissingKeysException;
use LibreNMS\RRD\RrdDefinition;
$name = 'pureftpd';
@ -13,8 +13,9 @@ try {
} catch (JsonAppMissingKeysException $e) {
$pureftpd_data = $e->getParsedJson();
} catch (JsonAppException $e) {
echo PHP_EOL . $name . ':' .$e->getCode().':'. $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode().':'.$e->getMessage(), []); // Set empty metrics and error message
echo PHP_EOL . $name . ':' . $e->getCode() . ':' . $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode() . ':' . $e->getMessage(), []); // Set empty metrics and error message
return;
}
@ -48,47 +49,47 @@ foreach ($pureftpd_data as $client) {
}
}
$metrics = array();
#PureFTPd - Connections
$metrics = [];
//PureFTPd - Connections
$dataset = 'connections';
$rrd_name = array('app', $name, $app_id, $dataset);
$rrd_name = ['app', $name, $app_id, $dataset];
$rrd_def = RrdDefinition::make()
->addDataset('download', 'GAUGE', 0)
->addDataset('upload', 'GAUGE', 0)
->addDataset('idle', 'GAUGE', 0);
$fields = array (
$fields = [
'download' => $dl_connections,
'upload' => $ul_connections,
'idle' => $idle_connections
);
'idle' => $idle_connections,
];
$metrics[$dataset] = $fields;
$tags = array('name' => $dataset, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $dataset, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
#PureFTPd - connected Users
//PureFTPd - connected Users
$dataset = 'users';
$rrd_name = array('app', $name, $app_id, $dataset);
$rrd_name = ['app', $name, $app_id, $dataset];
$rrd_def = RrdDefinition::make()
->addDataset('total', 'GAUGE', 0);
$fields = array (
'total' => $users_connected
);
$fields = [
'total' => $users_connected,
];
$metrics[$dataset] = $fields;
$tags = array('name' => $dataset, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $dataset, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
#PureFTPd - Bitrate
//PureFTPd - Bitrate
$dataset = 'bitrate';
$rrd_name = array('app', $name, $app_id, $dataset);
$rrd_name = ['app', $name, $app_id, $dataset];
$rrd_def = RrdDefinition::make()
->addDataset('download', 'GAUGE', 0)
->addDataset('upload', 'GAUGE', 0);
$fields = array (
$fields = [
'download' => $dl_bitrate,
'upload' => $ul_bitrate,
);
];
$metrics[$dataset] = $fields;
$tags = array('name' => $dataset, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $dataset, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
update_application($app, $output, $metrics);

View File

@ -1,6 +1,7 @@
<?php
use LibreNMS\Exceptions\JsonAppMissingKeysException;
use LibreNMS\Exceptions\JsonAppException;
use LibreNMS\Exceptions\JsonAppMissingKeysException;
use LibreNMS\RRD\RrdDefinition;
$name = 'redis';
@ -12,8 +13,9 @@ try {
} catch (JsonAppMissingKeysException $e) {
$redis_data = $e->getParsedJson();
} catch (JsonAppException $e) {
echo PHP_EOL . $name . ':' .$e->getCode().':'. $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode().':'.$e->getMessage(), []); // Set empty metrics and error message
echo PHP_EOL . $name . ':' . $e->getCode() . ':' . $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode() . ':' . $e->getMessage(), []); // Set empty metrics and error message
return;
}
@ -21,72 +23,68 @@ $client_data = $redis_data['Clients'];
$memory_data = $redis_data['Memory'];
$stats_data = $redis_data['Stats'];
$metrics = array();
$metrics = [];
$category = 'clients';
$fields = array(
$fields = [
'connected' => $client_data['connected_clients'],
'blocked' => $client_data['blocked_clients'],
);
];
$rrd_def = RrdDefinition::make()
->addDataset('connected', 'GAUGE', 0)
->addDataset('blocked', 'GAUGE', 0);
$rrd_name = array('app', $name, $app_id, $category);
$rrd_name = ['app', $name, $app_id, $category];
$metrics[$category] = $fields;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
$category = 'memory';
$fields = array(
$fields = [
'active' => $memory_data['allocator'],
'allocated' => $memory_data['allocator_allocated'],
'resident' => $memory_data['allocator_resident'],
'frag_bytes' => $memory_data['allocator_frag_bytes'],
'rss_bytes' => $memory_data['allocator_rss_bytes'],
);
];
$rrd_def = RrdDefinition::make()
->addDataset('active', 'GAUGE', 0)
->addDataset('allocated', 'GAUGE', 0)
->addDataset('resident', 'GAUGE', 0)
->addDataset('frag_bytes', 'GAUGE', 0)
->addDataset('rss_bytes', 'GAUGE', 0);
$rrd_name = array('app', $name, $app_id, $category);
$rrd_name = ['app', $name, $app_id, $category];
$metrics[$category] = $fields;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
$category = 'objects';
$fields = array(
$fields = [
'pending' => $memory_data['lazyfree_pending_objects'],
);
];
$rrd_def = RrdDefinition::make()
->addDataset('pending', 'GAUGE', 0);
$rrd_name = array('app', $name, $app_id, $category);
$rrd_name = ['app', $name, $app_id, $category];
$metrics[$category] = $fields;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
$category = 'fragmentation';
$fields = array(
$fields = [
'bytes' => $memory_data['mem_fragmentation_bytes'],
);
];
$rrd_def = RrdDefinition::make()
->addDataset('bytes', 'GAUGE', 0);
$rrd_name = array('app', $name, $app_id, $category);
$rrd_name = ['app', $name, $app_id, $category];
$metrics[$category] = $fields;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
$category = 'usage';
$fields = array(
$fields = [
'allocated' => $memory_data['used_memory'],
'dataset' => $memory_data['used_memory_dataset'],
'lua' => $memory_data['used_memory_lua'],
@ -95,7 +93,7 @@ $fields = array(
'rss' => $memory_data['used_memory_rss'],
'scripts' => $memory_data['used_memory_scripts'],
'startup' => $memory_data['used_memory_startup'],
);
];
$rrd_def = RrdDefinition::make()
->addDataset('allocated', 'COUNTER', 0)
->addDataset('dataset', 'GAUGE', 0)
@ -105,104 +103,98 @@ $rrd_def = RrdDefinition::make()
->addDataset('rss', 'GAUGE', 0)
->addDataset('scripts', 'GAUGE', 0)
->addDataset('startup', 'GAUGE', 0);
$rrd_name = array('app', $name, $app_id, $category);
$rrd_name = ['app', $name, $app_id, $category];
$metrics[$category] = $fields;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
$category = 'defrag';
$fields = array(
$fields = [
'hits' => $stats_data['active_defrag_hits'],
'misses' => $stats_data['active_defrag_misses'],
'key_hits' => $stats_data['active_defrag_key_hits'],
'key_misses' => $stats_data['active_defrag_key_misses'],
);
];
$rrd_def = RrdDefinition::make()
->addDataset('hits', 'GAUGE', 0)
->addDataset('misses', 'GAUGE', 0)
->addDataset('key_hits', 'GAUGE', 0)
->addDataset('key_misses', 'GAUGE', 0);
$rrd_name = array('app', $name, $app_id, $category);
$rrd_name = ['app', $name, $app_id, $category];
$metrics[$category] = $fields;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
$category = 'keyspace';
$fields = array(
$fields = [
'hits' => $stats_data['keyspace_hits'],
'misses' => $stats_data['keyspace_misses'],
);
];
$rrd_def = RrdDefinition::make()
->addDataset('hits', 'COUNTER', 0)
->addDataset('misses', 'COUNTER', 0);
$rrd_name = array('app', $name, $app_id, $category);
$rrd_name = ['app', $name, $app_id, $category];
$metrics[$category] = $fields;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
$category = 'sync';
$fields = array(
$fields = [
'full' => $stats_data['sync_full'],
'ok' => $stats_data['sync_partial_ok'],
'err' => $stats_data['sync_partial_err'],
);
];
$rrd_def = RrdDefinition::make()
->addDataset('full', 'GAUGE', 0)
->addDataset('ok', 'GAUGE', 0)
->addDataset('err', 'GAUGE', 0);
$rrd_name = array('app', $name, $app_id, $category);
$rrd_name = ['app', $name, $app_id, $category];
$metrics[$category] = $fields;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
$category = 'commands';
$fields = array(
$fields = [
'processed' => $stats_data['total_commands_processed'],
);
];
$rrd_def = RrdDefinition::make()
->addDataset('processed', 'COUNTER', 0);
$rrd_name = array('app', $name, $app_id, $category);
$rrd_name = ['app', $name, $app_id, $category];
$metrics[$category] = $fields;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
$category = 'connections';
$fields = array(
$fields = [
'received' => $stats_data['total_connections_received'],
'rejected' => $stats_data['rejected_connections'],
);
];
$rrd_def = RrdDefinition::make()
->addDataset('received', 'COUNTER', 0)
->addDataset('rejected', 'COUNTER', 0);
$rrd_name = array('app', $name, $app_id, $category);
$rrd_name = ['app', $name, $app_id, $category];
$metrics[$category] = $fields;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
$category = 'net';
$fields = array(
$fields = [
'input_bytes' => $stats_data['total_net_input_bytes'],
'output_bytes' => $stats_data['total_net_output_bytes'],
);
];
$rrd_def = RrdDefinition::make()
->addDataset('input_bytes', 'COUNTER', 0)
->addDataset('output_bytes', 'COUNTER', 0);
$rrd_name = array('app', $name, $app_id, $category);
$rrd_name = ['app', $name, $app_id, $category];
$metrics[$category] = $fields;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
update_application($app, $output, $metrics);

View File

@ -40,7 +40,7 @@ if ($agent_data['app'][$name]) {
$sock = fsockopen($device['hostname'], 42217, $errno, $errstr, 5);
if (!$sock) {
if (! $sock) {
$socket = \LibreNMS\Config::get('rrdcached');
if (substr($socket, 0, 6) == 'unix:/') {
$socket_file = substr($socket, 5);
@ -57,7 +57,7 @@ if ($agent_data['app'][$name]) {
$data .= fgets($sock, 128);
if ($max == -1) {
$tmp_max = explode(' ', $data);
$max = $tmp_max[0]+1;
$max = $tmp_max[0] + 1;
}
$count++;
}
@ -67,7 +67,7 @@ if ($agent_data['app'][$name]) {
}
}
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('queue_length', 'GAUGE', 0)
->addDataset('updates_received', 'COUNTER', 0)
@ -79,7 +79,7 @@ $rrd_def = RrdDefinition::make()
->addDataset('journal_bytes', 'COUNTER', 0)
->addDataset('journal_rotate', 'COUNTER', 0);
$fields = array();
$fields = [];
foreach (explode("\n", $data) as $line) {
$split = explode(': ', $line);
if (count($split) == 2) {

View File

@ -31,7 +31,7 @@ d_echo($name);
$sdfsinfo = snmp_walk($device, $oid, $options);
if (is_string($sdfsinfo)) {
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('files', 'GAUGE', 0)
@ -46,9 +46,9 @@ if (is_string($sdfsinfo)) {
->addDataset('actual_savings', 'GAUGE', 0)
->addDataset('comp_rate', 'GAUGE', 0);
list($files, $vol_capacity, $vol_logic_size, $vol_max_load, $dup_data, $blocks_unique, $blocks_compressed, $cluster_copies, $dedup_rate, $actual_savings, $comp_rate) = explode(" ", $sdfsinfo);
[$files, $vol_capacity, $vol_logic_size, $vol_max_load, $dup_data, $blocks_unique, $blocks_compressed, $cluster_copies, $dedup_rate, $actual_savings, $comp_rate] = explode(" ", $sdfsinfo);
$fields = array(
$fields = [
'files' => $files,
'vol_capacity' => $vol_capacity,
'vol_logic_size' => $vol_logic_size,
@ -60,9 +60,9 @@ if (is_string($sdfsinfo)) {
'dedup_rate' => $dedup_rate,
'actual_savings' => $actual_savings,
'comp_rate' => $comp_rate,
);
];
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
update_application($app, $sdfsinfo, $fields);

View File

@ -1,6 +1,7 @@
<?php
use LibreNMS\Exceptions\JsonAppMissingKeysException;
use LibreNMS\Exceptions\JsonAppException;
use LibreNMS\Exceptions\JsonAppMissingKeysException;
use LibreNMS\RRD\RrdDefinition;
$name = 'seafile';
@ -12,8 +13,9 @@ try {
} catch (JsonAppMissingKeysException $e) {
$seafile_data = $e->getParsedJson();
} catch (JsonAppException $e) {
echo PHP_EOL . $name . ':' .$e->getCode().':'. $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode().':'.$e->getMessage(), []); // Set empty metrics and error message
echo PHP_EOL . $name . ':' . $e->getCode() . ':' . $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode() . ':' . $e->getMessage(), []); // Set empty metrics and error message
return;
}
@ -23,7 +25,7 @@ $client_platform = $seafile_data['devices']['platform'];
$group_data = $seafile_data['groups'];
$sysinfo_data = $seafile_data['sysinfo'];
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('enabled', 'GAUGE', 0)
->addDataset('libraries', 'GAUGE', 0)
@ -31,31 +33,30 @@ $rrd_def = RrdDefinition::make()
->addDataset('size_consumption', 'GAUGE', 0);
$category = 'acc';
$metrics = array();
# handling accounts
$metrics = [];
// handling accounts
foreach ($account_data as $data) {
$owner_name = str_replace(' ', '_', $data['owner']);
$enabled = $data['is_active'] ? 1: 0;
$enabled = $data['is_active'] ? 1 : 0;
$libraries = $data['repos'];
$trashed_libraries = $data['trash_repos'];
$size_consumption = $data['usage'];
$rrd_name = array('app', $name, $app_id, $category, $owner_name);
$rrd_name = ['app', $name, $app_id, $category, $owner_name];
$fields = array(
$fields = [
'enabled' => $enabled,
'libraries' => $libraries,
'trashed_libraries' => $trashed_libraries,
'size_consumption' => $size_consumption
);
'size_consumption' => $size_consumption,
];
$metrics[$owner_name.'_'.$category] = $fields;
$tags = array('name' => $owner_name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$metrics[$owner_name . '_' . $category] = $fields;
$tags = ['name' => $owner_name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
}
# handling groups
// handling groups
$rrd_def = RrdDefinition::make()
->addDataset('count', 'GAUGE', 0);
$category = 'grp';
@ -63,18 +64,17 @@ $category = 'grp';
$group_name = 'groups';
$group_count = $group_data['count'];
$rrd_name = array('app', $name, $app_id, $category, $group_name);
$rrd_name = ['app', $name, $app_id, $category, $group_name];
$fields = array(
$fields = [
'count' => $group_count,
);
];
$metrics[$group_name.'_'.$category] = $fields;
$tags = array('name' => $group_name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$metrics[$group_name . '_' . $category] = $fields;
$tags = ['name' => $group_name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
# handling client version
// handling client version
$rrd_def = RrdDefinition::make()
->addDataset('version', 'GAUGE', 0);
$category = 'cltver';
@ -83,19 +83,18 @@ foreach ($client_version as $data) {
$version_name = $data['client_version'];
$version_count = $data['clients'];
$rrd_name = array('app', $name, $app_id, $category, $version_name);
$rrd_name = ['app', $name, $app_id, $category, $version_name];
$fields = array(
$fields = [
'version' => $version_count,
);
];
$metrics[$version_name.'_'.$category] = $fields;
$tags = array('name' => $version_name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$metrics[$version_name . '_' . $category] = $fields;
$tags = ['name' => $version_name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
}
# handling client platform
// handling client platform
$rrd_def = RrdDefinition::make()
->addDataset('platform', 'GAUGE', 0);
$category = 'cltos';
@ -104,19 +103,18 @@ foreach ($client_platform as $data) {
$os_name = $data['os_name'];
$os_count = $data['clients'];
$rrd_name = array('app', $name, $app_id, $category, $os_name);
$rrd_name = ['app', $name, $app_id, $category, $os_name];
$fields = array(
$fields = [
'platform' => $os_count,
);
];
$metrics[$os_name.'_'.$category] = $fields;
$tags = array('name' => $os_name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$metrics[$os_name . '_' . $category] = $fields;
$tags = ['name' => $os_name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
}
# handling sysinfo
// handling sysinfo
$rrd_def = RrdDefinition::make()
->addDataset('connected', 'GAUGE', 0);
$category = 'sysinfo';
@ -124,14 +122,14 @@ $category = 'sysinfo';
$sysinfo_name = 'devices';
$sysinfo_connected_devices = $sysinfo_data['current_connected_devices_count'];
$rrd_name = array('app', $name, $app_id, $category, $sysinfo_name);
$rrd_name = ['app', $name, $app_id, $category, $sysinfo_name];
$fields = array(
$fields = [
'connected' => $sysinfo_connected_devices,
);
];
$metrics[$sysinfo_name.'_'.$category] = $fields;
$tags = array('name' => $sysinfo_name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$metrics[$sysinfo_name . '_' . $category] = $fields;
$tags = ['name' => $sysinfo_name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
update_application($app, $output, $metrics);

View File

@ -8,22 +8,22 @@ $name = 'shoutcast';
$app_id = $app['app_id'];
$options = '-Oqv';
$oid = '.1.3.6.1.4.1.8072.1.3.2.3.1.2.9.115.104.111.117.116.99.97.115.116';
$oid = '.1.3.6.1.4.1.8072.1.3.2.3.1.2.9.115.104.111.117.116.99.97.115.116';
$shoutcast = snmp_get($device, $oid, $options);
echo ' shoutcast';
$servers = explode("\n", $shoutcast);
$metrics = array();
$metrics = [];
foreach ($servers as $item => $server) {
$server = trim($server);
if (!empty($server)) {
if (! empty($server)) {
$data = explode(';', $server);
list($host, $port) = explode(':', $data['0'], 2);
[$host, $port] = explode(':', $data['0'], 2);
$rrd_name = array('app', $name, $app_id, $host . '_' . $port);
$rrd_name = ['app', $name, $app_id, $host . '_' . $port];
$rrd_def = RrdDefinition::make()
->addDataset('bitrate', 'GAUGE', 0, 125000000000)
->addDataset('traf_in', 'GAUGE', 0, 125000000000)
@ -34,7 +34,7 @@ foreach ($servers as $item => $server) {
->addDataset('max', 'GAUGE', 0, 125000000000)
->addDataset('unique', 'GAUGE', 0, 125000000000);
$fields = array(
$fields = [
'bitrate' => $data['1'],
'traf_in' => $data['2'],
'traf_out' => $data['3'],
@ -43,7 +43,7 @@ foreach ($servers as $item => $server) {
'peak' => $data['6'],
'max' => $data['7'],
'unique' => $data['8'],
);
];
$metrics[$server] = $fields;
$tags = compact('name', 'app_id', 'host', 'port', 'rrd_name', 'rrd_def');

View File

@ -2,18 +2,18 @@
use LibreNMS\RRD\RrdDefinition;
echo('SMART');
echo 'SMART';
$name = 'smart';
$app_id = $app['app_id'];
$options = '-Oqv';
$oid = '.1.3.6.1.4.1.8072.1.3.2.3.1.2.5.115.109.97.114.116';
$options = '-Oqv';
$oid = '.1.3.6.1.4.1.8072.1.3.2.3.1.2.5.115.109.97.114.116';
$output = snmp_walk($device, $oid, $options);
$lines = explode("\n", $output);
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('id5', 'GAUGE', 0)
->addDataset('id10', 'GAUGE', 0)
@ -40,14 +40,14 @@ $rrd_def = RrdDefinition::make()
->addDataset('conveyance', 'GAUGE', 0)
->addDataset('selective', 'GAUGE', 0);
$int=0;
$metrics = array();
$int = 0;
$metrics = [];
while (isset($lines[$int])) {
list($disk, $id5, $id10, $id173, $id177, $id183, $id184, $id187, $id188, $id190, $id194,
[$disk, $id5, $id10, $id173, $id177, $id183, $id184, $id187, $id188, $id190, $id194,
$id196, $id197, $id198, $id199, $id231, $id233, $completed, $interrupted, $read_failure,
$unknown_failure, $extended, $short, $conveyance, $selective)=explode(",", $lines[$int]);
$unknown_failure, $extended, $short, $conveyance, $selective] = explode(",", $lines[$int]);
$rrd_name = array('app', $name, $app_id, $disk);
$rrd_name = ['app', $name, $app_id, $disk];
$fields = [
'id5' => is_numeric($id5) ? $id5 : null,
@ -73,32 +73,31 @@ while (isset($lines[$int])) {
'extended' => is_numeric($extended) ? $extended : null,
'short' => is_numeric($short) ? $short : null,
'conveyance' => is_numeric($conveyance) ? $conveyance : null,
'selective' => is_numeric($selective) ? $selective : null
'selective' => is_numeric($selective) ? $selective : null,
];
$metrics[$disk] = $fields;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
$int++;
}
# smart enhancement id9
$rrd_name = array('app', $name, $app_id);
// smart enhancement id9
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('id9', 'GAUGE', 0);
$int=0;
$int = 0;
while (isset($lines[$int])) {
list($disk, , , , , , , , , , , , , , , , , , , , , , , , , $id9)=explode(",", $lines[$int]);
[$disk, , , , , , , , , , , , , , , , , , , , , , , , , $id9] = explode(",", $lines[$int]);
$rrd_name = array('app', $name.'_id9', $app_id, $disk);
$rrd_name = ['app', $name . '_id9', $app_id, $disk];
$fields = ['id9' => $id9];
$metrics[$disk]['id9'] = $id9;
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
$int++;

View File

@ -5,7 +5,7 @@ use LibreNMS\RRD\RrdDefinition;
$name = 'squid';
$app_id = $app['app_id'];
$oids=array(
$oids = [
'.1.3.6.1.4.1.3495.1.2.5.1.0',
'.1.3.6.1.4.1.3495.1.2.5.2.0',
'.1.3.6.1.4.1.3495.1.2.5.3.0',
@ -43,9 +43,9 @@ $oids=array(
'.1.3.6.1.4.1.3495.1.3.2.2.1.9.60',
'.1.3.6.1.4.1.3495.1.3.2.2.1.10.1',
'.1.3.6.1.4.1.3495.1.3.2.2.1.10.5',
'.1.3.6.1.4.1.3495.1.3.2.2.1.10.60'
);
$returnedoids=snmp_get_multi_oid($device, $oids);
'.1.3.6.1.4.1.3495.1.3.2.2.1.10.60',
];
$returnedoids = snmp_get_multi_oid($device, $oids);
$memmaxsize = $returnedoids['.1.3.6.1.4.1.3495.1.2.5.1.0'];
$swapmaxsize = $returnedoids['.1.3.6.1.4.1.3495.1.2.5.2.0'];
@ -86,7 +86,7 @@ $requestbyteratio1 = $returnedoids['.1.3.6.1.4.1.3495.1.3.2.2.1.10.1'];
$requestbyteratio5 = $returnedoids['.1.3.6.1.4.1.3495.1.3.2.2.1.10.5'];
$requestbyteratio60 = $returnedoids['.1.3.6.1.4.1.3495.1.3.2.2.1.10.60'];
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('memmaxsize', 'GAUGE', 0)
@ -127,12 +127,12 @@ $rrd_def = RrdDefinition::make()
->addDataset('reqbyteratio5', 'GAUGE', 0)
->addDataset('reqbyteratio60', 'GAUGE', 0);
$memmaxsize=$memmaxsize*1000;
$swapmaxsize=$swapmaxsize*1000;
$swaphighwm=$swaphighwm*1000;
$swaplowwm=$swaplowwm*1000;
$memmaxsize = $memmaxsize * 1000;
$swapmaxsize = $swapmaxsize * 1000;
$swaphighwm = $swaphighwm * 1000;
$swaplowwm = $swaplowwm * 1000;
$fields = array(
$fields = [
"memmaxsize" => $memmaxsize,
"swapmaxsize" => $swapmaxsize,
"swaphighwm" => $swaphighwm,
@ -170,9 +170,9 @@ $fields = array(
"reqbyteratio1" => $requestbyteratio1,
"reqbyteratio5" => $requestbyteratio5,
"reqbyteratio60" => $requestbyteratio60,
);
];
$tags = array('name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
$tags = ['name' => $name, 'app_id' => $app_id, 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'app', $tags, $fields);
$squid_app_status = ($returnedoids == false) ? false : 'Data ok';

View File

@ -28,9 +28,9 @@ use LibreNMS\RRD\RrdDefinition;
$name = 'tinydns';
$app_id = $app['app_id'];
if (!empty($agent_data['app'][$name]) && $app_id > 0) {
if (! empty($agent_data['app'][$name]) && $app_id > 0) {
echo ' tinydns';
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('a', 'COUNTER', 0, 125000000000)
->addDataset('ns', 'COUNTER', 0, 125000000000)
@ -53,12 +53,12 @@ if (!empty($agent_data['app'][$name]) && $app_id > 0) {
->addDataset('badclass', 'COUNTER', 0, 125000000000)
->addDataset('noquery', 'COUNTER', 0, 125000000000);
list(
[
$a, $ns, $cname, $soa, $ptr, $hinfo, $mx, $txt, $rp, $sig, $key, $aaaa, $axfr, $any,
$total, $other, $notauth, $notimpl, $badclass, $noquery
) = explode(':', $agent_data['app'][$name]);
] = explode(':', $agent_data['app'][$name]);
$fields = array(
$fields = [
'a' => $a,
'ns' => $ns,
'cname' => $cname,
@ -78,8 +78,8 @@ if (!empty($agent_data['app'][$name]) && $app_id > 0) {
'notauth' => $notauth,
'notimpl' => $notimpl,
'badclass' => $badclass,
'noquery' => $noquery
);
'noquery' => $noquery,
];
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);

View File

@ -4,23 +4,23 @@ use LibreNMS\RRD\RrdDefinition;
$name = 'unbound';
$app_id = $app['app_id'];
if (!empty($agent_data['app'][$name])) {
if (! empty($agent_data['app'][$name])) {
$rawdata = $agent_data['app'][$name];
} else {
$options = '-Oqv';
$oid = '.1.3.6.1.4.1.8072.1.3.2.3.1.2.7.117.110.98.111.117.110.100';
$rawdata = snmp_get($device, $oid, $options);
$oid = '.1.3.6.1.4.1.8072.1.3.2.3.1.2.7.117.110.98.111.117.110.100';
$rawdata = snmp_get($device, $oid, $options);
}
#Format Data
//Format Data
$lines = explode("\n", $rawdata);
$unbound = array();
$metrics = array();
$unbound = [];
$metrics = [];
foreach ($lines as $line) {
list($var,$value) = explode('=', $line);
[$var,$value] = explode('=', $line);
$unbound[$var] = $value;
}
#Unbound Queries
$rrd_name = array('app', $name,'queries',$app_id);
//Unbound Queries
$rrd_name = ['app', $name, 'queries', $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('type0', 'DERIVE', 0, 125000000000)
->addDataset('A', 'DERIVE', 0, 125000000000)
@ -40,7 +40,7 @@ $rrd_def = RrdDefinition::make()
->addDataset('SPF', 'DERIVE', 0, 125000000000)
->addDataset('ANY', 'DERIVE', 0, 125000000000)
->addDataset('other', 'DERIVE', 0, 125000000000);
$fields = array (
$fields = [
'type0' => $unbound['num.query.type.TYPE0'],
'a' => $unbound['num.query.type.A'],
'ns' => $unbound['num.query.type.NS'],
@ -58,66 +58,66 @@ $fields = array (
'dnskey' => $unbound['num.query.type.DNSKEY'],
'spf' => $unbound['num.query.type.SPF'],
'any' => $unbound['num.query.type.ANY'],
'other' => $unbound['num.query.type.other']
);
'other' => $unbound['num.query.type.other'],
];
$metrics['queries'] = $fields;
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);
#Unbound Cache
$rrd_name = array('app', $name,'cache',$app_id);
//Unbound Cache
$rrd_name = ['app', $name, 'cache', $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('queries', 'DERIVE', 0, 125000000000)
->addDataset('hits', 'DERIVE', 0, 125000000000)
->addDataset('misses', 'DERIVE', 0, 125000000000);
$fields = array (
$fields = [
'queries' => $unbound['total.num.queries'],
'hits' => $unbound['total.num.cachehits'],
'misses' => $unbound['total.num.cachemiss']
);
'misses' => $unbound['total.num.cachemiss'],
];
$metrics['cache'] = $fields;
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);
#Unbound Operations - Total opcodes and three valuable return codes
$rrd_name = array('app', $name,'operations',$app_id);
//Unbound Operations - Total opcodes and three valuable return codes
$rrd_name = ['app', $name, 'operations', $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('opcodeQuery', 'DERIVE', 0, 125000000000)
->addDataset('rcodeNOERROR', 'DERIVE', 0, 125000000000)
->addDataset('rcodeNXDOMAIN', 'DERIVE', 0, 125000000000)
->addDataset('rcodeNodata', 'DERIVE', 0, 125000000000);
$fields = array (
$fields = [
'opcodeQuery' => $unbound['num.query.opcode.QUERY'],
'rcodeNOERROR' => $unbound['num.answer.rcode.NOERROR'],
'rcodeNXDOMAIN' => $unbound['num.answer.rcode.NXDOMAIN'],
'rcodeNodata' => $unbound['num.answer.rcode.nodata']
);
'rcodeNodata' => $unbound['num.answer.rcode.nodata'],
];
$metrics['operations'] = $fields;
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);
#Unbound requestlist
$rrd_name = array('app', $name,'requestlist',$app_id);
//Unbound requestlist
$rrd_name = ['app', $name, 'requestlist', $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('max', 'DERIVE', 0, 125000000000)
->addDataset('overwritten', 'DERIVE', 0, 125000000000)
->addDataset('exceeded', 'DERIVE', 0, 125000000000);
$fields = array (
$fields = [
'max' => $unbound['total.requestlist.max'],
'overwritten' => $unbound['total.requestlist.overwritten'],
'exceeded' => $unbound['total.requestlist.exceeded']
);
'exceeded' => $unbound['total.requestlist.exceeded'],
];
$metrics['requestlist'] = $fields;
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);
#Unbound recursiontime
$rrd_name = array('app', $name,'recursiontime',$app_id);
//Unbound recursiontime
$rrd_name = ['app', $name, 'recursiontime', $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('avg', 'GAUGE', 0, 125000000000)
->addDataset('median', 'GAUGE', 0, 125000000000);
$fields = array (
$fields = [
'avg' => $unbound['total.recursion.time.avg'],
'median' => $unbound['total.recursion.time.median']
);
'median' => $unbound['total.recursion.time.median'],
];
$metrics['recursiontime'] = $fields;
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);

View File

@ -19,42 +19,43 @@
* @author Cercel Valentin <crc@nuamchefazi.ro>
*/
use LibreNMS\Exceptions\JsonAppParsingFailedException;
use LibreNMS\Exceptions\JsonAppException;
use LibreNMS\Exceptions\JsonAppParsingFailedException;
use LibreNMS\RRD\RrdDefinition;
//NET-SNMP-EXTEND-MIB::nsExtendOutputFull."ups-apcups"
$name = 'ups-apcups';
$app_id = $app['app_id'];
echo ' '.$name;
echo ' ' . $name;
try {
$json_return=json_app_get($device, $name);
$json_return = json_app_get($device, $name);
} catch (JsonAppParsingFailedException $e) {
// Legacy script, build compatible array
$legacy = trim($e->getOutput());
// pull apart the legacy info and create the basic required hash with it
list ($line_volt, $load, $charge, $remaining, $bat_volt, $line_nominal, $bat_nominal) = explode("\n", $legacy);
$json_return=array(
'data' => array(
[$line_volt, $load, $charge, $remaining, $bat_volt, $line_nominal, $bat_nominal] = explode("\n", $legacy);
$json_return = [
'data' => [
'charge' => $charge,
'time_remaining' => $remaining,
'battery_nominal' => $bat_nominal,
'battery_voltage' => $bat_volt,
'input_voltage' => $line_volt,
'nominal_voltage' => $line_nominal,
'load' => $load
)
);
'load' => $load,
],
];
} catch (JsonAppException $e) {
echo PHP_EOL . $name . ':' .$e->getCode().':'. $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode().':'.$e->getMessage(), []); // Set empty metrics and error message
echo PHP_EOL . $name . ':' . $e->getCode() . ':' . $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode() . ':' . $e->getMessage(), []); // Set empty metrics and error message
return;
}
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('charge', 'GAUGE', 0, 100)
->addDataset('time_remaining', 'GAUGE', 0)
@ -64,15 +65,15 @@ $rrd_def = RrdDefinition::make()
->addDataset('nominal_voltage', 'GAUGE', 0)
->addDataset('load', 'GAUGE', 0, 100);
$fields = array(
'charge' => $json_return['data']['charge'],
'time_remaining' => $json_return['data']['time_remaining'],
'battery_nominal' => $json_return['data']['battery_nominal'],
'battery_voltage' => $json_return['data']['battery_voltage'],
'input_voltage' => $json_return['data']['input_voltage'],
'nominal_voltage' => $json_return['data']['nominal_voltage'],
'load' => $json_return['data']['load'],
);
$fields = [
'charge' => $json_return['data']['charge'],
'time_remaining' => $json_return['data']['time_remaining'],
'battery_nominal' => $json_return['data']['battery_nominal'],
'battery_voltage' => $json_return['data']['battery_voltage'],
'input_voltage' => $json_return['data']['input_voltage'],
'nominal_voltage' => $json_return['data']['nominal_voltage'],
'load' => $json_return['data']['load'],
];
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');
data_update($device, 'app', $tags, $fields);

View File

@ -33,17 +33,17 @@ $ups_nut = snmp_get($device, $oid, '-Oqv');
// If "extend" (used above) fails, try "exec" support.
// Note, exec always splits outputs on newline, so need to use snmp_walk (not a single SNMP entry!)
if (!$ups_nut) {
if (! $ups_nut) {
// Data is in an array, due to how "exec" works with ups-nut.sh output, so snmp_walk to retrieve it
$oid = '.1.3.6.1.4.1.2021.7890.2.101';
$ups_nut=snmp_walk($device, $oid, '-Oqv');
$ups_nut = snmp_walk($device, $oid, '-Oqv');
}
//print_r(array_values(explode("\n", $ups_nut)));
echo ' '.$name;
echo ' ' . $name;
// (2020-05-13, Jon.W) Added ups status data and updated ups-nut.sh script.
list (
[
$charge,
$battery_low,
$remaining,
@ -66,9 +66,9 @@ list (
$UPSUPSBuck,
$UPSUPSBoost,
$UPSForcedShutdown
) = explode("\n", $ups_nut);
] = explode("\n", $ups_nut);
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('charge', 'GAUGE', 0, 100)
->addDataset('battery_low', 'GAUGE', 0, 100)
@ -79,37 +79,37 @@ $rrd_def = RrdDefinition::make()
->addDataset('input_voltage', 'GAUGE', 0)
->addDataset('load', 'GAUGE', 0, 100);
$fields = array(
$fields = [
'charge' => $charge,
'battery_low' => $battery_low,
'time_remaining' => $remaining/60,
'time_remaining' => $remaining / 60,
'battery_voltage' => $bat_volt,
'battery_nominal' => $bat_nom,
'line_nominal' => $line_nom,
'input_voltage' => $input_volt,
'load' => $load
);
'load' => $load,
];
$sensors = [
['state_name' => 'UPSOnLine' , 'value' => $UPSOnLine],
['state_name' => 'UPSOnBattery' , 'value' => $UPSOnBattery],
['state_name' => 'UPSLowBattery' , 'value' => $UPSLowBattery],
['state_name' => 'UPSHighBattery' , 'value' => $UPSHighBattery],
['state_name' => 'UPSBatteryReplace' , 'value' => $UPSBatteryReplace],
['state_name' => 'UPSBatteryCharging' , 'value' => $UPSBatteryCharging],
['state_name' => 'UPSOnLine', 'value' => $UPSOnLine],
['state_name' => 'UPSOnBattery', 'value' => $UPSOnBattery],
['state_name' => 'UPSLowBattery', 'value' => $UPSLowBattery],
['state_name' => 'UPSHighBattery', 'value' => $UPSHighBattery],
['state_name' => 'UPSBatteryReplace', 'value' => $UPSBatteryReplace],
['state_name' => 'UPSBatteryCharging', 'value' => $UPSBatteryCharging],
['state_name' => 'UPSBatteryDischarging', 'value' => $UPSBatteryDischarging],
['state_name' => 'UPSUPSBypass' , 'value' => $UPSUPSBypass],
['state_name' => 'UPSUPSBypass', 'value' => $UPSUPSBypass],
['state_name' => 'UPSRuntimeCalibration', 'value' => $UPSRuntimeCalibration],
['state_name' => 'UPSOffline' , 'value' => $UPSOffline],
['state_name' => 'UPSUPSOverloaded' , 'value' => $UPSUPSOverloaded],
['state_name' => 'UPSUPSBuck' , 'value' => $UPSUPSBuck],
['state_name' => 'UPSUPSBoost' , 'value' => $UPSUPSBoost],
['state_name' => 'UPSForcedShutdown' , 'value' => $UPSForcedShutdown]
['state_name' => 'UPSOffline', 'value' => $UPSOffline],
['state_name' => 'UPSUPSOverloaded', 'value' => $UPSUPSOverloaded],
['state_name' => 'UPSUPSBuck', 'value' => $UPSUPSBuck],
['state_name' => 'UPSUPSBoost', 'value' => $UPSUPSBoost],
['state_name' => 'UPSForcedShutdown', 'value' => $UPSForcedShutdown],
];
foreach ($sensors as $index => $sensor) {
$rrd_def->addDataset($sensor['state_name'], 'GAUGE', 0);
$fields[$sensor['state_name']]= $sensor['value'];
$fields[$sensor['state_name']] = $sensor['value'];
}
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');

View File

@ -7,7 +7,7 @@ $app_id = $app['app_id'];
echo "$name, app_id=$app_id ";
if (!empty($agent_data[$name])) {
if (! empty($agent_data[$name])) {
$rawdata = $agent_data[$name];
} else {
$options = '-Oqv';
@ -17,30 +17,30 @@ if (!empty($agent_data[$name])) {
$rawdata = snmp_get($device, $oid, $options, $mib);
}
# Format Data
// Format Data
$lines = explode("\n", $rawdata);
$voip = array();
$voip = [];
foreach ($lines as $line) {
list($var,$value) = explode('=', $line);
[$var,$value] = explode('=', $line);
$voip[$var] = $value;
}
unset($lines);
$rrd_name = array('app', $name, $app_id);
$rrd_name = ['app', $name, $app_id];
$rrd_def = RrdDefinition::make()
->addDataset('cpu', 'GAUGE', 0, 100)
->addDataset('kbyte', 'GAUGE', 0, 125000000000)
->addDataset('openfiles', 'GAUGE', 0, 125000000000);
$fields = array(
'cpu' => (float)$voip['CPU Load'],
'kbyte' => (int)$voip['Used Memory'],
'openfiles' => (int)$voip['Open files']
);
$fields = [
'cpu' => (float) $voip['CPU Load'],
'kbyte' => (int) $voip['Used Memory'],
'openfiles' => (int) $voip['Open files'],
];
$tags = compact('name', 'app_id', 'rrd_name', 'rrd_def');

View File

@ -1,7 +1,7 @@
<?php
use LibreNMS\Exceptions\JsonAppMissingKeysException;
use LibreNMS\Exceptions\JsonAppException;
use LibreNMS\Exceptions\JsonAppMissingKeysException;
use LibreNMS\RRD\RrdDefinition;
$name = 'zfs';
@ -10,7 +10,7 @@ $app_id = $app['app_id'];
echo $name;
// Is set to false later if missing keys are found.
$not_legacy=1;
$not_legacy = 1;
try {
$zfs = json_app_get($device, $name, 1)['data'];
@ -18,8 +18,9 @@ try {
//old version with out the data key
$zfs = $e->getParsedJson();
} catch (JsonAppException $e) {
echo PHP_EOL . $name . ':' .$e->getCode().':'. $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode().':'.$e->getMessage(), []); // Set empty metrics and error message
echo PHP_EOL . $name . ':' . $e->getCode() . ':' . $e->getMessage() . PHP_EOL;
update_application($app, $e->getCode() . ':' . $e->getMessage(), []); // Set empty metrics and error message
return;
}
@ -180,22 +181,22 @@ foreach ($zfs['pools'] as $pool) {
//
// component processing for ZFS
//
$device_id=$device['device_id'];
$options= [
$device_id = $device['device_id'];
$options = [
'filter' => [
'device_id' => ['=', $device_id],
'type' => ['=', 'zfs'],
],
];
$component=new LibreNMS\Component();
$components=$component->getComponents($device_id, $options);
$component = new LibreNMS\Component();
$components = $component->getComponents($device_id, $options);
// if no pools, delete zfs components
if (empty($pools)) {
if (isset($components[$device_id])) {
foreach ($components[$device_id] as $component_id => $_unused) {
$component->deleteComponent($component_id);
$component->deleteComponent($component_id);
}
}
} else {

View File

@ -7,27 +7,25 @@ if ($device['type'] == 'wireless' && $device['os'] == 'arubaos') {
// Build SNMP Cache Array
// stuff about the controller
$switch_info_oids = array(
$switch_info_oids = [
'wlsxSwitchRole',
'wlsxSwitchMasterIp',
);
$switch_counter_oids = array(
];
$switch_counter_oids = [
'wlsxSwitchTotalNumAccessPoints.0',
'wlsxSwitchTotalNumStationsAssociated.0',
);
];
$switch_apinfo_oids = array(
$switch_apinfo_oids = [
'wlsxWlanRadioEntry',
'wlanAPChInterferenceIndex',
);
$switch_apname_oids = array('wlsxWlanRadioEntry.16');
];
$switch_apname_oids = ['wlsxWlanRadioEntry.16'];
// initialize arrays to avoid overwriting them in foreach loops below
$aruba_stats = array();
$aruba_apstats = array();
$aruba_apnames = array();
$aruba_stats = [];
$aruba_apstats = [];
$aruba_apnames = [];
$aruba_oids = array_merge($switch_info_oids, $switch_counter_oids);
echo 'Caching Oids: ';
@ -46,7 +44,6 @@ if ($device['type'] == 'wireless' && $device['os'] == 'arubaos') {
$aruba_apnames = snmpwalk_cache_numerical_oid($device, $oid, $aruba_apnames, 'WLSX-WLAN-MIB');
}
echo "\n";
$rrd_name = 'aruba-controller';
@ -54,50 +51,48 @@ if ($device['type'] == 'wireless' && $device['os'] == 'arubaos') {
->addDataset('NUMAPS', 'GAUGE', 0, 12500000000)
->addDataset('NUMCLIENTS', 'GAUGE', 0, 12500000000);
$fields = array(
$fields = [
'NUMAPS' => $aruba_stats[0]['wlsxSwitchTotalNumAccessPoints'],
'NUMCLIENTS' => $aruba_stats[0]['wlsxSwitchTotalNumStationsAssociated'],
);
];
$tags = compact('rrd_name', 'rrd_def');
data_update($device, 'aruba-controller', $tags, $fields);
$ap_db = dbFetchRows('SELECT * FROM `access_points` WHERE `device_id` = ?', array($device['device_id']));
$ap_db = dbFetchRows('SELECT * FROM `access_points` WHERE `device_id` = ?', [$device['device_id']]);
foreach ($aruba_apnames as $key1 => $value1) {
foreach ($value1 as $key => $value) {
$radioid = str_replace('.1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.16.', '', $key);
$name = $value;
$type = $aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.2.$radioid"];
$channel = ($aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.3.$radioid"] + 0);
$txpow = ($aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.4.$radioid"] + 0)/2;
$radioutil = ($aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.6.$radioid"] + 0);
$radioid = str_replace('.1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.16.', '', $key);
$name = $value;
$type = $aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.2.$radioid"];
$channel = ($aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.3.$radioid"] + 0);
$txpow = ($aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.4.$radioid"] + 0) / 2;
$radioutil = ($aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.6.$radioid"] + 0);
$numasoclients = ($aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.7.$radioid"] + 0);
$nummonclients = ($aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.8.$radioid"] + 0);
$numactbssid = ($aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.9.$radioid"] + 0);
$nummonbssid = ($aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.10.$radioid"] + 0);
$interference = ($aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.3.1.6.1.11.$radioid"] + 0);
$numactbssid = ($aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.9.$radioid"] + 0);
$nummonbssid = ($aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.2.1.5.1.10.$radioid"] + 0);
$interference = ($aruba_apstats[$key1][".1.3.6.1.4.1.14823.2.2.1.5.3.1.6.1.11.$radioid"] + 0);
$radionum = substr($radioid, (strlen($radioid) - 1), 1);
d_echo($key.PHP_EOL);
d_echo($value.PHP_EOL);
d_echo('* radioid: '.$radioid.PHP_EOL);
d_echo(' radionum: '.$radionum.PHP_EOL);
d_echo(' name: '.$name.PHP_EOL);
d_echo(' type: '.$type.PHP_EOL);
d_echo(' channel: '.$channel.PHP_EOL);
d_echo(' txpow: '.$txpow.PHP_EOL);
d_echo(' radioutil: '.$radioutil.PHP_EOL);
d_echo(' numasoclients: '.$numasoclients.PHP_EOL);
d_echo(' interference: '.$interference.PHP_EOL);
d_echo($key . PHP_EOL);
d_echo($value . PHP_EOL);
d_echo('* radioid: ' . $radioid . PHP_EOL);
d_echo(' radionum: ' . $radionum . PHP_EOL);
d_echo(' name: ' . $name . PHP_EOL);
d_echo(' type: ' . $type . PHP_EOL);
d_echo(' channel: ' . $channel . PHP_EOL);
d_echo(' txpow: ' . $txpow . PHP_EOL);
d_echo(' radioutil: ' . $radioutil . PHP_EOL);
d_echo(' numasoclients: ' . $numasoclients . PHP_EOL);
d_echo(' interference: ' . $interference . PHP_EOL);
d_echo(PHP_EOL);
// if there is a numeric channel, assume the rest of the data is valid, I guess
if (is_numeric($channel)) {
$rrd_name = array('arubaap', $name.$radionum);
$rrd_name = ['arubaap', $name . $radionum];
$rrd_def = RrdDefinition::make()
->addDataset('channel', 'GAUGE', 0, 200)
@ -108,7 +103,7 @@ if ($device['type'] == 'wireless' && $device['os'] == 'arubaos') {
->addDataset('numasoclients', 'GAUGE', 0, 500)
->addDataset('interference', 'GAUGE', 0, 2000);
$fields = array(
$fields = [
'channel' => $channel,
'txpow' => $txpow,
'radioutil' => $radioutil,
@ -116,43 +111,40 @@ if ($device['type'] == 'wireless' && $device['os'] == 'arubaos') {
'nummonbssid' => $nummonbssid,
'numasoclients' => $numasoclients,
'interference' => $interference,
);
];
$tags = array(
$tags = [
'name' => $name,
'radionum' => $radionum,
'rrd_name' => $rrd_name,
'rrd_def' => $rrd_def
);
'rrd_def' => $rrd_def,
];
data_update($device, 'aruba', $tags, $fields);
}
// generate the mac address
$macparts = explode('.', $radioid, -1);
$mac = '';
$mac = '';
foreach ($macparts as $part) {
$mac .= sprintf('%02x', $part).':';
$mac .= sprintf('%02x', $part) . ':';
}
$mac = rtrim($mac, ':');
$foundid = 0;
for ($z = 0; $z < sizeof($ap_db); $z++) {
if ($ap_db[$z]['name'] == $name && $ap_db[$z]['radio_number'] == $radionum) {
$foundid = $ap_db[$z]['accesspoint_id'];
$foundid = $ap_db[$z]['accesspoint_id'];
$ap_db[$z]['seen'] = 1;
continue;
}
}
if ($foundid == 0) {
$ap_id = dbInsert(
array(
[
'channel' => $channel,
'deleted' => 0,
'device_id' => $device['device_id'],
@ -166,13 +158,13 @@ if ($device['type'] == 'wireless' && $device['os'] == 'arubaos') {
'radio_number' => $radionum,
'radioutil' => $radioutil,
'txpow' => $txpow,
'type' => $type
),
'type' => $type,
],
'access_points'
);
} else {
dbUpdate(
array(
[
'channel' => $channel,
'deleted' => 0,
'interference' => $interference,
@ -185,11 +177,11 @@ if ($device['type'] == 'wireless' && $device['os'] == 'arubaos') {
'radio_number' => $radionum,
'radioutil' => $radioutil,
'txpow' => $txpow,
'type' => $type
),
'type' => $type,
],
'access_points',
'`accesspoint_id` = ?',
array($foundid)
[$foundid]
);
}
}//end foreach
@ -197,8 +189,8 @@ if ($device['type'] == 'wireless' && $device['os'] == 'arubaos') {
// mark APs which are not on this controller anymore as deleted
for ($z = 0; $z < sizeof($ap_db); $z++) {
if (!isset($ap_db[$z]['seen']) && $ap_db[$z]['deleted'] == 0) {
dbUpdate(array('deleted' => 1), 'access_points', '`accesspoint_id` = ?', array($ap_db[$z]['accesspoint_id']));
if (! isset($ap_db[$z]['seen']) && $ap_db[$z]['deleted'] == 0) {
dbUpdate(['deleted' => 1], 'access_points', '`accesspoint_id` = ?', [$ap_db[$z]['accesspoint_id']]);
}
}
}//end if

View File

@ -5,40 +5,40 @@ use LibreNMS\RRD\RrdDefinition;
$os->enableGraph('availability');
$col = dbFetchColumn('SELECT duration FROM availability WHERE device_id = ?', array($device['device_id']));
$col = dbFetchColumn('SELECT duration FROM availability WHERE device_id = ?', [$device['device_id']]);
foreach (Config::get('graphing.availability') as $duration) {
if (!in_array($duration, $col)) {
if (! in_array($duration, $col)) {
$data = ['device_id' => $device['device_id'],
'duration' => $duration];
'duration' => $duration, ];
dbInsert($data, 'availability');
}
}
echo 'Availability: ' . PHP_EOL;
foreach (dbFetchRows('SELECT * FROM availability WHERE device_id = ?', array($device['device_id'])) as $row) {
foreach (dbFetchRows('SELECT * FROM availability WHERE device_id = ?', [$device['device_id']]) as $row) {
//delete not more interested availabilities
if (!in_array($row['duration'], Config::get('graphing.availability'))) {
dbDelete('availability', 'availability_id=?', array($row['availability_id']));
if (! in_array($row['duration'], Config::get('graphing.availability'))) {
dbDelete('availability', 'availability_id=?', [$row['availability_id']]);
continue;
}
$avail = \LibreNMS\Device\Availability::availability($device, $row['duration']);
$human_time = \LibreNMS\Util\Time::humanTime($row['duration']);
$rrd_name = array('availability', $row['duration']);
$rrd_name = ['availability', $row['duration']];
$rrd_def = RrdDefinition::make()
->addDataset('availability', 'GAUGE', 0);
$fields = array(
'availability' => $avail,
);
$fields = [
'availability' => $avail,
];
$tags = array('name' => $row['duration'], 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name);
data_update($device, 'availability', $tags, $fields);
$tags = ['name' => $row['duration'], 'rrd_def' => $rrd_def, 'rrd_name' => $rrd_name];
data_update($device, 'availability', $tags, $fields);
dbUpdate(array('availability_perc' => $avail), 'availability', '`availability_id` = ?', array($row['availability_id']));
dbUpdate(['availability_perc' => $avail], 'availability', '`availability_id` = ?', [$row['availability_id']]);
echo $human_time . ' : ' . $avail . '%'. PHP_EOL;
echo $human_time . ' : ' . $avail . '%' . PHP_EOL;
}
unset($duration);

View File

@ -6,19 +6,19 @@ use LibreNMS\RRD\RrdDefinition;
use LibreNMS\Util\IP;
if (\LibreNMS\Config::get('enable_bgp')) {
$peers = dbFetchRows('SELECT * FROM `bgpPeers` AS B LEFT JOIN `vrfs` AS V ON `B`.`vrf_id` = `V`.`vrf_id` WHERE `B`.`device_id` = ?', array($device['device_id']));
$peers = dbFetchRows('SELECT * FROM `bgpPeers` AS B LEFT JOIN `vrfs` AS V ON `B`.`vrf_id` = `V`.`vrf_id` WHERE `B`.`device_id` = ?', [$device['device_id']]);
if (!empty($peers)) {
if (! empty($peers)) {
if ($device['os'] == 'junos') {
$peer_data_check = snmpwalk_cache_long_oid($device, 'jnxBgpM2PeerIndex', '.1.3.6.1.4.1.2636.5.1.1.2.1.1.1.14', $peer_data_tmp, 'BGP4-V2-MIB-JUNIPER', 'junos');
} elseif ($device['os_group'] === 'arista') {
$peer_data_check = snmpwalk_cache_oid($device, 'aristaBgp4V2PeerRemoteAs', array(), 'ARISTA-BGP4V2-MIB');
$peer_data_check = snmpwalk_cache_oid($device, 'aristaBgp4V2PeerRemoteAs', [], 'ARISTA-BGP4V2-MIB');
} elseif ($device['os'] === 'timos') {
$peer_data_check = snmpwalk_cache_multi_oid($device, 'tBgpInstanceRowStatus', [], 'TIMETRA-BGP-MIB', 'nokia');
} elseif ($device['os'] === 'vrp') {
$peer_data_check = snmpwalk_cache_multi_oid($device, 'hwBgpPeerEntry', [], 'HUAWEI-BGP-VPN-MIB', 'huawei');
} else {
$peer_data_check = snmpwalk_cache_oid($device, 'cbgpPeer2RemoteAs', array(), 'CISCO-BGP4-MIB');
$peer_data_check = snmpwalk_cache_oid($device, 'cbgpPeer2RemoteAs', [], 'CISCO-BGP4-MIB');
}
foreach ($peers as $peer) {
@ -35,7 +35,7 @@ if (\LibreNMS\Config::get('enable_bgp')) {
// --- Collect BGP data ---
if (count($peer_data_check) > 0) {
if ($device['os'] == 'junos') {
if (!isset($junos)) {
if (! isset($junos)) {
echo "\nCaching Oids...";
foreach ($peer_data_check as $hash => $index) {
@ -43,7 +43,7 @@ if (\LibreNMS\Config::get('enable_bgp')) {
$exploded_ip = explode('.', $peer_ip_snmp);
if (count($exploded_ip) > 11) {
// ipv6
$tmp_peer_ip = (string)IP::parse(snmp2ipv6($peer_ip_snmp), true);
$tmp_peer_ip = (string) IP::parse(snmp2ipv6($peer_ip_snmp), true);
} else {
// ipv4
$tmp_peer_ip = implode('.', array_slice($exploded_ip, -4));
@ -53,7 +53,7 @@ if (\LibreNMS\Config::get('enable_bgp')) {
}
}
if (!isset($peer_data_tmp)) {
if (! isset($peer_data_tmp)) {
$peer_data_tmp = snmpwalk_cache_long_oid($device, 'jnxBgpM2PeerState', '.1.3.6.1.4.1.2636.5.1.1.2.1.1.1.2', $peer_data_tmp, 'BGP4-V2-MIB-JUNIPER', 'junos');
$peer_data_tmp = snmpwalk_cache_long_oid($device, 'jnxBgpM2PeerStatus', '.1.3.6.1.4.1.2636.5.1.1.2.1.1.1.3', $peer_data_tmp, 'BGP4-V2-MIB-JUNIPER', 'junos');
$peer_data_tmp = snmpwalk_cache_long_oid($device, 'jnxBgpM2PeerInUpdates', '.1.3.6.1.4.1.2636.5.1.1.2.6.1.1.1', $peer_data_tmp, 'BGP4-V2-MIB-JUNIPER', 'junos');
@ -69,7 +69,7 @@ if (\LibreNMS\Config::get('enable_bgp')) {
d_echo($peer_data_tmp);
}
$peer_hash = $junos[(string)$peer_ip]['hash'];
$peer_hash = $junos[(string) $peer_ip]['hash'];
$peer_data = [];
$peer_data['bgpPeerState'] = $peer_data_tmp[$peer_hash]['jnxBgpM2PeerState'];
$peer_data['bgpPeerAdminStatus'] = $peer_data_tmp[$peer_hash]['jnxBgpM2PeerStatus'];
@ -92,7 +92,7 @@ if (\LibreNMS\Config::get('enable_bgp')) {
d_echo("State = {$peer_data['bgpPeerState']} - AdminStatus: {$peer_data['bgpPeerAdminStatus']}\n");
} elseif ($device['os'] == 'vrp') {
echo "\nCaching Oids VRP...";
if (!isset($bgpPeers)) {
if (! isset($bgpPeers)) {
//if not available, we timeout each time, to be fixed when split
$bgpPeersCache = snmpwalk_cache_oid($device, 'hwBgpPeerEntry', [], 'HUAWEI-BGP-VPN-MIB', 'huawei');
$bgpPeersStats = snmpwalk_cache_oid($device, 'hwBgpPeerStatisticTable', [], 'HUAWEI-BGP-VPN-MIB', 'huawei', '-OQUbs');
@ -107,7 +107,7 @@ if (\LibreNMS\Config::get('enable_bgp')) {
if (strlen($address) > 15) {
$address = IP::fromHexString($address)->compressed();
}
if (!isset($bgpPeers[$address][$vrfInstance])) {
if (! isset($bgpPeers[$address][$vrfInstance])) {
$bgpPeers[$address][$vrfInstance] = [];
}
$bgpPeers[$address][$vrfInstance] = array_merge($bgpPeers[$address][$vrfInstance], $value);
@ -128,10 +128,10 @@ if (\LibreNMS\Config::get('enable_bgp')) {
//d_echo($bgpPeersStats);
}
//d_echo($bgpPeers);
$address = (string)$peer_ip;
$address = (string) $peer_ip;
$bgpPeer = $bgpPeers[$address];
$peer_data = [];
if (count(array_keys($bgpPeer))==1) { // We have only one vrf with a peer with this IP
if (count(array_keys($bgpPeer)) == 1) { // We have only one vrf with a peer with this IP
$vrfInstance = array_keys($bgpPeer)[0];
$peer_data['bgpPeerState'] = $bgpPeers[$address][$vrfInstance]['hwBgpPeerState'];
$peer_data['bgpPeerInUpdates'] = $bgpPeers[$address][$vrfInstance]['hwBgpPeerInUpdateMsgs'];
@ -165,21 +165,21 @@ if (\LibreNMS\Config::get('enable_bgp')) {
$peer_data['bgpPeerLastErrorSubCode'] = intval($error_data[1]);
unset($peer_data['bgpPeerLastError']);
} elseif ($device['os'] == 'timos') {
if (!isset($bgpPeers)) {
if (! isset($bgpPeers)) {
echo "\nCaching Oids...";
$bgpPeersCache = snmpwalk_cache_multi_oid($device, 'tBgpPeerNgTable', [], 'TIMETRA-BGP-MIB', 'nokia');
$bgpPeersCache = snmpwalk_cache_multi_oid($device, 'tBgpPeerNgOperEntry', $bgpPeersCache, 'TIMETRA-BGP-MIB', 'nokia');
foreach ($bgpPeersCache as $key => $value) {
$oid = explode(".", $key);
$vrfInstance = $oid[0];
$address = str_replace($oid[0].".".$oid[1].".", '', $key);
$address = str_replace($oid[0] . "." . $oid[1] . ".", '', $key);
if (strlen($address) > 15) {
$address = IP::fromHexString($address)->compressed();
}
$bgpPeers[$vrfInstance][$address] = $value;
}
}
$address = (string)$peer_ip;
$address = (string) $peer_ip;
$tmpTime = $bgpPeers[$vrfOid][$address]['tBgpPeerNgLastChanged'];
$tmpTime = explode(".", $tmpTime);
$tmpTime = explode(":", $tmpTime[0]);
@ -195,7 +195,7 @@ if (\LibreNMS\Config::get('enable_bgp')) {
$peer_data['bgpPeerInTotalMessages'] = $bgpPeers[$vrfOid][$address]['tBgpPeerNgOperMsgOctetsRcvd']; // That are actually only octets available,
$peer_data['bgpPeerOutTotalMessages'] = $bgpPeers[$vrfOid][$address]['tBgpPeerNgOperMsgOctetsSent']; // not messages
$peer_data['bgpPeerFsmEstablishedTime'] = $establishedTime;
// ToDo, It seems that bgpPeer(In|Out)Updates, bgpPeerInUpdateElapsedTime and bgpLocalAddr are actually not available over SNMP
// ToDo, It seems that bgpPeer(In|Out)Updates, bgpPeerInUpdateElapsedTime and bgpLocalAddr are actually not available over SNMP
} else {
$bgp_peer_ident = $peer_ip->toSnmpIndex();
$ip_ver = $peer_ip->getFamily();
@ -224,7 +224,7 @@ if (\LibreNMS\Config::get('enable_bgp')) {
'aristaBgp4V2PeerLastErrorCodeReceived' => 'bgpPeerLastErrorCode',
'aristaBgp4V2PeerLastErrorSubCodeReceived' => 'bgpPeerLastErrorSubCode',
'aristaBgp4V2PeerLastErrorReceivedText' => 'bgpPeerLastErrorText',
];
];
} else {
$peer_identifier = $ip_type . '.' . $ip_len . '.' . $bgp_peer_ident;
$mib = 'CISCO-BGP4-MIB';
@ -270,7 +270,7 @@ if (\LibreNMS\Config::get('enable_bgp')) {
$peer_data_raw = snmp_get_multi($device, $get_oids, '-OQUs', $mib);
$peer_data_raw = reset($peer_data_raw); // get the first element of the array
$peer_data = array();
$peer_data = [];
foreach ($oid_map as $source => $target) {
$v = isset($peer_data_raw[$source]) ? $peer_data_raw[$source] : '';
@ -302,23 +302,23 @@ if (\LibreNMS\Config::get('enable_bgp')) {
// --- Send event log notices ---
if ($peer_data['bgpPeerFsmEstablishedTime']) {
if (!(is_array(\LibreNMS\Config::get('alerts.bgp.whitelist'))
&& !in_array($peer['bgpPeerRemoteAs'], \LibreNMS\Config::get('alerts.bgp.whitelist')))
if (! (is_array(\LibreNMS\Config::get('alerts.bgp.whitelist'))
&& ! in_array($peer['bgpPeerRemoteAs'], \LibreNMS\Config::get('alerts.bgp.whitelist')))
&& ($peer_data['bgpPeerFsmEstablishedTime'] < $peer['bgpPeerFsmEstablishedTime']
|| $peer_data['bgpPeerState'] != $peer['bgpPeerState'])
) {
if ($peer['bgpPeerState'] == $peer_data['bgpPeerState']) {
log_event('BGP Session Flap: ' . $peer['bgpPeerIdentifier'] . ' (AS' . $peer['bgpPeerRemoteAs'] . '), last error: '. describe_bgp_error_code($peer['bgpPeerLastErrorCode'], $peer['bgpPeerLastErrorSubCode']), $device, 'bgpPeer', 4, $peer_ip);
log_event('BGP Session Flap: ' . $peer['bgpPeerIdentifier'] . ' (AS' . $peer['bgpPeerRemoteAs'] . '), last error: ' . describe_bgp_error_code($peer['bgpPeerLastErrorCode'], $peer['bgpPeerLastErrorSubCode']), $device, 'bgpPeer', 4, $peer_ip);
} elseif ($peer_data['bgpPeerState'] == 'established') {
log_event('BGP Session Up: ' . $peer['bgpPeerIdentifier'] . ' (AS' . $peer['bgpPeerRemoteAs'] . ')', $device, 'bgpPeer', 1, $peer_ip);
} elseif ($peer['bgpPeerState'] == 'established') {
log_event('BGP Session Down: ' . $peer['bgpPeerIdentifier'] . ' (AS' . $peer['bgpPeerRemoteAs'] . '), last error: '. describe_bgp_error_code($peer['bgpPeerLastErrorCode'], $peer['bgpPeerLastErrorSubCode']), $device, 'bgpPeer', 5, $peer_ip);
log_event('BGP Session Down: ' . $peer['bgpPeerIdentifier'] . ' (AS' . $peer['bgpPeerRemoteAs'] . '), last error: ' . describe_bgp_error_code($peer['bgpPeerLastErrorCode'], $peer['bgpPeerLastErrorSubCode']), $device, 'bgpPeer', 5, $peer_ip);
}
}
}
// --- Update rrd data ---
$peer_rrd_name = safename('bgp-'.$peer['bgpPeerIdentifier']);
$peer_rrd_name = safename('bgp-' . $peer['bgpPeerIdentifier']);
$peer_rrd_def = RrdDefinition::make()
->addDataset('bgpPeerOutUpdates', 'COUNTER', null, 100000000000)
->addDataset('bgpPeerInUpdates', 'COUNTER', null, 100000000000)
@ -341,7 +341,7 @@ if (\LibreNMS\Config::get('enable_bgp')) {
$tags = [
'bgpPeerIdentifier' => $peer['bgpPeerIdentifier'],
'rrd_name' => $peer_rrd_name,
'rrd_def' => $peer_rrd_def
'rrd_def' => $peer_rrd_def,
];
data_update($device, 'bgp', $tags, $fields);
@ -351,18 +351,18 @@ if (\LibreNMS\Config::get('enable_bgp')) {
if ($peer['update']) {
if ($vrfId) {
dbUpdate($peer['update'], 'bgpPeers', '`device_id` = ? AND `bgpPeerIdentifier` = ? AND `vrf_id` = ?', array($device['device_id'], $peer['bgpPeerIdentifier'], $vrfId));
dbUpdate($peer['update'], 'bgpPeers', '`device_id` = ? AND `bgpPeerIdentifier` = ? AND `vrf_id` = ?', [$device['device_id'], $peer['bgpPeerIdentifier'], $vrfId]);
} else {
dbUpdate($peer['update'], 'bgpPeers', '`device_id` = ? AND `bgpPeerIdentifier` = ?', array($device['device_id'], $peer['bgpPeerIdentifier']));
dbUpdate($peer['update'], 'bgpPeers', '`device_id` = ? AND `bgpPeerIdentifier` = ?', [$device['device_id'], $peer['bgpPeerIdentifier']]);
}
}
// --- Populate cbgp data ---
if ($device['os_group'] == 'vrp' || $device['os_group'] == 'cisco' || $device['os'] == 'junos' || $device['os_group'] === 'arista') {
// Poll each AFI/SAFI for this peer (using CISCO-BGP4-MIB or BGP4-V2-JUNIPER MIB)
$peer_afis = dbFetchRows('SELECT * FROM bgpPeers_cbgp WHERE `device_id` = ? AND bgpPeerIdentifier = ?', array($device['device_id'], $peer['bgpPeerIdentifier']));
$peer_afis = dbFetchRows('SELECT * FROM bgpPeers_cbgp WHERE `device_id` = ? AND bgpPeerIdentifier = ?', [$device['device_id'], $peer['bgpPeerIdentifier']]);
foreach ($peer_afis as $peer_afi) {
$afi = $peer_afi['afi'];
$afi = $peer_afi['afi'];
$safi = $peer_afi['safi'];
d_echo("$afi $safi\n");
@ -372,10 +372,10 @@ if (\LibreNMS\Config::get('enable_bgp')) {
$ip_ver = $peer_ip->getFamily();
if ($ip_ver == 'ipv6') {
$ip_type = 2;
$ip_len = 16;
$ip_len = 16;
} else {
$ip_type = 1;
$ip_len = 4;
$ip_len = 4;
}
$ip_cast = 1;
@ -387,10 +387,10 @@ if (\LibreNMS\Config::get('enable_bgp')) {
$ip_cast = 128;
}
$check = snmp_get($device, 'cbgpPeer2AcceptedPrefixes.'.$ip_type.'.'.$ip_len.'.'.$bgp_peer_ident.'.'.$ip_type.'.'.$ip_cast, '', 'CISCO-BGP4-MIB');
$check = snmp_get($device, 'cbgpPeer2AcceptedPrefixes.' . $ip_type . '.' . $ip_len . '.' . $bgp_peer_ident . '.' . $ip_type . '.' . $ip_cast, '', 'CISCO-BGP4-MIB');
if (!empty($check)) {
$cgp_peer_identifier = $ip_type.'.'.$ip_len.'.'.$bgp_peer_ident.'.'.$ip_type.'.'.$ip_cast;
if (! empty($check)) {
$cgp_peer_identifier = $ip_type . '.' . $ip_len . '.' . $bgp_peer_ident . '.' . $ip_type . '.' . $ip_cast;
$cbgp2_oids = [
'cbgpPeer2AcceptedPrefixes.' . $cgp_peer_identifier,
'cbgpPeer2DeniedPrefixes.' . $cgp_peer_identifier,
@ -402,7 +402,7 @@ if (\LibreNMS\Config::get('enable_bgp')) {
'cbgpPeer2WithdrawnPrefixes.' . $cgp_peer_identifier,
];
$cbgp_data_tmp = snmp_get_multi($device, $cbgp2_oids, '-OQUs', 'CISCO-BGP4-MIB');
$ident = "$ip_ver.\"".$peer['bgpPeerIdentifier'].'"'.'.'.$ip_type.'.'.$ip_cast;
$ident = "$ip_ver.\"" . $peer['bgpPeerIdentifier'] . '"' . '.' . $ip_type . '.' . $ip_cast;
$key = key($cbgp_data_tmp); // get key of item
$cbgp_data = [
@ -444,37 +444,37 @@ if (\LibreNMS\Config::get('enable_bgp')) {
}//end if
if ($device['os'] == 'junos') {
$afis['ipv4'] = 1;
$afis['ipv6'] = 2;
$afis['l2vpn'] = 25;
$safis['unicast'] = 1;
$safis['multicast'] = 2;
$afis['ipv4'] = 1;
$afis['ipv6'] = 2;
$afis['l2vpn'] = 25;
$safis['unicast'] = 1;
$safis['multicast'] = 2;
$safis['unicastAndMulticast'] = 3;
$safis['labeledUnicast'] = 4;
$safis['mvpn'] = 5;
$safis['vpls'] = 65;
$safis['evpn'] = 70;
$safis['vpn'] = 128;
$safis['rtfilter'] = 132;
$safis['flow'] = 133;
$safis['labeledUnicast'] = 4;
$safis['mvpn'] = 5;
$safis['vpls'] = 65;
$safis['evpn'] = 70;
$safis['vpn'] = 128;
$safis['rtfilter'] = 132;
$safis['flow'] = 133;
if (!isset($j_prefixes)) {
if (! isset($j_prefixes)) {
$j_prefixes = snmpwalk_cache_multi_oid($device, 'jnxBgpM2PrefixInPrefixesAccepted', $j_prefixes, 'BGP4-V2-MIB-JUNIPER', 'junos', '-OQnU');
$j_prefixes = snmpwalk_cache_multi_oid($device, 'jnxBgpM2PrefixInPrefixesRejected', $j_prefixes, 'BGP4-V2-MIB-JUNIPER', 'junos', '-OQnU');
$j_prefixes = snmpwalk_cache_multi_oid($device, 'jnxBgpM2PrefixOutPrefixes', $j_prefixes, 'BGP4-V2-MIB-JUNIPER', 'junos', '-OQnU');
d_echo($j_prefixes);
}
$cbgpPeerAcceptedPrefixes = array_shift($j_prefixes['1.3.6.1.4.1.2636.5.1.1.2.6.2.1.8.'.$junos[(string)$peer_ip]['index'].".$afis[$afi].".$safis[$safi]]);
$cbgpPeerDeniedPrefixes = array_shift($j_prefixes['1.3.6.1.4.1.2636.5.1.1.2.6.2.1.9.'.$junos[(string)$peer_ip]['index'].".$afis[$afi].".$safis[$safi]]);
$cbgpPeerAdvertisedPrefixes = array_shift($j_prefixes['1.3.6.1.4.1.2636.5.1.1.2.6.2.1.10.'.$junos[(string)$peer_ip]['index'].".$afis[$afi].".$safis[$safi]]);
$cbgpPeerAcceptedPrefixes = array_shift($j_prefixes['1.3.6.1.4.1.2636.5.1.1.2.6.2.1.8.' . $junos[(string) $peer_ip]['index'] . ".$afis[$afi]." . $safis[$safi]]);
$cbgpPeerDeniedPrefixes = array_shift($j_prefixes['1.3.6.1.4.1.2636.5.1.1.2.6.2.1.9.' . $junos[(string) $peer_ip]['index'] . ".$afis[$afi]." . $safis[$safi]]);
$cbgpPeerAdvertisedPrefixes = array_shift($j_prefixes['1.3.6.1.4.1.2636.5.1.1.2.6.2.1.10.' . $junos[(string) $peer_ip]['index'] . ".$afis[$afi]." . $safis[$safi]]);
}//end if
if ($device['os_group'] === 'arista') {
$safis['unicast'] = 1;
$safis['unicast'] = 1;
$safis['multicast'] = 2;
$afis['ipv4'] = 1;
$afis['ipv6'] = 2;
$afis['ipv4'] = 1;
$afis['ipv6'] = 2;
if (preg_match('/:/', $peer['bgpPeerIdentifier'])) {
$tmp_peer = str_replace(':', '', $peer['bgpPeerIdentifier']);
$tmp_peer = preg_replace('/([\w\d]{2})/', '\1:', $tmp_peer);
@ -495,28 +495,28 @@ if (\LibreNMS\Config::get('enable_bgp')) {
// only works in global routing table, as the vpnInstanceId is not available
// for now in the VRF discovery of VRP devices
$key4 = $vrfInstance.'.'.$afi.'.'.$safi.'.ipv4.'.$peer['bgpPeerIdentifier'];
$key6 = $vrfInstance.'.'.$afi.'.'.$safi.'.ipv6.'.$peer['bgpPeerIdentifier'];
$key4 = $vrfInstance . '.' . $afi . '.' . $safi . '.ipv4.' . $peer['bgpPeerIdentifier'];
$key6 = $vrfInstance . '.' . $afi . '.' . $safi . '.ipv6.' . $peer['bgpPeerIdentifier'];
if (isset($vrpPrefixes[$key4])) {
$cbgpPeerAcceptedPrefixes = $vrpPrefixes[$key4]['hwBgpPeerPrefixRcvCounter'];
$cbgpPeerAdvertisedPrefixes = $vrpPrefixes[$key4]['hwBgpPeerPrefixAdvCounter'];
$cbgpPeerAdvertisedPrefixes = $vrpPrefixes[$key4]['hwBgpPeerPrefixAdvCounter'];
}
if (isset($vrpPrefixes[$key6])) {
$cbgpPeerAcceptedPrefixes = $vrpPrefixes[$key6]['hwBgpPeerPrefixRcvCounter'];
$cbgpPeerAdvertisedPrefixes = $vrpPrefixes[$key6]['hwBgpPeerPrefixAdvCounter'];
$cbgpPeerAdvertisedPrefixes = $vrpPrefixes[$key6]['hwBgpPeerPrefixAdvCounter'];
}
}
// Validate data
$cbgpPeerAcceptedPrefixes = set_numeric($cbgpPeerAcceptedPrefixes);
$cbgpPeerDeniedPrefixes = set_numeric($cbgpPeerDeniedPrefixes);
$cbgpPeerPrefixAdminLimit = set_numeric($cbgpPeerPrefixAdminLimit);
$cbgpPeerPrefixThreshold = set_numeric($cbgpPeerPrefixThreshold);
$cbgpPeerAcceptedPrefixes = set_numeric($cbgpPeerAcceptedPrefixes);
$cbgpPeerDeniedPrefixes = set_numeric($cbgpPeerDeniedPrefixes);
$cbgpPeerPrefixAdminLimit = set_numeric($cbgpPeerPrefixAdminLimit);
$cbgpPeerPrefixThreshold = set_numeric($cbgpPeerPrefixThreshold);
$cbgpPeerPrefixClearThreshold = set_numeric($cbgpPeerPrefixClearThreshold);
$cbgpPeerAdvertisedPrefixes = set_numeric($cbgpPeerAdvertisedPrefixes);
$cbgpPeerSuppressedPrefixes = set_numeric($cbgpPeerSuppressedPrefixes);
$cbgpPeerWithdrawnPrefixes = set_numeric($cbgpPeerWithdrawnPrefixes);
$cbgpPeerAdvertisedPrefixes = set_numeric($cbgpPeerAdvertisedPrefixes);
$cbgpPeerSuppressedPrefixes = set_numeric($cbgpPeerSuppressedPrefixes);
$cbgpPeerWithdrawnPrefixes = set_numeric($cbgpPeerWithdrawnPrefixes);
$cbgpPeers_cbgp_fields = [
'AcceptedPrefixes' => $cbgpPeerAcceptedPrefixes,
@ -544,7 +544,7 @@ if (\LibreNMS\Config::get('enable_bgp')) {
];
foreach ($oids as $oid) {
$tmp_prev = set_numeric($peer_afi[$oid]);
$tmp_prev = set_numeric($peer_afi[$oid]);
$tmp_delta = $cbgpPeers_cbgp_fields[$oid] - $tmp_prev;
if ($peer_afi[$oid . '_delta'] != $tmp_delta) {
$peer['c_update'][$oid . '_delta'] = $tmp_delta;
@ -563,7 +563,7 @@ if (\LibreNMS\Config::get('enable_bgp')) {
);
}
$cbgp_rrd_name = safename('cbgp-'.$peer['bgpPeerIdentifier'].".$afi.$safi");
$cbgp_rrd_name = safename('cbgp-' . $peer['bgpPeerIdentifier'] . ".$afi.$safi");
$cbgp_rrd_def = RrdDefinition::make()
->addDataset('AcceptedPrefixes', 'GAUGE', null, 100000000000)
->addDataset('DeniedPrefixes', 'GAUGE', null, 100000000000)
@ -584,7 +584,7 @@ if (\LibreNMS\Config::get('enable_bgp')) {
'afi' => $afi,
'safi' => $safi,
'rrd_name' => $cbgp_rrd_name,
'rrd_def' => $cbgp_rrd_def
'rrd_def' => $cbgp_rrd_def,
];
data_update($device, 'cbgp', $tags, $fields);
} //end foreach

View File

@ -3,22 +3,22 @@
use LibreNMS\RRD\RrdDefinition;
if ($device['os_group'] == 'cisco') {
// FIXME - seems to be broken. IPs appear with leading zeroes.
$ipsec_array = snmpwalk_cache_oid($device, 'cipSecTunnelEntry', array(), 'CISCO-IPSEC-FLOW-MONITOR-MIB');
if (!empty($ipsec_array)) {
$ike_array = snmpwalk_cache_oid($device, 'cikeTunnelEntry', array(), 'CISCO-IPSEC-FLOW-MONITOR-MIB');
// FIXME - seems to be broken. IPs appear with leading zeroes.
$ipsec_array = snmpwalk_cache_oid($device, 'cipSecTunnelEntry', [], 'CISCO-IPSEC-FLOW-MONITOR-MIB');
if (! empty($ipsec_array)) {
$ike_array = snmpwalk_cache_oid($device, 'cikeTunnelEntry', [], 'CISCO-IPSEC-FLOW-MONITOR-MIB');
}
$tunnels_db = dbFetchRows('SELECT * FROM `ipsec_tunnels` WHERE `device_id` = ?', array($device['device_id']));
$tunnels_db = dbFetchRows('SELECT * FROM `ipsec_tunnels` WHERE `device_id` = ?', [$device['device_id']]);
foreach ($tunnels_db as $tunnel) {
if (empty($tunnel['peer_addr']) && empty($tunnel['local_addr'])) {
dbDelete('ipsec_tunnels', '`tunnel_id` = ?', array($tunnel['tunnel_id']));
dbDelete('ipsec_tunnels', '`tunnel_id` = ?', [$tunnel['tunnel_id']]);
}
$tunnels[$tunnel['peer_addr']] = $tunnel;
}
$valid_tunnels = array();
$valid_tunnels = [];
foreach ($ipsec_array as $index => $tunnel) {
$tunnel = array_merge($tunnel, $ike_array[$tunnel['cipSecTunIkeTunnelIndex']]);
@ -29,7 +29,7 @@ if ($device['os_group'] == 'cisco') {
$address = $tunnel['cikeTunRemoteValue'];
$oids = array(
$oids = [
'cipSecTunInOctets',
'cipSecTunInDecompOctets',
'cipSecTunInPkts',
@ -47,33 +47,33 @@ if ($device['os_group'] == 'cisco') {
'cipSecTunOutAuthFails',
'cipSecTunOutEncrypts',
'cipSecTunOutEncryptFails',
);
];
$db_oids = array(
$db_oids = [
'cipSecTunStatus' => 'tunnel_status',
'cikeTunLocalName' => 'tunnel_name',
'cikeTunLocalValue' => 'local_addr',
);
];
if (!is_array($tunnels[$tunnel['cikeTunRemoteValue']]) && !empty($tunnel['cikeTunRemoteValue'])) {
$tunnel_id = dbInsert(array(
if (! is_array($tunnels[$tunnel['cikeTunRemoteValue']]) && ! empty($tunnel['cikeTunRemoteValue'])) {
$tunnel_id = dbInsert([
'device_id' => $device['device_id'],
'peer_addr' => $tunnel['cikeTunRemoteValue'],
'local_addr' => $tunnel['cikeTunLocalValue'],
'tunnel_name' => $tunnel['cikeTunLocalName']
), 'ipsec_tunnels');
'tunnel_name' => $tunnel['cikeTunLocalName'],
], 'ipsec_tunnels');
$valid_tunnels[] = $tunnel_id;
} else {
foreach ($db_oids as $db_oid => $db_value) {
$db_update[$db_value] = $tunnel[$db_oid];
}
if (!empty($tunnels[$tunnel['cikeTunRemoteValue']]['tunnel_id'])) {
if (! empty($tunnels[$tunnel['cikeTunRemoteValue']]['tunnel_id'])) {
$updated = dbUpdate(
$db_update,
'ipsec_tunnels',
'`tunnel_id` = ?',
array($tunnels[$tunnel['cikeTunRemoteValue']]['tunnel_id'])
[$tunnels[$tunnel['cikeTunRemoteValue']]['tunnel_id']]
);
$valid_tunnels[] = $tunnels[$tunnel['cikeTunRemoteValue']]['tunnel_id'];
}
@ -92,7 +92,7 @@ if ($device['os_group'] == 'cisco') {
$tunnel['cipSecTunOutUncompOctets'] = $tunnel['cipSecTunHcOutUncompOctets'];
}
$rrd_name = array('ipsectunnel', $address);
$rrd_name = ['ipsectunnel', $address];
$rrd_def = new RrdDefinition();
$rrd_def->disableNameChecking();
foreach ($oids as $oid) {
@ -100,7 +100,7 @@ if ($device['os_group'] == 'cisco') {
$rrd_def->addDataset($oid_ds, 'COUNTER', null, 1000000000);
}
$fields = array();
$fields = [];
foreach ($oids as $oid) {
if (is_numeric($tunnel[$oid])) {
@ -119,7 +119,7 @@ if ($device['os_group'] == 'cisco') {
}
}//end foreach
if (!empty($valid_tunnels)) {
if (! empty($valid_tunnels)) {
d_echo($valid_tunnels);
dbDelete(
'ipsec_tunnels',

View File

@ -3,8 +3,8 @@
use LibreNMS\RRD\RrdDefinition;
if ($device['os_group'] == 'cisco') {
$rserver_array = snmpwalk_cache_oid($device, 'cesServerFarmRserverTable', array(), 'CISCO-ENHANCED-SLB-MIB');
$rserver_db = dbFetchRows('SELECT * FROM `loadbalancer_rservers` WHERE `device_id` = ?', array($device['device_id']));
$rserver_array = snmpwalk_cache_oid($device, 'cesServerFarmRserverTable', [], 'CISCO-ENHANCED-SLB-MIB');
$rserver_db = dbFetchRows('SELECT * FROM `loadbalancer_rservers` WHERE `device_id` = ?', [$device['device_id']]);
foreach ($rserver_db as $serverfarm) {
$serverfarms[$serverfarm['farm_id']] = $serverfarm;
@ -13,23 +13,23 @@ if ($device['os_group'] == 'cisco') {
foreach ($rserver_array as $index => $serverfarm) {
$farm_id = preg_replace('@\d+\."(.*?)"\.\d+@', '\\1', $index);
$oids = array(
$oids = [
'cesServerFarmRserverTotalConns',
'cesServerFarmRserverCurrentConns',
'cesServerFarmRserverFailedConns',
);
];
$db_oids = array(
$db_oids = [
$farm_id => 'farm_id',
'cesServerFarmRserverStateDescr' => 'StateDescr',
);
];
if (!is_array($serverfarms[$farm_id])) {
$rserver_id = dbInsert(array(
if (! is_array($serverfarms[$farm_id])) {
$rserver_id = dbInsert([
'device_id' => $device['device_id'],
'farm_id' => $farm_id,
'StateDescr' => $serverfarm['cesServerFarmRserverStateDescr']
), 'loadbalancer_rservers');
'StateDescr' => $serverfarm['cesServerFarmRserverStateDescr'],
], 'loadbalancer_rservers');
} else {
foreach ($db_oids as $db_oid => $db_value) {
$db_update[$db_value] = $serverfarm[$db_oid];
@ -38,7 +38,7 @@ if ($device['os_group'] == 'cisco') {
$updated = dbUpdate($db_update, 'loadbalancer_rservers', '`rserver_id` = ?', $serverfarm['cesServerFarmRserverFailedConns']['farm_id']);
}
$rrd_name = array('rserver', $serverfarms[$farm_id]['rserver_id']);
$rrd_name = ['rserver', $serverfarms[$farm_id]['rserver_id']];
$rrd_def = new RrdDefinition();
foreach ($oids as $oid) {
@ -46,7 +46,7 @@ if ($device['os_group'] == 'cisco') {
$rrd_def->addDataset($oid_ds, 'GAUGE', -1, 100000000);
}
$fields = array();
$fields = [];
foreach ($oids as $oid) {
if (is_numeric($serverfarm[$oid])) {

View File

@ -3,8 +3,8 @@
use LibreNMS\RRD\RrdDefinition;
if ($device['os_group'] == 'cisco') {
$serverfarm_array = snmpwalk_cache_oid($device, 'slbVServerInfoTable', array(), 'CISCO-SLB-MIB');
$serverfarm_db = dbFetchRows('SELECT * FROM `loadbalancer_vservers` WHERE `device_id` = ?', array($device['device_id']));
$serverfarm_array = snmpwalk_cache_oid($device, 'slbVServerInfoTable', [], 'CISCO-SLB-MIB');
$serverfarm_db = dbFetchRows('SELECT * FROM `loadbalancer_vservers` WHERE `device_id` = ?', [$device['device_id']]);
foreach ($serverfarm_db as $vserver) {
$classmaps[$vserver['classmap']] = $vserver;
@ -14,28 +14,28 @@ if ($device['os_group'] == 'cisco') {
$classmap = str_replace('class-map-', '', $vserver['slbVServerClassMap']);
$classmap_id = str_replace('9.', '', $index);
$oids = array(
$oids = [
'slbVServerNumberOfConnections',
'slbVServerDroppedConnections',
'slbVServerClientPacketCounts',
'slbVServerClientByteCounts',
'slbVServerPacketCounts',
'slbVServerByteCounts',
);
];
$db_oids = array(
$db_oids = [
$classmap_id => 'classmap_id',
$classmap => 'classmap',
'slbVServerState' => 'serverstate',
);
];
if (!is_array($classmaps[$classmap])) {
$classmap_in = dbInsert(array(
if (! is_array($classmaps[$classmap])) {
$classmap_in = dbInsert([
'device_id' => $device['device_id'],
'classmap_id' => $classmap_id,
'classmap' => $classmap,
'serverstate' => $vserver['slbVServerState']
), 'loadbalancer_vservers');
'serverstate' => $vserver['slbVServerState'],
], 'loadbalancer_vservers');
} else {
foreach ($db_oids as $db_oid => $db_value) {
$db_update[$db_value] = $vserver[$db_oid];
@ -44,14 +44,14 @@ if ($device['os_group'] == 'cisco') {
$updated = dbUpdate($db_update, 'loadbalancer_vservers', '`classmap_id` = ?', $vserver['slbVServerState']['classmap']);
}
$rrd_name = array('vserver', $classmap_id);
$rrd_name = ['vserver', $classmap_id];
$rrd_def = new RrdDefinition();
foreach ($oids as $oid) {
$oid_ds = str_replace('slbVServer', '', $oid);
$rrd_def->addDataset($oid_ds, 'COUNTER', null, 1000000000);
}
$fields = array();
$fields = [];
foreach ($oids as $oid) {
if (is_numeric($vserver[$oid])) {
$value = $vserver[$oid];

View File

@ -14,17 +14,17 @@
use LibreNMS\RRD\RrdDefinition;
if ($device['os_group'] == 'cisco' && ( $device['os'] == 'asa' || $device['os'] == 'ftd' ) && $device['type'] == 'firewall') {
$oid_list = 'cfwConnectionStatValue.protoIp.currentInUse';
$temp_data = snmpwalk_cache_double_oid($device, $oid_list, array(), 'CISCO-FIREWALL-MIB');
if ($device['os_group'] == 'cisco' && ($device['os'] == 'asa' || $device['os'] == 'ftd') && $device['type'] == 'firewall') {
$oid_list = 'cfwConnectionStatValue.protoIp.currentInUse';
$temp_data = snmpwalk_cache_double_oid($device, $oid_list, [], 'CISCO-FIREWALL-MIB');
foreach ($temp_data as $oid => $result) {
$oid = substr(strchr($oid, '.'), 1);
$oid = substr(strchr($oid, '.'), 1);
$data[$oid]['data'] = $result['cfwConnectionStatValue'];
$asa_db = dbFetchCell('SELECT `ciscoASA_id` FROM `ciscoASA` WHERE `device_id` = ? AND `oid` = ?', array($device['device_id'], $oid));
if (!is_numeric($asa_db)) {
$asa_db = dbInsert(array('device_id' => $device['device_id'], 'oid' => $oid, 'data' => $result['cfwConnectionStatValue']), 'ciscoASA');
$asa_db = dbFetchCell('SELECT `ciscoASA_id` FROM `ciscoASA` WHERE `device_id` = ? AND `oid` = ?', [$device['device_id'], $oid]);
if (! is_numeric($asa_db)) {
$asa_db = dbInsert(['device_id' => $device['device_id'], 'oid' => $oid, 'data' => $result['cfwConnectionStatValue']], 'ciscoASA');
} else {
$asa_db = dbUpdate(array('data' => $result['cfwConnectionStatValue']), 'ciscoASA', 'device_id=?', array($device['device_id']));
$asa_db = dbUpdate(['data' => $result['cfwConnectionStatValue']], 'ciscoASA', 'device_id=?', [$device['device_id']]);
}
$data[$oid]['db_id'] = $asa_db;
@ -32,9 +32,9 @@ if ($device['os_group'] == 'cisco' && ( $device['os'] == 'asa' || $device['os']
if ($data['currentInUse']) {
$rrd_def = RrdDefinition::make()->addDataset('connections', 'GAUGE', 0);
$fields = array(
$fields = [
'connections' => $data['currentInUse']['data'],
);
];
$tags = compact('rrd_def');
data_update($device, 'asa_conns', $tags, $fields);

View File

@ -17,9 +17,9 @@ if ($device['os_group'] == "cisco") {
$tmp_module = 'Cisco-CBQOS';
$component = new LibreNMS\Component();
$options['filter']['type'] = array('=',$tmp_module);
$options['filter']['disabled'] = array('=',0);
$options['filter']['ignore'] = array('=',0);
$options['filter']['type'] = ['=', $tmp_module];
$options['filter']['disabled'] = ['=', 0];
$options['filter']['ignore'] = ['=', 0];
$components = $component->getComponents($device['device_id'], $options);
// We only care about our device id.
@ -40,7 +40,7 @@ if ($device['os_group'] == "cisco") {
$ifIndex = $array['ifindex'];
$spid = $array['sp-id'];
$spobj = $array['sp-obj'];
$rrd_name = array('port', $ifIndex, 'cbqos', $spid, $spobj);
$rrd_name = ['port', $ifIndex, 'cbqos', $spid, $spobj];
$rrd_def = RrdDefinition::make()
->addDataset('postbits', 'COUNTER', 0)
->addDataset('bufferdrops', 'COUNTER', 0)
@ -50,24 +50,24 @@ if ($device['os_group'] == "cisco") {
->addDataset('droppkts', 'COUNTER', 0);
// Let's print some debugging info.
d_echo("\n\nComponent: ".$key."\n");
d_echo(" Class-Map: ".$array['label']."\n");
d_echo(" SPID.SPOBJ: ".$array['sp-id'].".".$array['sp-obj']."\n");
d_echo(" PostBytes: 1.3.6.1.4.1.9.9.166.1.15.1.1.10.".$array['sp-id'].".".$array['sp-obj']." = ".$tblcbQosClassMapStats['1.3.6.1.4.1.9.9.166.1.15.1.1.10'][$array['sp-id']][$array['sp-obj']]."\n");
d_echo(" BufferDrops: 1.3.6.1.4.1.9.9.166.1.15.1.1.21.".$array['sp-id'].".".$array['sp-obj']." = ".$tblcbQosClassMapStats['1.3.6.1.4.1.9.9.166.1.15.1.1.21'][$array['sp-id']][$array['sp-obj']]."\n");
d_echo(" QOSDrops: 1.3.6.1.4.1.9.9.166.1.15.1.1.17.".$array['sp-id'].".".$array['sp-obj']." = ".$tblcbQosClassMapStats['1.3.6.1.4.1.9.9.166.1.15.1.1.17'][$array['sp-id']][$array['sp-obj']]."\n");
d_echo(" PreBytes: 1.3.6.1.4.1.9.9.166.1.15.1.1.6.".$array['sp-id'].".".$array['sp-obj']." = ".$tblcbQosClassMapStats['1.3.6.1.4.1.9.9.166.1.15.1.1.6'][$array['sp-id']][$array['sp-obj']]."\n");
d_echo(" PrePkts: 1.3.6.1.4.1.9.9.166.1.15.1.1.3.".$array['sp-id'].".".$array['sp-obj']." = ".$tblcbQosClassMapStats['1.3.6.1.4.1.9.9.166.1.15.1.1.3'][$array['sp-id']][$array['sp-obj']]."\n");
d_echo(" DropPkts: 1.3.6.1.4.1.9.9.166.1.15.1.1.14.".$array['sp-id'].".".$array['sp-obj']." = ".$tblcbQosClassMapStats['1.3.6.1.4.1.9.9.166.1.15.1.1.14'][$array['sp-id']][$array['sp-obj']]."\n");
d_echo("\n\nComponent: " . $key . "\n");
d_echo(" Class-Map: " . $array['label'] . "\n");
d_echo(" SPID.SPOBJ: " . $array['sp-id'] . "." . $array['sp-obj'] . "\n");
d_echo(" PostBytes: 1.3.6.1.4.1.9.9.166.1.15.1.1.10." . $array['sp-id'] . "." . $array['sp-obj'] . " = " . $tblcbQosClassMapStats['1.3.6.1.4.1.9.9.166.1.15.1.1.10'][$array['sp-id']][$array['sp-obj']] . "\n");
d_echo(" BufferDrops: 1.3.6.1.4.1.9.9.166.1.15.1.1.21." . $array['sp-id'] . "." . $array['sp-obj'] . " = " . $tblcbQosClassMapStats['1.3.6.1.4.1.9.9.166.1.15.1.1.21'][$array['sp-id']][$array['sp-obj']] . "\n");
d_echo(" QOSDrops: 1.3.6.1.4.1.9.9.166.1.15.1.1.17." . $array['sp-id'] . "." . $array['sp-obj'] . " = " . $tblcbQosClassMapStats['1.3.6.1.4.1.9.9.166.1.15.1.1.17'][$array['sp-id']][$array['sp-obj']] . "\n");
d_echo(" PreBytes: 1.3.6.1.4.1.9.9.166.1.15.1.1.6." . $array['sp-id'] . "." . $array['sp-obj'] . " = " . $tblcbQosClassMapStats['1.3.6.1.4.1.9.9.166.1.15.1.1.6'][$array['sp-id']][$array['sp-obj']] . "\n");
d_echo(" PrePkts: 1.3.6.1.4.1.9.9.166.1.15.1.1.3." . $array['sp-id'] . "." . $array['sp-obj'] . " = " . $tblcbQosClassMapStats['1.3.6.1.4.1.9.9.166.1.15.1.1.3'][$array['sp-id']][$array['sp-obj']] . "\n");
d_echo(" DropPkts: 1.3.6.1.4.1.9.9.166.1.15.1.1.14." . $array['sp-id'] . "." . $array['sp-obj'] . " = " . $tblcbQosClassMapStats['1.3.6.1.4.1.9.9.166.1.15.1.1.14'][$array['sp-id']][$array['sp-obj']] . "\n");
$fields = array(
$fields = [
'postbits' => $tblcbQosClassMapStats['1.3.6.1.4.1.9.9.166.1.15.1.1.10'][$array['sp-id']][$array['sp-obj']],
'bufferdrops' => $tblcbQosClassMapStats['1.3.6.1.4.1.9.9.166.1.15.1.1.21'][$array['sp-id']][$array['sp-obj']],
'qosdrops' => $tblcbQosClassMapStats['1.3.6.1.4.1.9.9.166.1.15.1.1.17'][$array['sp-id']][$array['sp-obj']],
'prebits' => $tblcbQosClassMapStats['1.3.6.1.4.1.9.9.166.1.15.1.1.6'][$array['sp-id']][$array['sp-obj']],
'prepkts' => $tblcbQosClassMapStats['1.3.6.1.4.1.9.9.166.1.15.1.1.3'][$array['sp-id']][$array['sp-obj']],
'droppkts' => $tblcbQosClassMapStats['1.3.6.1.4.1.9.9.166.1.15.1.1.14'][$array['sp-id']][$array['sp-obj']]
);
'droppkts' => $tblcbQosClassMapStats['1.3.6.1.4.1.9.9.166.1.15.1.1.14'][$array['sp-id']][$array['sp-obj']],
];
$tags = compact('rrd_name', 'rrd_def', 'ifIndex', 'spid', 'spobj');
data_update($device, 'cbqos', $tags, $fields);

View File

@ -3,22 +3,22 @@
use LibreNMS\RRD\RrdDefinition;
if ($device['os_group'] == 'cisco') {
$cefs = array();
$cefs = snmpwalk_cache_threepart_oid($device, 'CISCO-CEF-MIB::cefSwitchingStatsEntry', $cefs, 'CISCO-CEF-MIB');
$cefs = [];
$cefs = snmpwalk_cache_threepart_oid($device, 'CISCO-CEF-MIB::cefSwitchingStatsEntry', $cefs, 'CISCO-CEF-MIB');
$polled = time();
$cefs_query = dbFetchRows('SELECT * FROM `cef_switching` WHERE `device_id` = ?', array($device['device_id']));
$cefs_query = dbFetchRows('SELECT * FROM `cef_switching` WHERE `device_id` = ?', [$device['device_id']]);
foreach ($cefs_query as $ceftmp) {
$cef_id = $device['device_id'].'-'.$ceftmp['entPhysicalIndex'].'-'.$ceftmp['afi'].'-'.$ceftmp['cef_index'];
$cef_id = $device['device_id'] . '-' . $ceftmp['entPhysicalIndex'] . '-' . $ceftmp['afi'] . '-' . $ceftmp['cef_index'];
$cefs_db[$cef_id] = $ceftmp['cef_switching_id'];
}
d_echo($cefs);
if (is_array($cefs)) {
if (!is_array($entity_array)) {
if (! is_array($entity_array)) {
echo 'Caching OIDs: ';
$entity_array = array();
$entity_array = [];
echo ' entPhysicalDescr';
$entity_array = snmpwalk_cache_multi_oid($device, 'entPhysicalDescr', $entity_array, 'ENTITY-MIB');
echo ' entPhysicalName';
@ -28,26 +28,26 @@ if ($device['os_group'] == 'cisco') {
}
foreach ($cefs as $entity => $afis) {
$entity_name = $entity_array[$entity]['entPhysicalName'].' - '.$entity_array[$entity]['entPhysicalModelName'];
$entity_name = $entity_array[$entity]['entPhysicalName'] . ' - ' . $entity_array[$entity]['entPhysicalModelName'];
echo "\n$entity $entity_name\n";
foreach ($afis as $afi => $paths) {
echo " |- $afi\n";
foreach ($paths as $index => $cef_stat) {
echo ' | |-'.$index.': '.$cef_stat['cefSwitchingPath'];
echo ' | |-' . $index . ': ' . $cef_stat['cefSwitchingPath'];
$cef_id = $device['device_id'].'-'.$entity.'-'.$afi.'-'.$index;
$cef_id = $device['device_id'] . '-' . $entity . '-' . $afi . '-' . $index;
// if (dbFetchCell("SELECT COUNT(*) FROM `cef_switching` WHERE `device_id` = ? AND `entPhysicalIndex` = ? AND `afi` = ? AND `cef_index` = ?", array($device['device_id'], $entity, $afi, $path)) != "1")
if (!isset($cefs_db[$cef_id])) {
dbInsert(array('device_id' => $device['device_id'], 'entPhysicalIndex' => $entity, 'afi' => $afi, 'cef_index' => $index, 'cef_path' => $cef_stat['cefSwitchingPath']), 'cef_switching');
if (! isset($cefs_db[$cef_id])) {
dbInsert(['device_id' => $device['device_id'], 'entPhysicalIndex' => $entity, 'afi' => $afi, 'cef_index' => $index, 'cef_path' => $cef_stat['cefSwitchingPath']], 'cef_switching');
echo '+';
}
unset($cefs_db[$cef_id]);
$cef_entry = dbFetchRow('SELECT * FROM `cef_switching` WHERE `device_id` = ? AND `entPhysicalIndex` = ? AND `afi` = ? AND `cef_index` = ?', array($device['device_id'], $entity, $afi, $index));
$cef_entry = dbFetchRow('SELECT * FROM `cef_switching` WHERE `device_id` = ? AND `entPhysicalIndex` = ? AND `afi` = ? AND `cef_index` = ?', [$device['device_id'], $entity, $afi, $index]);
$rrd_name = array('cefswitching', $entity, $afi, $index);
$rrd_name = ['cefswitching', $entity, $afi, $index];
$rrd_def = RrdDefinition::make()
->addDataset('drop', 'DERIVE', 0, 1000000)
->addDataset('punt', 'DERIVE', 0, 1000000)
@ -67,22 +67,22 @@ if ($device['os_group'] == 'cisco') {
}
// FIXME -- memcached
$cef_stat['update']['drop'] = $cef_stat['cefSwitchingDrop'];
$cef_stat['update']['punt'] = $cef_stat['cefSwitchingPunt'];
$cef_stat['update']['punt2host'] = $cef_stat['cefSwitchingPunt2Host'];
$cef_stat['update']['drop_prev'] = $cef_entry['drop'];
$cef_stat['update']['punt_prev'] = $cef_entry['punt'];
$cef_stat['update']['drop'] = $cef_stat['cefSwitchingDrop'];
$cef_stat['update']['punt'] = $cef_stat['cefSwitchingPunt'];
$cef_stat['update']['punt2host'] = $cef_stat['cefSwitchingPunt2Host'];
$cef_stat['update']['drop_prev'] = $cef_entry['drop'];
$cef_stat['update']['punt_prev'] = $cef_entry['punt'];
$cef_stat['update']['punt2host_prev'] = $cef_entry['punt2host'];
$cef_stat['update']['updated'] = $polled;
$cef_stat['update']['updated_prev'] = $cef_entry['updated'];
$cef_stat['update']['updated'] = $polled;
$cef_stat['update']['updated_prev'] = $cef_entry['updated'];
dbUpdate($cef_stat['update'], 'cef_switching', '`device_id` = ? AND `entPhysicalIndex` = ? AND `afi` = ? AND `cef_index` = ?', array($device['device_id'], $entity, $afi, $index));
dbUpdate($cef_stat['update'], 'cef_switching', '`device_id` = ? AND `entPhysicalIndex` = ? AND `afi` = ? AND `cef_index` = ?', [$device['device_id'], $entity, $afi, $index]);
$fields = array(
$fields = [
'drop' => $cef_stat['cefSwitchingDrop'],
'punt' => $cef_stat['cefSwitchingPunt'],
'hostpunt' => $cef_stat['cefSwitchingPunt2Host'],
);
];
$tags = compact('entity', 'afi', 'index', 'rrd_name', 'rrd_def');
data_update($device, 'cefswitching', $tags, $fields);
@ -96,8 +96,8 @@ if ($device['os_group'] == 'cisco') {
// FIXME - need to delete old ones. FIXME REALLY.
print_r($cefs_db);
foreach ((array)$cefs_db as $cef_switching_id) {
dbDelete('cef_switching', '`cef_switching_id` = ?', array($cef_switching_id));
foreach ((array) $cefs_db as $cef_switching_id) {
dbDelete('cef_switching', '`cef_switching_id` = ?', [$cef_switching_id]);
echo '-';
}

View File

@ -78,7 +78,7 @@ if ($device['os_group'] == 'cisco') {
->addDataset('NoSaFails', 'COUNTER', 0, 100000000000)
->addDataset('SysCapFails', 'COUNTER', 0, 100000000000);
$fields = array(
$fields = [
'Tunnels' => $data['cipSecGlobalActiveTunnels'],
'InOctets' => $data['cipSecGlobalInOctets'],
'OutOctets' => $data['cipSecGlobalOutOctets'],
@ -100,7 +100,7 @@ if ($device['os_group'] == 'cisco') {
'ProtocolUseFails' => $data['cipSecGlobalProtocolUseFails'],
'NoSaFails' => $data['cipSecGlobalNoSaFails'],
'SysCapFails' => $data['cipSecGlobalSysCapFails'],
);
];
$tags = compact('rrd_def');
data_update($device, 'cipsec_flow', $tags, $fields);

View File

@ -3,16 +3,16 @@
use LibreNMS\RRD\RrdDefinition;
if ($device['os_group'] == 'cisco') {
$acc_rows = dbFetchRows('SELECT *, A.poll_time AS poll_time FROM `mac_accounting` as A, `ports` AS I where A.port_id = I.port_id AND I.device_id = ?', array($device['device_id']));
$acc_rows = dbFetchRows('SELECT *, A.poll_time AS poll_time FROM `mac_accounting` as A, `ports` AS I where A.port_id = I.port_id AND I.device_id = ?', [$device['device_id']]);
if (!empty($acc_rows)) {
$cip_oids = array(
if (! empty($acc_rows)) {
$cip_oids = [
'cipMacHCSwitchedBytes',
'cipMacHCSwitchedPkts',
);
$cip_array = array();
];
$cip_array = [];
foreach (array_merge($cip_oids, array('cipMacSwitchedBytes', 'cipMacSwitchedPkts')) as $oid) {
foreach (array_merge($cip_oids, ['cipMacSwitchedBytes', 'cipMacSwitchedPkts']) as $oid) {
echo "$oid ";
$cip_array = snmpwalk_cache_cip($device, $oid, $cip_array, 'CISCO-IP-STAT-MIB');
}
@ -20,19 +20,19 @@ if ($device['os_group'] == 'cisco') {
// Normalize cip_array
$cip_array = array_map(function ($entries) {
return array_map(function ($entry) {
$new_entry = array();
foreach (array('Bytes', 'Pkts') as $unit) {
$returned_oid = (array_key_exists('cipMacHCSwitched'.$unit, $entry)) ? 'cipMacHCSwitched' : 'cipMacSwitched';
$new_value = array();
foreach ($entry[$returned_oid.$unit] as $key => $value) {
$new_entry = [];
foreach (['Bytes', 'Pkts'] as $unit) {
$returned_oid = (array_key_exists('cipMacHCSwitched' . $unit, $entry)) ? 'cipMacHCSwitched' : 'cipMacSwitched';
$new_value = [];
foreach ($entry[$returned_oid . $unit] as $key => $value) {
$new_value[$key] = intval($value);
}
$new_entry['cipMacHCSwitched'.$unit] = $new_value;
$new_entry['cipMacHCSwitched' . $unit] = $new_value;
}
return $new_entry;
}, $entries);
}, $cip_array);
@ -64,7 +64,7 @@ if ($device['os_group'] == 'cisco') {
// Update metrics
foreach ($cip_oids as $oid) {
foreach (array('input', 'output') as $dir) {
foreach (['input', 'output'] as $dir) {
$oid_dir = $oid . '_' . $dir;
$acc['update'][$oid_dir] = $this_ma[$oid][$dir];
$acc['update'][$oid_dir . '_prev'] = $acc[$oid_dir];
@ -81,7 +81,7 @@ if ($device['os_group'] == 'cisco') {
d_echo("\n" . $acc['hostname'] . ' ' . $acc['ifDescr'] . " $mac -> $b_in:$b_out:$p_in:$p_out ");
$rrd_name = array('cip', $ifIndex, $mac);
$rrd_name = ['cip', $ifIndex, $mac];
$rrd_def = RrdDefinition::make()
->addDataset('IN', 'COUNTER', 0, 12500000000)
->addDataset('OUT', 'COUNTER', 0, 12500000000)
@ -89,19 +89,19 @@ if ($device['os_group'] == 'cisco') {
->addDataset('POUT', 'COUNTER', 0, 12500000000);
// FIXME - use memcached to make sure these values don't go backwards?
$fields = array(
$fields = [
'IN' => $b_in,
'OUT' => $b_out,
'PIN' => $p_in,
'POUT' => $p_out,
);
];
$tags = compact('ifIndex', 'mac', 'rrd_name', 'rrd_def');
data_update($device, 'cip', $tags, $fields);
if ($acc['update']) {
// Do Updates
dbUpdate($acc['update'], 'mac_accounting', '`ma_id` = ?', array($acc['ma_id']));
dbUpdate($acc['update'], 'mac_accounting', '`ma_id` = ?', [$acc['ma_id']]);
} //end if
}//end if
}//end foreach

View File

@ -15,7 +15,7 @@ use LibreNMS\RRD\RrdDefinition;
if ($device['os_group'] == "cisco") {
// Define some error messages
$error_vpn = array();
$error_vpn = [];
$error_vpn[0] = "Other";
$error_vpn[1] = "Configuration changed";
$error_vpn[2] = "Control Group information is unavailable";
@ -37,7 +37,7 @@ if ($device['os_group'] == "cisco") {
$error_vpn[18] = "Changing device ID";
$error_vpn[19] = "Cleanup in progress";
$error_aed = array();
$error_aed = [];
$error_aed[0] = "Other";
$error_aed[1] = "Overlay is Down";
$error_aed[2] = "Site ID is not configured";
@ -50,7 +50,7 @@ if ($device['os_group'] == "cisco") {
$error_aed[9] = "Overlay state down event in progress";
$error_aed[10] = "ISIS control group sync pending";
$error_overlay = array();
$error_overlay = [];
$error_overlay[1] = "active";
$error_overlay[2] = "notInService";
$error_overlay[3] = "notReady";
@ -61,8 +61,8 @@ if ($device['os_group'] == "cisco") {
$tmp_module = 'Cisco-OTV';
$component = new LibreNMS\Component();
$options['filter']['type'] = array('=',$tmp_module);
$options['filter']['disabled'] = array('=',0);
$options['filter']['type'] = ['=', $tmp_module];
$options['filter']['disabled'] = ['=', 0];
$components = $component->getComponents($device['device_id'], $options);
// We only care about our device id.
@ -77,12 +77,12 @@ if ($device['os_group'] == "cisco") {
$tblVlanEdgeDevIsAed = snmpwalk_array_num($device, '.1.3.6.1.4.1.9.9.810.1.2.2.1.6', 2);
// Let's create an array of each remote OTV endpoint and the count of MAC addresses that are reachable via.
$count_mac = array();
$count_mac = [];
foreach ($tblRouteNextHopAddr as $k => $v) {
$count_mac[$v]++;
}
// Let's log some debugging
d_echo("\n\nMAC Addresses: ".print_r($count_mac, true));
d_echo("\n\nMAC Addresses: " . print_r($count_mac, true));
// Loop through the components and extract the data.
foreach ($components as $key => &$array) {
@ -91,15 +91,15 @@ if ($device['os_group'] == "cisco") {
$message = false;
$vpn_state = $tblOverlayEntry['1.3.6.1.4.1.9.9.810.1.2.1.1.3'][$array['index']];
if ($vpn_state != 2) {
$message .= "VPN Down: ".$error_vpn[$tblOverlayEntry['1.3.6.1.4.1.9.9.810.1.2.1.1.4'][$array['index']]];
$message .= "VPN Down: " . $error_vpn[$tblOverlayEntry['1.3.6.1.4.1.9.9.810.1.2.1.1.4'][$array['index']]];
}
$aed_state = $tblOverlayEntry['1.3.6.1.4.1.9.9.810.1.2.1.1.13'][$array['index']];
if ($aed_state == 2) {
$message .= "AED Down: ".$error_aed[$tblOverlayEntry['1.3.6.1.4.1.9.9.810.1.2.1.1.14'][$array['index']]];
$message .= "AED Down: " . $error_aed[$tblOverlayEntry['1.3.6.1.4.1.9.9.810.1.2.1.1.14'][$array['index']]];
}
$overlay_state = $tblOverlayEntry['1.3.6.1.4.1.9.9.810.1.2.1.1.23'][$array['index']];
if ($overlay_state == 2) {
$message .= "Overlay Down: ".$error_overlay[$tblOverlayEntry['1.3.6.1.4.1.9.9.810.1.2.1.1.24'][$array['index']]];
$message .= "Overlay Down: " . $error_overlay[$tblOverlayEntry['1.3.6.1.4.1.9.9.810.1.2.1.1.24'][$array['index']]];
}
// If we have set a message, we have an error, activate alert.
@ -120,30 +120,30 @@ if ($device['os_group'] == "cisco") {
}
// Let's log some debugging
d_echo("\n\nOverlay Component: ".$key."\n");
d_echo(" Label: ".$array['label']."\n");
d_echo(" Index: ".$array['index']."\n");
d_echo(" Status: ".$array['status']."\n");
d_echo(" Message: ".$array['error']."\n");
d_echo(" VLAN Count: ".$count_vlan."\n");
d_echo("\n\nOverlay Component: " . $key . "\n");
d_echo(" Label: " . $array['label'] . "\n");
d_echo(" Index: " . $array['index'] . "\n");
d_echo(" Status: " . $array['status'] . "\n");
d_echo(" Message: " . $array['error'] . "\n");
d_echo(" VLAN Count: " . $count_vlan . "\n");
$label = $array['label'];
$rrd_name = array('cisco', 'otv', $label, 'vlan');
$rrd_name = ['cisco', 'otv', $label, 'vlan'];
$rrd_def = RrdDefinition::make()->addDataset('count', 'GAUGE', 0);
$fields = array(
'count' => $count_vlan
);
$fields = [
'count' => $count_vlan,
];
$tags = compact('label', 'rrd_name', 'rrd_def');
data_update($device, 'cisco-otv-vlan', $tags, $fields);
} elseif ($array['otvtype'] == 'adjacency') {
$array['uptime'] = $tblAdjacencyDatabaseEntry['1.3.6.1.4.1.9.9.810.1.3.1.1.6.'.$array['index'].'.1.4.'.$array['endpoint']];
$array['uptime'] = $tblAdjacencyDatabaseEntry['1.3.6.1.4.1.9.9.810.1.3.1.1.6.' . $array['index'] . '.1.4.' . $array['endpoint']];
$message = false;
if ($tblAdjacencyDatabaseEntry['1.3.6.1.4.1.9.9.810.1.3.1.1.5.'.$array['index'].'.1.4.'.$array['endpoint']] != 1) {
if ($tblAdjacencyDatabaseEntry['1.3.6.1.4.1.9.9.810.1.3.1.1.5.' . $array['index'] . '.1.4.' . $array['endpoint']] != 1) {
$message .= "Adjacency is Down\n";
}
if ($tblAdjacencyDatabaseEntry['1.3.6.1.4.1.9.9.810.1.3.1.1.6.'.$array['index'].'.1.4.'.$array['endpoint']] < $array['uptime']) {
if ($tblAdjacencyDatabaseEntry['1.3.6.1.4.1.9.9.810.1.3.1.1.6.' . $array['index'] . '.1.4.' . $array['endpoint']] < $array['uptime']) {
$message .= "Adjacency has been reset\n";
}
@ -157,11 +157,11 @@ if ($device['os_group'] == "cisco") {
}
// Let's log some debugging
d_echo("\n\nAdjacency Component: ".$key."\n");
d_echo(" Label: ".$array['label']."\n");
d_echo(" Index: ".$array['index']."\n");
d_echo(" Status: ".$array['status']."\n");
d_echo(" Message: ".$array['error']."\n");
d_echo("\n\nAdjacency Component: " . $key . "\n");
d_echo(" Label: " . $array['label'] . "\n");
d_echo(" Index: " . $array['index'] . "\n");
d_echo(" Status: " . $array['status'] . "\n");
d_echo(" Message: " . $array['error'] . "\n");
} elseif ($array['otvtype'] == 'endpoint') {
$count = 0;
$endpoint = $array['endpoint'];
@ -171,15 +171,15 @@ if ($device['os_group'] == "cisco") {
}
// Let's log some debugging
d_echo("\n\nEndpoint Component: ".$key."\n");
d_echo(" Label: ".$array['label']."\n");
d_echo(" MAC Count: ".$count."\n");
d_echo("\n\nEndpoint Component: " . $key . "\n");
d_echo(" Label: " . $array['label'] . "\n");
d_echo(" MAC Count: " . $count . "\n");
$rrd_name = array('cisco', 'otv', $endpoint, 'mac');
$rrd_name = ['cisco', 'otv', $endpoint, 'mac'];
$rrd_def = RrdDefinition::make()->addDataset('count', 'GAUGE', 0);
$fields = array(
'count' => $count
);
$fields = [
'count' => $count,
];
$tags = compact('endpoint', 'rrd_name', 'rrd_def');
data_update($device, 'cisco-otv-mac', $tags, $fields);

View File

@ -22,13 +22,13 @@ $module = 'cisco-qfp';
/*
* Fetch device components and filter ignored or disabled ones
*/
$options = array(
'filter' => array(
'type' => array('=', $module),
'disabled' => array('=', 0),
'ignore' => array('=', 0)
)
);
$options = [
'filter' => [
'type' => ['=', $module],
'disabled' => ['=', 0],
'ignore' => ['=', 0],
],
];
$component = new LibreNMS\Component();
$components = $component->getComponents($device['device_id'], $options);
@ -39,17 +39,16 @@ $components = $components[$device['device_id']];
* Use 5min for now but if in future LibreNMS polling interval is set through
* config file we can use this to quickly select best time interval
*/
$time_interval_array = array(
$time_interval_array = [
'5sec' => 1,
'1min' => 2,
'5min' => 3,
'1h' => 4
);
'1h' => 4,
];
$ti = $time_interval_array['5min'];
if (!empty($components) && is_array($components)) {
if (! empty($components) && is_array($components)) {
foreach ($components as $component_id => $tmp_component) {
/*
* Build OIDs and use snmpget to fetch multiple OIDs at once instead of snmpwalk
@ -60,7 +59,7 @@ if (!empty($components) && is_array($components)) {
* ceqfpUtilizationEntry table has `entPhysicalIndex` and `ceqfpUtilTimeInterval` indexes
*/
$util_oid_suffix = $qfp_index . '.' . $ti;
$util_oids = array(
$util_oids = [
'InPriorityPps' => '.1.3.6.1.4.1.9.9.715.1.1.6.1.2.' . $util_oid_suffix,
'InPriorityBps' => '.1.3.6.1.4.1.9.9.715.1.1.6.1.3.' . $util_oid_suffix,
'InNonPriorityPps' => '.1.3.6.1.4.1.9.9.715.1.1.6.1.4.' . $util_oid_suffix,
@ -73,22 +72,22 @@ if (!empty($components) && is_array($components)) {
'OutNonPriorityBps' => '.1.3.6.1.4.1.9.9.715.1.1.6.1.11.' . $util_oid_suffix,
'OutTotalPps' => '.1.3.6.1.4.1.9.9.715.1.1.6.1.12.' . $util_oid_suffix,
'OutTotalBps' => '.1.3.6.1.4.1.9.9.715.1.1.6.1.13.' . $util_oid_suffix,
'ProcessingLoad' => '.1.3.6.1.4.1.9.9.715.1.1.6.1.14.' . $util_oid_suffix
);
'ProcessingLoad' => '.1.3.6.1.4.1.9.9.715.1.1.6.1.14.' . $util_oid_suffix,
];
/*
* ceqfpMemoryResourceEntry table has `entPhysicalIndex` and `ceqfpMemoryResType` indexes
* ceqfpMemoryResType has the only one valid value (1: dram)
*/
$mem_oid_suffix = $qfp_index . '.1';
$memory_oids = array(
$memory_oids = [
'RisingThreshold' => '.1.3.6.1.4.1.9.9.715.1.1.7.1.6.' . $mem_oid_suffix,
'FallingThreshold' => '.1.3.6.1.4.1.9.9.715.1.1.7.1.7.' . $mem_oid_suffix,
'LowFreeWatermark' => '.1.3.6.1.4.1.9.9.715.1.1.7.1.15.' . $mem_oid_suffix,
'Total' => '.1.3.6.1.4.1.9.9.715.1.1.7.1.9.' . $mem_oid_suffix,
'InUse' => '.1.3.6.1.4.1.9.9.715.1.1.7.1.11.' . $mem_oid_suffix,
'Free' => '.1.3.6.1.4.1.9.9.715.1.1.7.1.13.' . $mem_oid_suffix
);
'Free' => '.1.3.6.1.4.1.9.9.715.1.1.7.1.13.' . $mem_oid_suffix,
];
/*
* Get SNMP data
@ -100,7 +99,7 @@ if (!empty($components) && is_array($components)) {
* Check if the oids exist
* Possible FP linecard OIR between discovery and polling calls
*/
if (!empty($util_data) && !empty($memory_data)) {
if (! empty($util_data) && ! empty($memory_data)) {
$total_packets = $util_data[$util_oids['InTotalPps']] + $util_data[$util_oids['OutTotalPps']];
$throughput = $util_data[$util_oids['InTotalBps']] + $util_data[$util_oids['OutTotalBps']];
$average_packet = $throughput / 8 / $total_packets;
@ -108,21 +107,21 @@ if (!empty($components) && is_array($components)) {
* Create component data array for `component_prefs`
* and update components
*/
$component_data = array(
$component_data = [
'utilization' => $util_data[$util_oids['ProcessingLoad']],
'packets' => $total_packets,
'throughput' => $throughput,
'average_packet' => $average_packet,
'memory_total' => $memory_data[$memory_oids['Total']],
'memory_used' => $memory_data[$memory_oids['InUse']],
'memory_free' => $memory_data[$memory_oids['Free']]
);
'memory_free' => $memory_data[$memory_oids['Free']],
];
$components[$component_id] = array_merge($components[$component_id], $component_data);
/*
* Create Utilization RRDs
*/
$rrd_name = array($module, 'util', $qfp_index);
$rrd_name = [$module, 'util', $qfp_index];
$rrd_def = RrdDefinition::make();
foreach ($util_oids as $name => $oid) {
$rrd_def->addDataset($name, 'GAUGE', 0);
@ -132,11 +131,10 @@ if (!empty($components) && is_array($components)) {
data_update($device, $module, $tags, $rrd);
unset($filename, $rrd_filename, $rrd_name, $rrd_def, $rrd);
/*
* Create Utilization RRDs
*/
$rrd_name = array($module, 'memory', $qfp_index);
$rrd_name = [$module, 'memory', $qfp_index];
$rrd_def = RrdDefinition::make();
foreach ($memory_oids as $name => $oid) {
$rrd_def->addDataset($name, 'GAUGE', 0);

View File

@ -34,12 +34,12 @@ use LibreNMS\RRD\RrdDefinition;
// CISCO-REMOTE-ACCESS-MONITOR-MIB::crasWebvpnPeakConcurrentSessions.0 = Gauge32: 9 Sessions
if ($device['os_group'] == 'cisco') {
$oid_list = ['crasEmailNumSessions.0', 'crasIPSecNumSessions.0', 'crasL2LNumSessions.0', 'crasLBNumSessions.0', 'crasSVCNumSessions.0', 'crasWebvpnNumSessions.0'];
$data = snmp_get_multi($device, $oid_list, '-OUQs', 'CISCO-REMOTE-ACCESS-MONITOR-MIB');
$data = $data[0];
$data = snmp_get_multi($device, $oid_list, '-OUQs', 'CISCO-REMOTE-ACCESS-MONITOR-MIB');
$data = $data[0];
// Some ASAs return 'No Such Object available on this agent at this OID'
// for crasEmailNumSessions.0. Clamp this to 0.
if (!is_numeric($data['crasEmailNumSessions'])) {
if (! is_numeric($data['crasEmailNumSessions'])) {
$data['crasEmailNumSessions'] = 0;
}
@ -52,14 +52,14 @@ if ($device['os_group'] == 'cisco') {
->addDataset('svc', 'GAUGE', 0)
->addDataset('webvpn', 'GAUGE', 0);
$fields = array(
$fields = [
'email' => $data['crasEmailNumSessions'],
'ipsec' => $data['crasIPSecNumSessions'],
'l2l' => $data['crasL2LNumSessions'],
'lb' => $data['crasLBNumSessions'],
'svc' => $data['crasSVCNumSessions'],
'webvpn' => $data['crasWebvpnNumSessions'],
);
];
$tags = compact('rrd_def');
data_update($device, 'cras_sessions', $tags, $fields);

View File

@ -3,7 +3,7 @@
use LibreNMS\RRD\RrdDefinition;
// Gather our SLA's from the DB.
$slas = dbFetchRows('SELECT * FROM `slas` WHERE `device_id` = ? AND `deleted` = 0', array($device['device_id']));
$slas = dbFetchRows('SELECT * FROM `slas` WHERE `device_id` = ? AND `deleted` = 0', [$device['device_id']]);
if (count($slas) > 0) {
// We have SLA's, lets go!!!
@ -12,7 +12,7 @@ if (count($slas) > 0) {
$rttMonLatestRttOperTable = snmpwalk_array_num($device, '.1.3.6.1.4.1.9.9.42.1.2.10.1', 1);
$rttMonLatestOper = snmpwalk_array_num($device, '.1.3.6.1.4.1.9.9.42.1.5', 1);
$uptime = snmp_get($device, 'sysUpTime.0', '-Otv');
$uptime = snmp_get($device, 'sysUpTime.0', '-Otv');
$time_offset = (time() - intval($uptime) / 100);
foreach ($slas as $sla) {
@ -21,8 +21,8 @@ if (count($slas) > 0) {
// Lets process each SLA
$unixtime = intval(($rttMonLatestRttOperTable['1.3.6.1.4.1.9.9.42.1.2.10.1.5'][$sla_nr] / 100 + $time_offset));
$time = strftime('%Y-%m-%d %H:%M:%S', $unixtime);
$update = array();
$time = strftime('%Y-%m-%d %H:%M:%S', $unixtime);
$update = [];
// Use Nagios Status codes.
$opstatus = $rttMonLatestRttOperTable['1.3.6.1.4.1.9.9.42.1.2.10.1.2'][$sla_nr];
@ -38,14 +38,14 @@ if (count($slas) > 0) {
}
$rtt = $rttMonLatestRttOperTable['1.3.6.1.4.1.9.9.42.1.2.10.1.1'][$sla_nr];
echo 'SLA '.$sla_nr.': '.$rtt_type.' '.$sla['owner'].' '.$sla['tag'].'... '.$rtt.'ms at '.$time.'\n';
echo 'SLA ' . $sla_nr . ': ' . $rtt_type . ' ' . $sla['owner'] . ' ' . $sla['tag'] . '... ' . $rtt . 'ms at ' . $time . '\n';
$fields = array(
$fields = [
'rtt' => $rtt,
);
];
// The base RRD
$rrd_name = array('sla', $sla_nr);
$rrd_name = ['sla', $sla_nr];
$rrd_def = RrdDefinition::make()->addDataset('rtt', 'GAUGE', 0, 300000);
$tags = compact('sla_nr', 'rrd_name', 'rrd_def');
data_update($device, 'sla', $tags, $fields);
@ -53,20 +53,20 @@ if (count($slas) > 0) {
// Let's gather some per-type fields.
switch ($rtt_type) {
case 'jitter':
$jitter = array(
$jitter = [
'PacketLossSD' => $rttMonLatestOper['1.3.6.1.4.1.9.9.42.1.5.2.1.26'][$sla_nr],
'PacketLossDS' => $rttMonLatestOper['1.3.6.1.4.1.9.9.42.1.5.2.1.27'][$sla_nr],
'PacketOutOfSequence' => $rttMonLatestOper['1.3.6.1.4.1.9.9.42.1.5.2.1.28'][$sla_nr],
'PacketMIA' => $rttMonLatestOper['1.3.6.1.4.1.9.9.42.1.5.2.1.29'][$sla_nr],
'PacketLateArrival' => $rttMonLatestOper['1.3.6.1.4.1.9.9.42.1.5.2.1.30'][$sla_nr],
'MOS' => $rttMonLatestOper['1.3.6.1.4.1.9.9.42.1.5.2.1.42'][$sla_nr]/100,
'MOS' => $rttMonLatestOper['1.3.6.1.4.1.9.9.42.1.5.2.1.42'][$sla_nr] / 100,
'ICPIF' => $rttMonLatestOper['1.3.6.1.4.1.9.9.42.1.5.2.1.43'][$sla_nr],
'OWAvgSD' => $rttMonLatestOper['1.3.6.1.4.1.9.9.42.1.5.2.1.49'][$sla_nr],
'OWAvgDS' => $rttMonLatestOper['1.3.6.1.4.1.9.9.42.1.5.2.1.50'][$sla_nr],
'AvgSDJ' => $rttMonLatestOper['1.3.6.1.4.1.9.9.42.1.5.2.1.47'][$sla_nr],
'AvgDSJ' => $rttMonLatestOper['1.3.6.1.4.1.9.9.42.1.5.2.1.48'][$sla_nr],
);
$rrd_name = array('sla', $sla_nr, $rtt_type);
];
$rrd_name = ['sla', $sla_nr, $rtt_type];
$rrd_def = RrdDefinition::make()
->addDataset('PacketLossSD', 'GAUGE', 0)
->addDataset('PacketLossDS', 'GAUGE', 0)
@ -84,7 +84,7 @@ if (count($slas) > 0) {
$fields = array_merge($fields, $jitter);
break;
case 'icmpjitter':
$icmpjitter = array(
$icmpjitter = [
'PacketLoss' => $rttMonLatestOper['1.3.6.1.4.1.9.9.42.1.5.4.1.26'][$sla_nr],
'PacketOosSD' => $rttMonLatestOper['1.3.6.1.4.1.9.9.42.1.5.4.1.28'][$sla_nr],
'PacketOosDS' => $rttMonLatestOper['1.3.6.1.4.1.9.9.42.1.5.4.1.29'][$sla_nr],
@ -95,8 +95,8 @@ if (count($slas) > 0) {
'LatencyOWAvgDS' => $rttMonLatestOper['1.3.6.1.4.1.9.9.42.1.5.4.1.48'][$sla_nr],
'JitterIAJOut' => $rttMonLatestOper['1.3.6.1.4.1.9.9.42.1.5.4.1.49'][$sla_nr],
'JitterIAJIn' => $rttMonLatestOper['1.3.6.1.4.1.9.9.42.1.5.4.1.50'][$sla_nr],
);
$rrd_name = array('sla', $sla_nr, $rtt_type);
];
$rrd_name = ['sla', $sla_nr, $rtt_type];
$rrd_def = RrdDefinition::make()
->addDataset('PacketLoss', 'GAUGE', 0)
->addDataset('PacketOosSD', 'GAUGE', 0)
@ -114,12 +114,12 @@ if (count($slas) > 0) {
break;
}
d_echo("The following datasources were collected for #".$sla['sla_nr'].":\n");
d_echo("The following datasources were collected for #" . $sla['sla_nr'] . ":\n");
d_echo($fields);
// Update the DB if necessary
if (count($update) > 0) {
$updated = dbUpdate($update, 'slas', '`sla_id` = ?', array($sla['sla_id']));
$updated = dbUpdate($update, 'slas', '`sla_id` = ?', [$sla['sla_id']]);
}
}
}

View File

@ -33,16 +33,16 @@ if ($device['os_group'] == "cisco") {
->addDataset('total', 'GAUGE', 0)
->addDataset('active', 'GAUGE', 0);
$fields = array(
$fields = [
'total' => $total,
'active' => $active,
);
];
$tags = compact('rrd_def');
data_update($device, 'cisco-iosdsp', $tags, $fields);
$os->enableGraph('cisco-iosdsp');
echo(" Cisco IOS DSP ");
echo " Cisco IOS DSP ";
}
unset($rrd_def, $total, $active, $tags, $fields);
}

View File

@ -30,16 +30,16 @@ if ($device['os_group'] == "cisco") {
->addDataset('total', 'GAUGE', 0)
->addDataset('active', 'GAUGE', 0);
$fields = array(
$fields = [
'total' => $total,
'active' => $active,
);
];
$tags = compact('rrd_def');
data_update($device, 'cisco-iosmtp', $tags, $fields);
$os->enableGraph('cisco-iosmtp');
echo (" Cisco IOS MTP ");
echo " Cisco IOS MTP ";
}
unset($rrd_def, $total, $active, $available, $fields, $tags);
}

View File

@ -40,16 +40,16 @@ if ($device['os_group'] == "cisco") {
->addDataset('total', 'GAUGE', 0)
->addDataset('active', 'GAUGE', 0);
$fields = array(
$fields = [
'total' => $total,
'active' => $active,
);
];
$tags = compact('rrd_def');
data_update($device, 'cisco-iospri', $tags, $fields);
$os->enableGraph('cisco-iospri');
echo(" Cisco IOS PRI ");
echo " Cisco IOS PRI ";
}
unset($rrd_def, $total, $active, $fields, $tags);
}

View File

@ -30,16 +30,16 @@ if ($device['os_group'] == "cisco") {
->addDataset('total', 'GAUGE', 0)
->addDataset('active', 'GAUGE', 0);
$fields = array(
$fields = [
'total' => $total,
'active' => $active,
);
];
$tags = compact('rrd_def');
data_update($device, 'cisco-iosxcode', $tags, $fields);
$os->enableGraph('cisco-iosxcode');
echo (" Cisco IOS Transcoder ");
echo " Cisco IOS Transcoder ";
}
unset($rrd_def, $total, $active, $available, $fields, $tags);
}

View File

@ -24,19 +24,19 @@ if ($device['os_group'] == "cisco") {
->addDataset('sccp', 'GAUGE', 0)
->addDataset('multicast', 'GAUGE', 0);
$fields = array(
$fields = [
'h323' => $output['h323']['cvCallVolConnActiveConnection'],
'sip' => $output['sip']['cvCallVolConnActiveConnection'],
'mgcp' => $output['mgcp']['cvCallVolConnActiveConnection'],
'sccp' => $output['sccp']['cvCallVolConnActiveConnection'],
'multicast' => $output['multicast']['cvCallVolConnActiveConnection'],
);
];
d_echo($fields);
$tags = compact('rrd_def');
data_update($device, 'cisco-voice-ip', $tags, $fields);
$os->enableGraph('cisco-voice-ip');
echo(" Cisco IOS Voice IP ");
echo " Cisco IOS Voice IP ";
unset($rrd_def, $active, $fields, $tags);
}
}

View File

@ -12,20 +12,19 @@ use LibreNMS\RRD\RrdDefinition;
if ($device['os_group'] == 'cisco') {
$data = snmpwalk_cache_oid($device, 'cvpdnSystemEntry', null, 'CISCO-VPDN-MGMT-MIB');
foreach ((array)$data as $type => $vpdn) {
foreach ((array) $data as $type => $vpdn) {
if ($vpdn['cvpdnSystemTunnelTotal'] || $vpdn['cvpdnSystemSessionTotal']) {
$rrd_name = array('vpdn', $type);
$rrd_name = ['vpdn', $type];
$rrd_def = RrdDefinition::make()
->addDataset('tunnels', 'GAUGE', 0)
->addDataset('sessions', 'GAUGE', 0)
->addDataset('denied', 'COUNTER', 0, 100000);
$fields = array(
$fields = [
'tunnels' => $vpdn['cvpdnSystemTunnelTotal'],
'sessions' => $vpdn['cvpdnSystemSessionTotal'],
'denied' => $vpdn['cvpdnSystemDeniedUsersTotal'],
);
];
$tags = compact('type', 'rrd_name', 'rrd_def');
data_update($device, 'vpdn', $tags, $fields);

View File

@ -18,14 +18,14 @@ use LibreNMS\Util\Time;
$snmpdata = snmp_get_multi_oid($device, ['sysUpTime.0', 'sysContact.0', 'sysName.0', 'sysObjectID.0', 'sysDescr.0'], '-OQnUt', 'SNMPv2-MIB');
$poll_device['sysUptime'] = $snmpdata['.1.3.6.1.2.1.1.3.0'];
$poll_device['sysContact'] = str_replace("\n", '', $snmpdata['.1.3.6.1.2.1.1.4.0']);
$poll_device['sysName'] = str_replace("\n", '', strtolower($snmpdata['.1.3.6.1.2.1.1.5.0']));
$poll_device['sysUptime'] = $snmpdata['.1.3.6.1.2.1.1.3.0'];
$poll_device['sysContact'] = str_replace("\n", '', $snmpdata['.1.3.6.1.2.1.1.4.0']);
$poll_device['sysName'] = str_replace("\n", '', strtolower($snmpdata['.1.3.6.1.2.1.1.5.0']));
$poll_device['sysObjectID'] = $snmpdata['.1.3.6.1.2.1.1.2.0'];
$poll_device['sysDescr'] = str_replace(chr(218), "\n", $snmpdata['.1.3.6.1.2.1.1.1.0']);
$poll_device['sysDescr'] = str_replace(chr(218), "\n", $snmpdata['.1.3.6.1.2.1.1.1.0']);
if (!empty($agent_data['uptime'])) {
list($uptime) = explode(' ', $agent_data['uptime']);
if (! empty($agent_data['uptime'])) {
[$uptime] = explode(' ', $agent_data['uptime']);
$uptime = round($uptime);
echo "Using UNIX Agent Uptime ($uptime)\n";
} else {
@ -44,9 +44,9 @@ if ($uptime != 0 && Config::get("os.{$device['os']}.bad_uptime") !== true) {
log_event('Device rebooted after ' . Time::formatInterval($device['uptime']) . " -> {$uptime}s", $device, 'reboot', 4, $device['uptime']);
}
$tags = array(
$tags = [
'rrd_def' => RrdDefinition::make()->addDataset('uptime', 'GAUGE', 0),
);
];
data_update($device, 'uptime', $tags, $uptime);
$os->enableGraph('uptime');
@ -54,7 +54,7 @@ if ($uptime != 0 && Config::get("os.{$device['os']}.bad_uptime") !== true) {
echo 'Uptime: ' . Time::formatInterval($uptime) . PHP_EOL;
$update_array['uptime'] = $uptime;
$device['uptime'] = $uptime;
$device['uptime'] = $uptime;
}//end if
$poll_device['sysContact'] = str_replace('"', '', $poll_device['sysContact']);
@ -64,10 +64,10 @@ if ($poll_device['sysContact'] == 'not set') {
}
// Save results of various polled values to the database
foreach (array('sysContact', 'sysObjectID', 'sysName', 'sysDescr') as $elem) {
foreach (['sysContact', 'sysObjectID', 'sysName', 'sysDescr'] as $elem) {
if ($poll_device[$elem] != $device[$elem]) {
$update_array[$elem] = $poll_device[$elem];
$device[$elem] = $poll_device[$elem];
$device[$elem] = $poll_device[$elem];
log_event("$elem -> " . $poll_device[$elem], $device, 'system', 3);
}
}

View File

@ -2,18 +2,18 @@
use LibreNMS\RRD\RrdDefinition;
foreach (dbFetchRows("SELECT * FROM `customoids` WHERE `customoid_passed` = 1 AND `device_id` = ?", array($device['device_id'])) as $customoid) {
foreach (dbFetchRows("SELECT * FROM `customoids` WHERE `customoid_passed` = 1 AND `device_id` = ?", [$device['device_id']]) as $customoid) {
d_echo($customoid);
$prev_oid_value = $customoid['customoid_current'];
$rawdata = snmp_get($device, $customoid['customoid_oid'], '-Oqv');
$user_funcs = array(
$user_funcs = [
"celsius_to_fahrenheit",
"fahrenheit_to_celsius",
"uw_to_dbm"
);
"uw_to_dbm",
];
if (is_numeric($rawdata)) {
$os->enableGraph('customoid');
@ -34,14 +34,14 @@ foreach (dbFetchRows("SELECT * FROM `customoids` WHERE `customoid_passed` = 1 AN
$oid_value = $customoid['user_func']($oid_value);
}
echo 'Custom OID '.$customoid['customoid_descr'].': ';
echo $oid_value.' '.$customoid['customoid_unit']."\n";
echo 'Custom OID ' . $customoid['customoid_descr'] . ': ';
echo $oid_value . ' ' . $customoid['customoid_unit'] . "\n";
$fields = array(
$fields = [
'oid_value' => $oid_value,
);
];
$rrd_name = array('customoid', $customoid['customoid_descr']);
$rrd_name = ['customoid', $customoid['customoid_descr']];
if ($customoid['customoid_datatype'] == 'COUNTER') {
$datatype = $customoid['customoid_datatype'];
} else {
@ -53,7 +53,7 @@ foreach (dbFetchRows("SELECT * FROM `customoids` WHERE `customoid_passed` = 1 AN
$tags = compact('rrd_name', 'rrd_def');
data_update($device, 'customoid', $tags, $fields);
dbUpdate(array('customoid_current' => $oid_value, 'lastupdate' => array('NOW()'), 'customoid_prev' => $prev_oid_value), 'customoids', '`customoid_id` = ?', array($customoid['customoid_id']));
dbUpdate(['customoid_current' => $oid_value, 'lastupdate' => ['NOW()'], 'customoid_prev' => $prev_oid_value], 'customoids', '`customoid_id` = ?', [$customoid['customoid_id']]);
}//end foreach
unset($customoid, $prev_oid_value, $rawdata, $user_funcs, $oid_value, $error, $fields, $rrd_def, $rrd_name, $tags);

View File

@ -12,7 +12,7 @@
*/
$component = new LibreNMS\Component();
$components = $component->getComponents($device['device_id'], array('type'=>'Cisco-CIMC'));
$components = $component->getComponents($device['device_id'], ['type'=>'Cisco-CIMC']);
// We only care about our device id.
$components = $components[$device['device_id']];
@ -25,13 +25,13 @@ if (count($components > 0)) {
// Make sure we have an array of data before we try to iterate over it
if (is_array($tblUCSObjects)) {
// First, let's extract any active faults, we will use them later.
$faults = array();
$faults = [];
foreach ($tblUCSObjects as $oid => $data) {
if (strstr($oid, '1.3.6.1.4.1.9.9.719.1.1.1.1.5.')) {
$id = substr($oid, 30);
$fobj = $tblUCSObjects['1.3.6.1.4.1.9.9.719.1.1.1.1.5.'.$id];
$fobj = $tblUCSObjects['1.3.6.1.4.1.9.9.719.1.1.1.1.5.' . $id];
$fobj = preg_replace('/^sys/', '/sys', $fobj);
$faults[$fobj] = $tblUCSObjects['1.3.6.1.4.1.9.9.719.1.1.1.1.11.'.$id];
$faults[$fobj] = $tblUCSObjects['1.3.6.1.4.1.9.9.719.1.1.1.1.11.' . $id];
}
}
@ -46,7 +46,7 @@ if (count($components > 0)) {
if ($tblUCSObjects[$array['statusoid']] != 1) {
// Yes, report an error
$array['status'] = 2;
$array['error'] = "Error Operability Code: ".$tblUCSObjects[$array['statusoid']]."\n";
$array['error'] = "Error Operability Code: " . $tblUCSObjects[$array['statusoid']] . "\n";
} else {
// No, unset any errors that may exist.
$array['status'] = 0;
@ -61,16 +61,16 @@ if (count($components > 0)) {
if (strstr($key, $array['label'])) {
// The fault is on this chassis.
$array['status'] = 2;
$array['error'] .= $value."\n";
$array['error'] .= $value . "\n";
}
}
}
// Print some debugging
if ($array['status'] == 0) {
d_echo($array['label']." - Ok\n");
d_echo($array['label'] . " - Ok\n");
} else {
d_echo($array['label']." - ".$array['error']."\n");
d_echo($array['label'] . " - " . $array['error'] . "\n");
}
} // End foreach components
// Write the Components back to the DB.

View File

@ -4,7 +4,7 @@ use LibreNMS\RRD\RrdDefinition;
echo "Cisco Cat6xxx/76xx Crossbar : \n";
$mod_stats = snmpwalk_cache_oid($device, 'cc6kxbarModuleModeTable', array(), 'CISCO-CAT6K-CROSSBAR-MIB');
$mod_stats = snmpwalk_cache_oid($device, 'cc6kxbarModuleModeTable', [], 'CISCO-CAT6K-CROSSBAR-MIB');
foreach ($mod_stats as $index => $entry) {
$group = 'c6kxbar';
@ -14,19 +14,19 @@ foreach ($mod_stats as $index => $entry) {
}
}
$chan_stats = snmpwalk_cache_oid($device, 'cc6kxbarModuleChannelTable', array(), 'CISCO-CAT6K-CROSSBAR-MIB');
if (!empty($chan_stats)) {
$chan_stats = snmpwalk_cache_oid($device, 'cc6kxbarModuleChannelTable', [], 'CISCO-CAT6K-CROSSBAR-MIB');
if (! empty($chan_stats)) {
$chan_stats = snmpwalk_cache_oid($device, 'cc6kxbarStatisticsTable', $chan_stats, 'CISCO-CAT6K-CROSSBAR-MIB');
}
foreach ($chan_stats as $index => $entry) {
list($index,$subindex) = explode('.', $index, 2);
$group = 'c6kxbar';
[$index,$subindex] = explode('.', $index, 2);
$group = 'c6kxbar';
foreach ($entry as $key => $value) {
$entPhysical_state[$index][$subindex][$group][$key] = $value;
}
$rrd_name = array('c6kxbar', $index, $subindex);
$rrd_name = ['c6kxbar', $index, $subindex];
$rrd_def = RrdDefinition::make()
->addDataset('inutil', 'GAUGE', 0, 100)
->addDataset('oututil', 'GAUGE', 0, 100)
@ -34,13 +34,13 @@ foreach ($chan_stats as $index => $entry) {
->addDataset('outerrors', 'DERIVE', 0, 125000000000)
->addDataset('inerrors', 'DERIVE', 0, 125000000000);
$fields = array(
$fields = [
'inutil' => $entry['cc6kxbarStatisticsInUtil'],
'oututil' => $entry['cc6kxbarStatisticsOutUtil'],
'outdropped' => $entry['cc6kxbarStatisticsOutDropped'],
'outerrors' => $entry['cc6kxbarStatisticsOutErrors'],
'inerrors' => $entry['cc6kxbarStatisticsInErrors'],
);
];
$tags = compact('index', 'subindex', 'rrd_name', 'rrd_def');
data_update($device, 'c6kxbar', $tags, $fields);

View File

@ -1,33 +1,33 @@
<?php
// Set Entity state
foreach (dbFetch('SELECT * FROM `entPhysical_state` WHERE `device_id` = ?', array($device['device_id'])) as $entity) {
if (!isset($entPhysical_state[$entity['entPhysicalIndex']][$entity['subindex']][$entity['group']][$entity['key']])) {
foreach (dbFetch('SELECT * FROM `entPhysical_state` WHERE `device_id` = ?', [$device['device_id']]) as $entity) {
if (! isset($entPhysical_state[$entity['entPhysicalIndex']][$entity['subindex']][$entity['group']][$entity['key']])) {
dbDelete(
'entPhysical_state',
'`device_id` = ? AND `entPhysicalIndex` = ? AND `subindex` = ? AND `group` = ? AND `key` = ?',
array(
[
$device['device_id'],
$entity['entPhysicalIndex'],
$entity['subindex'],
$entity['group'],
$entity['key']
)
$entity['key'],
]
);
} else {
if ($entPhysical_state[$entity['entPhysicalIndex']][$entity['subindex']][$entity['group']][$entity['key']] != $entity['value']) {
echo 'no match!' . ' ' . $entity['entPhysicalIndex'] . ' ' . $entity['subindex'] . ' ' . $entity['key'] . ': ' . $entPhysical_state[$entity['entPhysicalIndex']][$entity['subindex']][$entity['group']][$entity['key']] . ' ' . $entity['value'] . "\n";
dbUpdate(
array('value' => $entPhysical_state[$entity['entPhysicalIndex']][$entity['subindex']][$entity['group']][$entity['key']]),
['value' => $entPhysical_state[$entity['entPhysicalIndex']][$entity['subindex']][$entity['group']][$entity['key']]],
'entPhysical_state',
'`device_id` = ? AND `entPhysicalIndex` = ? AND `subindex` = ? AND `group` = ? AND `key` = ?',
array(
$device['device_id'],
$entity['entPhysicalIndex'],
$entity['subindex'],
$entity['group'],
$entity['key']
)
[
$device['device_id'],
$entity['entPhysicalIndex'],
$entity['subindex'],
$entity['group'],
$entity['key'],
]
);
}
@ -37,11 +37,11 @@ foreach (dbFetch('SELECT * FROM `entPhysical_state` WHERE `device_id` = ?', arra
// End Set Entity Attrivs
// Delete Entity state
foreach ((array)$entPhysical_state as $epi => $entity) {
foreach ((array) $entPhysical_state as $epi => $entity) {
foreach ($entity as $subindex => $si) {
foreach ($si as $group => $ti) {
foreach ($ti as $key => $value) {
dbInsert(array('device_id' => $device['device_id'], 'entPhysicalIndex' => $epi, 'subindex' => $subindex, 'group' => $group, 'key' => $key, 'value' => $value), 'entPhysical_state');
dbInsert(['device_id' => $device['device_id'], 'entPhysicalIndex' => $epi, 'subindex' => $subindex, 'group' => $group, 'key' => $key, 'value' => $value], 'entPhysical_state');
}
}
}

View File

@ -22,14 +22,13 @@
* @copyright 2017 Tony Murray
* @author Tony Murray <murraytony@gmail.com>
*/
$entityStatesIndexes = dbFetchRows(
'SELECT S.entity_state_id, S.entStateLastChanged, P.entPhysicalIndex FROM entityState AS S ' .
'LEFT JOIN entPhysical AS P USING (entPhysical_id) WHERE S.device_id=?',
array($device['device_id'])
[$device['device_id']]
);
if (!empty($entityStatesIndexes)) {
if (! empty($entityStatesIndexes)) {
echo "\nEntity States: ";
// index by entPhysicalIndex
@ -40,20 +39,20 @@ if (!empty($entityStatesIndexes)) {
foreach (current($entLC) as $index => $changed) {
if ($changed) { // skip empty entries
try {
list($date, $time, $tz) = explode(',', $changed);
[$date, $time, $tz] = explode(',', $changed);
$lastChanged = new DateTime("$date $time", new DateTimeZone($tz));
$dbLastChanged = new DateTime($entityStatesIndexes[$index]['entStateLastChanged']);
if ($lastChanged != $dbLastChanged) {
// data has changed, fetch it
$new_states = snmp_get_multi(
$device,
array(
[
"entStateAdmin.$index",
"entStateOper.$index",
"entStateUsage.$index",
"entStateAlarm.$index",
"entStateStandby.$index"
),
"entStateStandby.$index",
],
'-OQUse',
'ENTITY-STATE-MIB'
);
@ -69,16 +68,16 @@ if (!empty($entityStatesIndexes)) {
$new_states,
dbFetchRow(
'SELECT * FROM entityState WHERE entity_state_id=?',
array($entityStatesIndexes[$index]['entity_state_id'])
[$entityStatesIndexes[$index]['entity_state_id']]
)
);
if (!empty($update)) {
if (! empty($update)) {
dbUpdate(
$update,
'entityState',
'entity_state_id=?',
array($entityStatesIndexes[$index]['entity_state_id'])
[$entityStatesIndexes[$index]['entity_state_id']]
);
d_echo("Updating $index: ", 'U');
d_echo($new_states[$index]);

View File

@ -16,7 +16,7 @@ function bulk_sensor_snmpget($device, $sensors)
{
$oid_per_pdu = get_device_oid_limit($device);
$sensors = array_chunk($sensors, $oid_per_pdu);
$cache = array();
$cache = [];
foreach ($sensors as $chunk) {
$oids = array_map(function ($data) {
return $data['sensor_oid'];
@ -25,6 +25,7 @@ function bulk_sensor_snmpget($device, $sensors)
$multi_response = snmp_get_multi_oid($device, $oids, '-OUQnte');
$cache = array_merge($cache, $multi_response);
}
return $cache;
}
@ -35,10 +36,11 @@ function bulk_sensor_snmpget($device, $sensors)
*/
function sensor_precache($device, $type)
{
$sensor_cache = array();
if (file_exists('includes/polling/sensors/pre-cache/'. $device['os'] .'.inc.php')) {
include 'includes/polling/sensors/pre-cache/'. $device['os'] .'.inc.php';
$sensor_cache = [];
if (file_exists('includes/polling/sensors/pre-cache/' . $device['os'] . '.inc.php')) {
include 'includes/polling/sensors/pre-cache/' . $device['os'] . '.inc.php';
}
return $sensor_cache;
}
@ -46,11 +48,11 @@ function poll_sensor($device, $class)
{
global $agent_sensors;
$sensors = array();
$misc_sensors = array();
$all_sensors = array();
$sensors = [];
$misc_sensors = [];
$all_sensors = [];
foreach (dbFetchRows("SELECT * FROM `sensors` WHERE `sensor_class` = ? AND `device_id` = ?", array($class, $device['device_id'])) as $sensor) {
foreach (dbFetchRows("SELECT * FROM `sensors` WHERE `sensor_class` = ? AND `device_id` = ?", [$class, $device['device_id']]) as $sensor) {
if ($sensor['poller_type'] == 'agent') {
// Agent sensors are polled in the unix-agent
} elseif ($sensor['poller_type'] == 'ipmi') {
@ -65,33 +67,33 @@ function poll_sensor($device, $class)
$sensor_cache = sensor_precache($device, $class);
foreach ($sensors as $sensor) {
echo 'Checking (' . $sensor['poller_type'] . ") $class " . $sensor['sensor_descr'] . '... '.PHP_EOL;
echo 'Checking (' . $sensor['poller_type'] . ") $class " . $sensor['sensor_descr'] . '... ' . PHP_EOL;
if ($sensor['poller_type'] == 'snmp') {
$mibdir = null;
$sensor_value = trim(str_replace('"', '', $snmp_data[$sensor['sensor_oid']]));
if (file_exists('includes/polling/sensors/'. $class .'/'. $device['os'] .'.inc.php')) {
require 'includes/polling/sensors/'. $class .'/'. $device['os'] .'.inc.php';
} elseif (file_exists('includes/polling/sensors/'. $class .'/'. $device['os_group'] .'.inc.php')) {
require 'includes/polling/sensors/'. $class .'/'. $device['os_group'] .'.inc.php';
if (file_exists('includes/polling/sensors/' . $class . '/' . $device['os'] . '.inc.php')) {
require 'includes/polling/sensors/' . $class . '/' . $device['os'] . '.inc.php';
} elseif (file_exists('includes/polling/sensors/' . $class . '/' . $device['os_group'] . '.inc.php')) {
require 'includes/polling/sensors/' . $class . '/' . $device['os_group'] . '.inc.php';
}
if ($class == 'temperature') {
preg_match('/[\d\.\-]+/', $sensor_value, $temp_response);
if (!empty($temp_response[0])) {
if (! empty($temp_response[0])) {
$sensor_value = $temp_response[0];
}
} elseif ($class == 'state') {
if (!is_numeric($sensor_value)) {
if (! is_numeric($sensor_value)) {
$state_value = dbFetchCell(
'SELECT `state_value`
FROM `state_translations` LEFT JOIN `sensors_to_state_indexes`
ON `state_translations`.`state_index_id` = `sensors_to_state_indexes`.`state_index_id`
WHERE `sensors_to_state_indexes`.`sensor_id` = ?
AND `state_translations`.`state_descr` LIKE ?',
array($sensor['sensor_id'], $sensor_value)
[$sensor['sensor_id'], $sensor_value]
);
d_echo('State value of ' . $sensor_value . ' is ' . $state_value . "\n");
if (is_numeric($state_value)) {
@ -134,7 +136,7 @@ function poll_sensor($device, $class)
*/
function record_sensor_data($device, $all_sensors)
{
$supported_sensors = array(
$supported_sensors = [
'current' => 'A',
'frequency' => 'Hz',
'runtime' => 'Min',
@ -152,12 +154,12 @@ function record_sensor_data($device, $all_sensors)
'snr' => 'SNR',
'pressure' => 'kPa',
'cooling' => 'W',
);
];
foreach ($all_sensors as $sensor) {
$class = ucfirst($sensor['sensor_class']);
$unit = $supported_sensors[$class];
$sensor_value = $sensor['new_value'];
$class = ucfirst($sensor['sensor_class']);
$unit = $supported_sensors[$class];
$sensor_value = $sensor['new_value'];
$prev_sensor_value = $sensor['sensor_current'];
if ($sensor_value == -32768 || is_nan($sensor_value)) {
@ -183,26 +185,26 @@ function record_sensor_data($device, $all_sensors)
echo "$sensor_value $unit\n";
$fields = array(
$fields = [
'sensor' => $sensor_value,
);
];
$tags = array(
$tags = [
'sensor_class' => $sensor['sensor_class'],
'sensor_type' => $sensor['sensor_type'],
'sensor_descr' => $sensor['sensor_descr'],
'sensor_index' => $sensor['sensor_index'],
'rrd_name' => $rrd_name,
'rrd_def' => $rrd_def
);
'rrd_def' => $rrd_def,
];
data_update($device, 'sensor', $tags, $fields);
// FIXME also warn when crossing WARN level!
if ($sensor['sensor_limit_low'] != '' && $prev_sensor_value > $sensor['sensor_limit_low'] && $sensor_value < $sensor['sensor_limit_low'] && $sensor['sensor_alert'] == 1) {
echo 'Alerting for '.$device['hostname'].' '.$sensor['sensor_descr']."\n";
echo 'Alerting for ' . $device['hostname'] . ' ' . $sensor['sensor_descr'] . "\n";
log_event("$class under threshold: $sensor_value $unit (< {$sensor['sensor_limit_low']} $unit)", $device, $sensor['sensor_class'], 4, $sensor['sensor_id']);
} elseif ($sensor['sensor_limit'] != '' && $prev_sensor_value < $sensor['sensor_limit'] && $sensor_value > $sensor['sensor_limit'] && $sensor['sensor_alert'] == 1) {
echo 'Alerting for '.$device['hostname'].' '.$sensor['sensor_descr']."\n";
echo 'Alerting for ' . $device['hostname'] . ' ' . $sensor['sensor_descr'] . "\n";
log_event("$class above threshold: $sensor_value $unit (> {$sensor['sensor_limit']} $unit)", $device, $sensor['sensor_class'], 4, $sensor['sensor_id']);
}
if ($sensor['sensor_class'] == 'state' && $prev_sensor_value != $sensor_value) {
@ -218,7 +220,7 @@ function record_sensor_data($device, $all_sensors)
log_event("$class sensor {$sensor['sensor_descr']} has changed from {$trans[$prev_sensor_value]} ($prev_sensor_value) to {$trans[$sensor_value]} ($sensor_value)", $device, $class, 3, $sensor['sensor_id']);
}
if ($sensor_value != $prev_sensor_value) {
dbUpdate(array('sensor_current' => $sensor_value, 'sensor_prev' => $prev_sensor_value, 'lastupdate' => array('NOW()')), 'sensors', "`sensor_class` = ? AND `sensor_id` = ?", array($class, $sensor['sensor_id']));
dbUpdate(['sensor_current' => $sensor_value, 'sensor_prev' => $prev_sensor_value, 'lastupdate' => ['NOW()']], 'sensors', "`sensor_class` = ? AND `sensor_id` = ?", [$class, $sensor['sensor_id']]);
}
}
}
@ -254,35 +256,35 @@ function poll_device($device, $force_module = false)
}
$db_ip = null;
if (!empty($ip)) {
if (! empty($ip)) {
if (empty($device['overwrite_ip'])) {
echo 'Resolved IP: '.$ip.PHP_EOL;
echo 'Resolved IP: ' . $ip . PHP_EOL;
} else {
echo 'Assigned IP: '.$ip.PHP_EOL;
echo 'Assigned IP: ' . $ip . PHP_EOL;
}
$db_ip = inet_pton($ip);
}
if (!empty($db_ip) && inet6_ntop($db_ip) != inet6_ntop($device['ip'])) {
if (! empty($db_ip) && inet6_ntop($db_ip) != inet6_ntop($device['ip'])) {
log_event('Device IP changed to ' . $ip, $device, 'system', 3);
dbUpdate(array('ip' => $db_ip), 'devices', 'device_id=?', array($device['device_id']));
dbUpdate(['ip' => $db_ip], 'devices', 'device_id=?', [$device['device_id']]);
}
if ($os_group = Config::get("os.{$device['os']}.group")) {
$device['os_group'] = $os_group;
echo ' ('.$device['os_group'].')';
echo ' (' . $device['os_group'] . ')';
}
echo PHP_EOL.PHP_EOL;
echo PHP_EOL . PHP_EOL;
unset($poll_update);
unset($poll_update_query);
unset($poll_separator);
$poll_update_array = array();
$update_array = array();
$poll_update_array = [];
$update_array = [];
$host_rrd = rrd_name($device['hostname'], '', '');
if (Config::get('norrd') !== true && !is_dir($host_rrd)) {
if (Config::get('norrd') !== true && ! is_dir($host_rrd)) {
mkdir($host_rrd);
echo "Created directory : $host_rrd\n";
}
@ -304,9 +306,9 @@ function poll_device($device, $force_module = false)
d_echo("OS" . (isset($os_module_status) ? ($os_module_status ? '+ ' : '- ') : ' '));
d_echo("Device" . (isset($attribs['poll_' . $module]) ? ($attribs['poll_' . $module] ? '+ ' : '- ') : ' '));
if ($force_module === true ||
$attribs['poll_'.$module] ||
($os_module_status && !isset($attribs['poll_'.$module])) ||
($module_status && !isset($os_module_status) && !isset($attribs['poll_' . $module]))) {
$attribs['poll_' . $module] ||
($os_module_status && ! isset($attribs['poll_' . $module])) ||
($module_status && ! isset($os_module_status) && ! isset($attribs['poll_' . $module]))) {
$start_memory = memory_get_usage();
$module_start = microtime(true);
echo "\n#### Load poller module $module ####\n";
@ -315,36 +317,36 @@ function poll_device($device, $force_module = false)
include "includes/polling/$module.inc.php";
} catch (Exception $e) {
// isolate module exceptions so they don't disrupt the polling process
echo $e->getTraceAsString() .PHP_EOL;
echo $e->getTraceAsString() . PHP_EOL;
c_echo("%rError in $module module.%n " . $e->getMessage() . PHP_EOL);
logfile("Error in $module module. " . $e->getMessage() . PHP_EOL . $e->getTraceAsString() . PHP_EOL);
}
$module_time = microtime(true) - $module_start;
$module_mem = (memory_get_usage() - $start_memory);
$module_mem = (memory_get_usage() - $start_memory);
printf("\n>> Runtime for poller module '%s': %.4f seconds with %s bytes\n", $module, $module_time, $module_mem);
printChangedStats();
echo "#### Unload poller module $module ####\n\n";
// save per-module poller stats
$tags = array(
$tags = [
'module' => $module,
'rrd_def' => RrdDefinition::make()->addDataset('poller', 'GAUGE', 0),
'rrd_name' => array('poller-perf', $module),
);
$fields = array(
'rrd_name' => ['poller-perf', $module],
];
$fields = [
'poller' => $module_time,
);
];
data_update($device, 'poller-perf', $tags, $fields);
$os->enableGraph('poller_perf');
// remove old rrd
$oldrrd = rrd_name($device['hostname'], array('poller', $module, 'perf'));
$oldrrd = rrd_name($device['hostname'], ['poller', $module, 'perf']);
if (is_file($oldrrd)) {
unlink($oldrrd);
}
unset($tags, $fields, $oldrrd);
} elseif (isset($attribs['poll_'.$module]) && $attribs['poll_'.$module] == '0') {
} elseif (isset($attribs['poll_' . $module]) && $attribs['poll_' . $module] == '0') {
echo "Module [ $module ] disabled on host.\n\n";
} elseif (isset($os_module_status) && $os_module_status == '0') {
echo "Module [ $module ] disabled on os.\n\n";
@ -354,40 +356,40 @@ function poll_device($device, $force_module = false)
}
// Ping response
if (can_ping_device($attribs) === true && !empty($response['ping_time'])) {
$tags = array(
if (can_ping_device($attribs) === true && ! empty($response['ping_time'])) {
$tags = [
'rrd_def' => RrdDefinition::make()->addDataset('ping', 'GAUGE', 0, 65535),
);
$fields = array(
];
$fields = [
'ping' => $response['ping_time'],
);
];
$update_array['last_ping'] = array('NOW()');
$update_array['last_ping_timetaken'] = $response['ping_time'];
$update_array['last_ping'] = ['NOW()'];
$update_array['last_ping_timetaken'] = $response['ping_time'];
data_update($device, 'ping-perf', $tags, $fields);
$os->enableGraph('ping_perf');
}
$device_time = round(microtime(true) - $device_start, 3);
$device_time = round(microtime(true) - $device_start, 3);
// Poller performance
if (!empty($device_time)) {
$tags = array(
if (! empty($device_time)) {
$tags = [
'rrd_def' => RrdDefinition::make()->addDataset('poller', 'GAUGE', 0),
'module' => 'ALL',
);
$fields = array(
];
$fields = [
'poller' => $device_time,
);
];
data_update($device, 'poller-perf', $tags, $fields);
$os->enableGraph('poller_modules_perf');
}
if (!$force_module) {
if (! $force_module) {
// don't update last_polled time if we are forcing a specific module to be polled
$update_array['last_polled'] = array('NOW()');
$update_array['last_polled'] = ['NOW()'];
$update_array['last_polled_timetaken'] = $device_time;
echo "Enabling graphs: ";
@ -402,7 +404,7 @@ function poll_device($device, $force_module = false)
echo PHP_EOL;
}
$updated = dbUpdate($update_array, 'devices', '`device_id` = ?', array($device['device_id']));
$updated = dbUpdate($update_array, 'devices', '`device_id` = ?', [$device['device_id']]);
if ($updated) {
d_echo('Updating ' . $device['hostname'] . PHP_EOL);
}
@ -439,28 +441,29 @@ function poll_device($device, $force_module = false)
* @param array $metrics an array of additional metrics to store in the database for alerting
* @param string $status This is the current value for alerting
*/
function update_application($app, $response, $metrics = array(), $status = '')
function update_application($app, $response, $metrics = [], $status = '')
{
if (!is_numeric($app['app_id'])) {
if (! is_numeric($app['app_id'])) {
d_echo('$app does not contain app_id, could not update');
return;
}
$data = array(
$data = [
'app_state' => 'UNKNOWN',
'app_status' => $status,
'timestamp' => array('NOW()'),
);
'timestamp' => ['NOW()'],
];
if ($response != '' && $response !== false) {
if (Str::contains($response, array(
if (Str::contains($response, [
'Traceback (most recent call last):',
))) {
])) {
$data['app_state'] = 'ERROR';
} elseif (in_array($response, ['OK', 'ERROR', 'LEGACY', 'UNSUPPORTED'])) {
$data['app_state'] = $response;
} else {
# should maybe be 'unknown' as state
// should maybe be 'unknown' as state
$data['app_state'] = 'OK';
}
}
@ -468,7 +471,7 @@ function update_application($app, $response, $metrics = array(), $status = '')
if ($data['app_state'] != $app['app_state']) {
$data['app_state_prev'] = $app['app_state'];
$device = dbFetchRow('SELECT * FROM devices LEFT JOIN applications ON devices.device_id=applications.device_id WHERE applications.app_id=?', array($app['app_id']));
$device = dbFetchRow('SELECT * FROM devices LEFT JOIN applications ON devices.device_id=applications.device_id WHERE applications.app_id=?', [$app['app_id']]);
$app_name = \LibreNMS\Util\StringHelpers::nicecase($app['app_type']);
@ -494,13 +497,13 @@ function update_application($app, $response, $metrics = array(), $status = '')
$event_msg = "has UNKNOWN state";
break;
}
log_event("Application ".$app_name." ".$event_msg, $device, 'application', $severity);
log_event("Application " . $app_name . " " . $event_msg, $device, 'application', $severity);
}
dbUpdate($data, 'applications', '`app_id` = ?', array($app['app_id']));
dbUpdate($data, 'applications', '`app_id` = ?', [$app['app_id']]);
// update metrics
if (!empty($metrics)) {
$db_metrics = dbFetchRows('SELECT * FROM `application_metrics` WHERE app_id=?', array($app['app_id']));
if (! empty($metrics)) {
$db_metrics = dbFetchRows('SELECT * FROM `application_metrics` WHERE app_id=?', [$app['app_id']]);
$db_metrics = array_by_column($db_metrics, 'metric');
// allow two level metrics arrays, flatten them and prepend the group name
@ -517,34 +520,35 @@ function update_application($app, $response, $metrics = array(), $status = '')
foreach ($metrics[$metric_group] as $metric_name => $value) {
$carry[$prefix . $metric_name] = $value;
}
return $carry;
},
array()
[]
);
}
echo ': ';
foreach ($metrics as $metric_name => $value) {
if (!isset($db_metrics[$metric_name])) {
if (! isset($db_metrics[$metric_name])) {
// insert new metric
dbInsert(
array(
[
'app_id' => $app['app_id'],
'metric' => $metric_name,
'value' => $value,
),
],
'application_metrics'
);
echo '+';
} elseif ($value != $db_metrics[$metric_name]['value']) {
dbUpdate(
array(
[
'value' => $value,
'value_prev' => $db_metrics[$metric_name]['value'],
),
],
'application_metrics',
'app_id=? && metric=?',
array($app['app_id'], $metric_name)
[$app['app_id'], $metric_name]
);
echo 'U';
} else {
@ -559,7 +563,7 @@ function update_application($app, $response, $metrics = array(), $status = '')
dbDelete(
'application_metrics',
'app_id=? && metric=?',
array($app['app_id'], $db_metric['metric'])
[$app['app_id'], $db_metric['metric']]
);
echo '-';
}
@ -571,10 +575,10 @@ function update_application($app, $response, $metrics = array(), $status = '')
function convert_to_celsius($value)
{
$value = ($value - 32) / 1.8;
return sprintf('%.02f', $value);
}
/**
* This is to make it easier polling apps. Also to help standardize around JSON.
*
@ -613,7 +617,7 @@ function convert_to_celsius($value)
*
* @param array $device
* @param string $extend the extend name. For example, if 'zfs' is passed it will be converted to 'nsExtendOutputFull.3.122.102.115'.
* @param integer $min_version the minimum version to accept for the returned JSON. default: 1
* @param int $min_version the minimum version to accept for the returned JSON. default: 1
*
* @return array The json output data parsed into an array
* @throws JsonAppBlankJsonException
@ -625,7 +629,7 @@ function convert_to_celsius($value)
*/
function json_app_get($device, $extend, $min_version = 1)
{
$output = snmp_get($device, 'nsExtendOutputFull.'.string_to_oid($extend), '-Oqv', 'NET-SNMP-EXTEND-MIB');
$output = snmp_get($device, 'nsExtendOutputFull.' . string_to_oid($extend), '-Oqv', 'NET-SNMP-EXTEND-MIB');
// make sure we actually get something back
if (empty($output)) {
@ -646,12 +650,12 @@ function json_app_get($device, $extend, $min_version = 1)
}
// It is a legacy JSON app extend, meaning these are not set
if (!isset($parsed_json['error'], $parsed_json['data'], $parsed_json['errorString'], $parsed_json['version'])) {
if (! isset($parsed_json['error'], $parsed_json['data'], $parsed_json['errorString'], $parsed_json['version'])) {
throw new JsonAppMissingKeysException("Legacy script or extend error, missing one or more required keys.", $output, $parsed_json, -5);
}
if ($parsed_json['version'] < $min_version) {
throw new JsonAppWrongVersionException("Script,'".$parsed_json['version']."', older than required version of '$min_version'", $output, $parsed_json, -6);
throw new JsonAppWrongVersionException("Script,'" . $parsed_json['version'] . "', older than required version of '$min_version'", $output, $parsed_json, -6);
}
if ($parsed_json['error'] != 0) {
@ -678,16 +682,16 @@ function json_app_get($device, $extend, $min_version = 1)
*/
function data_flatten($array, $prefix = '', $joiner = '_')
{
$return = array();
$return = [];
foreach ($array as $key => $value) {
if (is_array($value)) {
if (strcmp($prefix, '')) {
$key=$prefix.$joiner.$key;
$key = $prefix . $joiner . $key;
}
$return = array_merge($return, data_flatten($value, $key, $joiner));
} else {
if (strcmp($prefix, '')) {
$key=$prefix.$joiner.$key;
$key = $prefix . $joiner . $key;
}
$return[$key] = $value;
}

View File

@ -8,12 +8,12 @@ $oid_list = ['hrSystemProcesses.0', 'hrSystemNumUsers.0'];
$hrSystem = snmp_get_multi($device, $oid_list, '-OUQs', 'HOST-RESOURCES-MIB');
if (is_numeric($hrSystem[0]['hrSystemProcesses'])) {
$tags = array(
$tags = [
'rrd_def' => RrdDefinition::make()->addDataset('procs', 'GAUGE', 0),
);
$fields = array(
];
$fields = [
'procs' => $hrSystem[0]['hrSystemProcesses'],
);
];
data_update($device, 'hr_processes', $tags, $fields);
@ -22,12 +22,12 @@ if (is_numeric($hrSystem[0]['hrSystemProcesses'])) {
}
if (is_numeric($hrSystem[0]['hrSystemNumUsers'])) {
$tags = array(
'rrd_def' => RrdDefinition::make()->addDataset('users', 'GAUGE', 0)
);
$fields = array(
$tags = [
'rrd_def' => RrdDefinition::make()->addDataset('users', 'GAUGE', 0),
];
$fields = [
'users' => $hrSystem[0]['hrSystemNumUsers'],
);
];
data_update($device, 'hr_users', $tags, $fields);

View File

@ -52,7 +52,7 @@ use LibreNMS\RRD\RrdDefinition;
$data = snmpwalk_cache_oid($device, 'ipSystemStats', null, 'IP-MIB');
if ($data) {
$oids = array(
$oids = [
'ipSystemStatsInReceives',
'ipSystemStatsInHdrErrors',
'ipSystemStatsInAddrErrors',
@ -69,7 +69,7 @@ if ($data) {
'ipSystemStatsOutFragFails',
'ipSystemStatsOutFragCreates',
'ipSystemStatsOutForwDatagrams',
);
];
foreach ($data as $af => $stats) {
echo "$af ";
@ -95,12 +95,12 @@ if ($data) {
$stats['ipSystemStatsOutForwDatagrams'] = $stats['ipSystemStatsHCOutForwDatagrams'];
}
$rrd_name = array('ipSystemStats', $af);
$rrd_name = ['ipSystemStats', $af];
$rrd_def = new RrdDefinition();
$fields = array();
$fields = [];
foreach ($oids as $oid) {
$oid_ds = str_replace('ipSystemStats', '', $oid);
$oid_ds = str_replace('ipSystemStats', '', $oid);
$rrd_def->addDataset($oid_ds, 'COUNTER');
if (strstr($stats[$oid], 'No') || strstr($stats[$oid], 'd') || strstr($stats[$oid], 's')) {
$stats[$oid] = '0';

View File

@ -3,7 +3,7 @@
use LibreNMS\Config;
use LibreNMS\RRD\RrdDefinition;
$ipmi_rows = dbFetchRows("SELECT * FROM sensors WHERE device_id = ? AND poller_type='ipmi'", array($device['device_id']));
$ipmi_rows = dbFetchRows("SELECT * FROM sensors WHERE device_id = ? AND poller_type='ipmi'", [$device['device_id']]);
if (is_array($ipmi_rows)) {
d_echo($ipmi_rows);
@ -32,7 +32,7 @@ if (is_array($ipmi_rows)) {
}
foreach (explode("\n", $results) as $row) {
list($desc, $value, $type, $status) = explode(',', $row);
[$desc, $value, $type, $status] = explode(',', $row);
$desc = trim($desc, ' ');
$ipmi_unit_type = Config::get("ipmi_unit.$type");
$ipmi_sensor[$desc][$ipmi_unit_type]['value'] = $value;
@ -50,27 +50,27 @@ if (is_array($ipmi_rows)) {
$rrd_name = get_sensor_rrd_name($device, $ipmisensors);
$rrd_def = RrdDefinition::make()->addDataset('sensor', 'GAUGE', -20000, 20000);
$fields = array(
$fields = [
'sensor' => $sensor_value,
);
];
$tags = array(
$tags = [
'sensor_class' => $ipmisensors['sensor_class'],
'sensor_type' => $ipmisensors['sensor_type'],
'sensor_descr' => $ipmisensors['sensor_descr'],
'sensor_index' => $ipmisensors['sensor_index'],
'rrd_name' => $rrd_name,
'rrd_def' => $rrd_def
);
'rrd_def' => $rrd_def,
];
data_update($device, 'ipmi', $tags, $fields);
// FIXME warnings in event & mail not done here yet!
dbUpdate(
array('sensor_current' => $sensor_value,
'lastupdate' => array('NOW()')),
['sensor_current' => $sensor_value,
'lastupdate' => ['NOW()'], ],
'sensors',
'poller_type = ? AND sensor_class = ? AND sensor_id = ?',
array('ipmi', $ipmisensors['sensor_class'], $ipmisensors['sensor_id'])
['ipmi', $ipmisensors['sensor_class'], $ipmisensors['sensor_id']]
);
}

View File

@ -2,10 +2,10 @@
use LibreNMS\RRD\RrdDefinition;
$vp_rows = dbFetchRows('SELECT * FROM `ports` AS P, `juniAtmVp` AS J WHERE P.`device_id` = ? AND J.port_id = P.port_id', array($device['device_id']));
$vp_rows = dbFetchRows('SELECT * FROM `ports` AS P, `juniAtmVp` AS J WHERE P.`device_id` = ? AND J.port_id = P.port_id', [$device['device_id']]);
if (count($vp_rows)) {
$vp_cache = array();
$vp_cache = [];
$vp_cache = snmpwalk_cache_multi_oid($device, 'juniAtmVpStatsInCells', $vp_cache, 'Juniper-UNI-ATM-MIB', 'junose');
$vp_cache = snmpwalk_cache_multi_oid($device, 'juniAtmVpStatsInPackets', $vp_cache, 'Juniper-UNI-ATM-MIB', 'junose');
$vp_cache = snmpwalk_cache_multi_oid($device, 'juniAtmVpStatsInPacketOctets', $vp_cache, 'Juniper-UNI-ATM-MIB', 'junose');
@ -30,20 +30,20 @@ if (count($vp_rows)) {
$ifIndex = $vp['ifIndex'];
$vp_id = $vp['vp_id'];
$oid = $ifIndex .'.'. $vp_id;
$oid = $ifIndex . '.' . $vp_id;
d_echo("$oid ");
$t_vp = $vp_cache[$oid];
$vp_update = $t_vp['juniAtmVpStatsInCells'].':'.$t_vp['juniAtmVpStatsOutCells'];
$vp_update .= ':'.$t_vp['juniAtmVpStatsInPackets'].':'.$t_vp['juniAtmVpStatsOutPackets'];
$vp_update .= ':'.$t_vp['juniAtmVpStatsInPacketOctets'].':'.$t_vp['juniAtmVpStatsOutPacketOctets'];
$vp_update .= ':'.$t_vp['juniAtmVpStatsInPacketErrors'].':'.$t_vp['juniAtmVpStatsOutPacketErrors'];
$vp_update = $t_vp['juniAtmVpStatsInCells'] . ':' . $t_vp['juniAtmVpStatsOutCells'];
$vp_update .= ':' . $t_vp['juniAtmVpStatsInPackets'] . ':' . $t_vp['juniAtmVpStatsOutPackets'];
$vp_update .= ':' . $t_vp['juniAtmVpStatsInPacketOctets'] . ':' . $t_vp['juniAtmVpStatsOutPacketOctets'];
$vp_update .= ':' . $t_vp['juniAtmVpStatsInPacketErrors'] . ':' . $t_vp['juniAtmVpStatsOutPacketErrors'];
$rrd_name = array('vp', $ifIndex, $vp_id);
$rrd_name = ['vp', $ifIndex, $vp_id];
$fields = array(
$fields = [
'incells' => $t_vp['juniAtmVpStatsInCells'],
'outcells' => $t_vp['juniAtmVpStatsOutCells'],
'inpackets' => $t_vp['juniAtmVpStatsInPackets'],
@ -52,7 +52,7 @@ if (count($vp_rows)) {
'outpacketoctets' => $t_vp['juniAtmVpStatsOutPacketOctets'],
'inpacketerrors' => $t_vp['juniAtmVpStatsInPacketErrors'],
'outpacketerrors' => $t_vp['juniAtmVpStatsOutPacketErrors'],
);
];
$tags = compact('ifIndex', 'vp_id', 'rrd_name', 'rrd_def');
data_update($device, 'atm-vp', $tags, $fields);

View File

@ -15,7 +15,7 @@
use LibreNMS\RRD\RrdDefinition;
// Define some error messages
$error_poolaction = array();
$error_poolaction = [];
$error_poolaction[0] = "Unused";
$error_poolaction[1] = "Reboot";
$error_poolaction[2] = "Restart";
@ -25,16 +25,16 @@ $error_poolaction[5] = "Go Active";
$error_poolaction[6] = "None";
$component = new LibreNMS\Component();
$options['filter']['disabled'] = array('=',0);
$options['filter']['ignore'] = array('=',0);
$options['filter']['disabled'] = ['=', 0];
$options['filter']['ignore'] = ['=', 0];
$components = $component->getComponents($device['device_id'], $options);
// We only care about our device id.
$components = $components[$device['device_id']];
// We extracted all the components for this device, now lets only get the GTM ones.
$keep = array();
$types = array('f5-gtm-wide', 'f5-gtm-pool');
$keep = [];
$types = ['f5-gtm-wide', 'f5-gtm-pool'];
foreach ($components as $k => $v) {
foreach ($types as $type) {
if ($v['type'] == $type) {
@ -63,7 +63,7 @@ if (count($components > 0)) {
$UID = $array['UID'];
$label = $array['label'];
$hash = $array['hash'];
$rrd_name = array($type, $label, $hash);
$rrd_name = [$type, $label, $hash];
if ($type == 'f5-gtm-wide') {
$rrd_def = RrdDefinition::make()
@ -71,32 +71,32 @@ if (count($components > 0)) {
->addDataset('resolved', 'COUNTER', 0)
->addDataset('dropped', 'COUNTER', 0);
$fields = array(
'requests' => $f5_stats['gtmWideIPStatEntryRequests']['1.3.6.1.4.1.3375.2.3.12.2.3.1.2.'.$UID],
'resolved' => $f5_stats['gtmWideIPStatEntryResolved']['1.3.6.1.4.1.3375.2.3.12.2.3.1.3.'.$UID],
'dropped' => $f5_stats['gtmWideIPStatEntryDropped']['1.3.6.1.4.1.3375.2.3.12.2.3.1.7.'.$UID],
);
$fields = [
'requests' => $f5_stats['gtmWideIPStatEntryRequests']['1.3.6.1.4.1.3375.2.3.12.2.3.1.2.' . $UID],
'resolved' => $f5_stats['gtmWideIPStatEntryResolved']['1.3.6.1.4.1.3375.2.3.12.2.3.1.3.' . $UID],
'dropped' => $f5_stats['gtmWideIPStatEntryDropped']['1.3.6.1.4.1.3375.2.3.12.2.3.1.7.' . $UID],
];
// Let's print some debugging info.
d_echo("\n\nComponent: ".$key."\n");
d_echo(" Type: ".$type."\n");
d_echo(" Label: ".$label."\n");
d_echo("\n\nComponent: " . $key . "\n");
d_echo(" Type: " . $type . "\n");
d_echo(" Label: " . $label . "\n");
} elseif ($type == 'f5-gtm-pool') {
$rrd_def = RrdDefinition::make()
->addDataset('resolved', 'COUNTER', 0)
->addDataset('dropped', 'COUNTER', 0);
$fields = array(
'resolved' => $f5_stats['gtmPoolEntryResolved']['1.3.6.1.4.1.3375.2.3.6.2.3.1.2.'.$UID],
'dropped' => $f5_stats['gtmPoolEntryDropped']['1.3.6.1.4.1.3375.2.3.6.2.3.1.5.'.$UID],
);
$fields = [
'resolved' => $f5_stats['gtmPoolEntryResolved']['1.3.6.1.4.1.3375.2.3.6.2.3.1.2.' . $UID],
'dropped' => $f5_stats['gtmPoolEntryDropped']['1.3.6.1.4.1.3375.2.3.6.2.3.1.5.' . $UID],
];
// Let's print some debugging info.
d_echo("\n\nComponent: ".$key."\n");
d_echo(" Type: ".$type."\n");
d_echo(" Label: ".$label."\n");
d_echo("\n\nComponent: " . $key . "\n");
d_echo(" Type: " . $type . "\n");
d_echo(" Label: " . $label . "\n");
} else {
d_echo("Type is unknown: ".$type."\n");
d_echo("Type is unknown: " . $type . "\n");
continue;
}

View File

@ -14,7 +14,7 @@
use LibreNMS\RRD\RrdDefinition;
// Define some error messages
$error_poolaction = array();
$error_poolaction = [];
$error_poolaction[0] = "Unused";
$error_poolaction[1] = "Reboot";
$error_poolaction[2] = "Restart";
@ -24,16 +24,16 @@ $error_poolaction[5] = "Go Active";
$error_poolaction[6] = "None";
$component = new LibreNMS\Component();
$options['filter']['disabled'] = array('=',0);
$options['filter']['ignore'] = array('=',0);
$options['filter']['disabled'] = ['=', 0];
$options['filter']['ignore'] = ['=', 0];
$components = $component->getComponents($device['device_id'], $options);
// We only care about our device id.
$components = $components[$device['device_id']];
// We extracted all the components for this device, now lets only get the LTM ones.
$keep = array();
$types = array('f5-ltm-vs', 'f5-ltm-bwc', 'f5-ltm-pool', 'f5-ltm-poolmember');
$keep = [];
$types = ['f5-ltm-vs', 'f5-ltm-bwc', 'f5-ltm-pool', 'f5-ltm-poolmember'];
foreach ($components as $k => $v) {
foreach ($types as $type) {
if ($v['type'] == $type) {
@ -82,7 +82,7 @@ if (count($components > 0)) {
$UID = $array['UID'];
$label = $array['label'];
$hash = $array['hash'];
$rrd_name = array($type, $label, $hash);
$rrd_name = [$type, $label, $hash];
if ($type == 'f5-ltm-bwc') {
$rrd_def = RrdDefinition::make()
@ -91,17 +91,17 @@ if (count($components > 0)) {
->addDataset('bytesdropped', 'COUNTER', 0)
->addDataset('bytespassed', 'COUNTER', 0);
$fields = array(
'pktsin' => $f5_stats['ltmBwcEntryPktsin']['1.3.6.1.4.1.3375.2.2.13.1.3.1.7.'.$UID],
'bytesin' => $f5_stats['ltmBwcEntryBytesin']['1.3.6.1.4.1.3375.2.2.13.1.3.1.4.'.$UID],
'bytesdropped' => $f5_stats['ltmBwcEntryBytesDropped']['1.3.6.1.4.1.3375.2.2.13.1.3.1.6.'.$UID],
'bytespassed' => $f5_stats['ltmBwcEntryBytesPassed']['1.3.6.1.4.1.3375.2.2.13.1.3.1.5.'.$UID],
);
$fields = [
'pktsin' => $f5_stats['ltmBwcEntryPktsin']['1.3.6.1.4.1.3375.2.2.13.1.3.1.7.' . $UID],
'bytesin' => $f5_stats['ltmBwcEntryBytesin']['1.3.6.1.4.1.3375.2.2.13.1.3.1.4.' . $UID],
'bytesdropped' => $f5_stats['ltmBwcEntryBytesDropped']['1.3.6.1.4.1.3375.2.2.13.1.3.1.6.' . $UID],
'bytespassed' => $f5_stats['ltmBwcEntryBytesPassed']['1.3.6.1.4.1.3375.2.2.13.1.3.1.5.' . $UID],
];
// Let's print some debugging info.
d_echo("\n\nComponent: ".$key."\n");
d_echo(" Type: ".$type."\n");
d_echo(" Label: ".$label."\n");
d_echo("\n\nComponent: " . $key . "\n");
d_echo(" Type: " . $type . "\n");
d_echo(" Label: " . $label . "\n");
} elseif ($type == 'f5-ltm-vs') {
$rrd_def = RrdDefinition::make()
->addDataset('pktsin', 'COUNTER', 0)
@ -110,25 +110,25 @@ if (count($components > 0)) {
->addDataset('bytesout', 'COUNTER', 0)
->addDataset('totconns', 'COUNTER', 0);
$fields = array(
'pktsin' => $f5_stats['ltmVirtualServStatEntryPktsin']['1.3.6.1.4.1.3375.2.2.10.2.3.1.6.'.$UID],
'pktsout' => $f5_stats['ltmVirtualServStatEntryPktsout']['1.3.6.1.4.1.3375.2.2.10.2.3.1.8.'.$UID],
'bytesin' => $f5_stats['ltmVirtualServStatEntryBytesin']['1.3.6.1.4.1.3375.2.2.10.2.3.1.7.'.$UID],
'bytesout' => $f5_stats['ltmVirtualServStatEntryBytesout']['1.3.6.1.4.1.3375.2.2.10.2.3.1.9.'.$UID],
'totconns' => $f5_stats['ltmVirtualServStatEntryTotconns']['1.3.6.1.4.1.3375.2.2.10.2.3.1.11.'.$UID],
);
$fields = [
'pktsin' => $f5_stats['ltmVirtualServStatEntryPktsin']['1.3.6.1.4.1.3375.2.2.10.2.3.1.6.' . $UID],
'pktsout' => $f5_stats['ltmVirtualServStatEntryPktsout']['1.3.6.1.4.1.3375.2.2.10.2.3.1.8.' . $UID],
'bytesin' => $f5_stats['ltmVirtualServStatEntryBytesin']['1.3.6.1.4.1.3375.2.2.10.2.3.1.7.' . $UID],
'bytesout' => $f5_stats['ltmVirtualServStatEntryBytesout']['1.3.6.1.4.1.3375.2.2.10.2.3.1.9.' . $UID],
'totconns' => $f5_stats['ltmVirtualServStatEntryTotconns']['1.3.6.1.4.1.3375.2.2.10.2.3.1.11.' . $UID],
];
// Let's print some debugging info.
d_echo("\n\nComponent: ".$key."\n");
d_echo(" Type: ".$type."\n");
d_echo(" Label: ".$label."\n");
d_echo("\n\nComponent: " . $key . "\n");
d_echo(" Type: " . $type . "\n");
d_echo(" Label: " . $label . "\n");
// Let's check the status.
$array['state'] = $f5_stats['ltmVsStatusEntryState']['1.3.6.1.4.1.3375.2.2.10.13.2.1.2.'.$UID];
$array['state'] = $f5_stats['ltmVsStatusEntryState']['1.3.6.1.4.1.3375.2.2.10.13.2.1.2.' . $UID];
if (($array['state'] == 2) || ($array['state'] == 3)) {
// The Virtual Server is unavailable.
$array['status'] = 2;
$array['error'] = $f5_stats['ltmVsStatusEntryMsg']['1.3.6.1.4.1.3375.2.2.10.13.2.1.5.'.$UID];
$array['error'] = $f5_stats['ltmVsStatusEntryMsg']['1.3.6.1.4.1.3375.2.2.10.13.2.1.5.' . $UID];
} else {
// All is good.
$array['status'] = 0;
@ -139,26 +139,26 @@ if (count($components > 0)) {
->addDataset('minup', 'GAUGE', 0)
->addDataset('currup', 'GAUGE', 0);
$array['minup'] = $f5_stats['ltmPoolEntryMinup']['1.3.6.1.4.1.3375.2.2.5.1.2.1.4.'.$UID];
$array['minupstatus'] = $f5_stats['ltmPoolEntryMinupstatus']['1.3.6.1.4.1.3375.2.2.5.1.2.1.5.'.$UID];
$array['currentup'] = $f5_stats['ltmPoolEntryCurrentup']['1.3.6.1.4.1.3375.2.2.5.1.2.1.8.'.$UID];
$array['minupaction'] = $f5_stats['ltmPoolEntryMinupaction']['1.3.6.1.4.1.3375.2.2.5.1.2.1.6.'.$UID];
$array['minup'] = $f5_stats['ltmPoolEntryMinup']['1.3.6.1.4.1.3375.2.2.5.1.2.1.4.' . $UID];
$array['minupstatus'] = $f5_stats['ltmPoolEntryMinupstatus']['1.3.6.1.4.1.3375.2.2.5.1.2.1.5.' . $UID];
$array['currentup'] = $f5_stats['ltmPoolEntryCurrentup']['1.3.6.1.4.1.3375.2.2.5.1.2.1.8.' . $UID];
$array['minupaction'] = $f5_stats['ltmPoolEntryMinupaction']['1.3.6.1.4.1.3375.2.2.5.1.2.1.6.' . $UID];
$fields = array(
$fields = [
'minup' => $array['minup'],
'currup' => $array['currentup'],
);
];
// Let's print some debugging info.
d_echo("\n\nComponent: ".$key."\n");
d_echo(" Type: ".$type."\n");
d_echo(" Label: ".$label."\n");
d_echo("\n\nComponent: " . $key . "\n");
d_echo(" Type: " . $type . "\n");
d_echo(" Label: " . $label . "\n");
// If we have less pool members than the minimum, we should error.
if ($array['currentup'] < $array['minup']) {
// Danger Will Robinson... We dont have enough Pool Members!
$array['status'] = 2;
$array['error'] = "Minimum Pool Members not met. Action taken: ".$error_poolaction[$array['minupaction']];
$array['error'] = "Minimum Pool Members not met. Action taken: " . $error_poolaction[$array['minupaction']];
} else {
// All is good.
$array['status'] = 0;
@ -172,35 +172,35 @@ if (count($components > 0)) {
->addDataset('bytesout', 'COUNTER', 0)
->addDataset('totconns', 'COUNTER', 0);
$array['state'] = $f5_stats['ltmPoolMbrStatusEntryState']['1.3.6.1.4.1.3375.2.2.5.6.2.1.5.'.$UID];
$array['available'] = $f5_stats['ltmPoolMbrStatusEntryAvail']['1.3.6.1.4.1.3375.2.2.5.6.2.1.6.'.$UID];
$array['state'] = $f5_stats['ltmPoolMbrStatusEntryState']['1.3.6.1.4.1.3375.2.2.5.6.2.1.5.' . $UID];
$array['available'] = $f5_stats['ltmPoolMbrStatusEntryAvail']['1.3.6.1.4.1.3375.2.2.5.6.2.1.6.' . $UID];
$fields = array(
'pktsin' => $f5_stats['ltmPoolMemberStatEntryPktsin']['1.3.6.1.4.1.3375.2.2.5.4.3.1.5.'.$UID],
'pktsout' => $f5_stats['ltmPoolMemberStatEntryPktsout']['1.3.6.1.4.1.3375.2.2.5.4.3.1.7.'.$UID],
'bytesin' => $f5_stats['ltmPoolMemberStatEntryBytesin']['1.3.6.1.4.1.3375.2.2.5.4.3.1.6.'.$UID],
'bytesout' => $f5_stats['ltmPoolMemberStatEntryBytesout']['1.3.6.1.4.1.3375.2.2.5.4.3.1.8.'.$UID],
'totconns' => $f5_stats['ltmPoolMemberStatEntryTotconns']['1.3.6.1.4.1.3375.2.2.5.4.3.1.10.'.$UID],
);
$fields = [
'pktsin' => $f5_stats['ltmPoolMemberStatEntryPktsin']['1.3.6.1.4.1.3375.2.2.5.4.3.1.5.' . $UID],
'pktsout' => $f5_stats['ltmPoolMemberStatEntryPktsout']['1.3.6.1.4.1.3375.2.2.5.4.3.1.7.' . $UID],
'bytesin' => $f5_stats['ltmPoolMemberStatEntryBytesin']['1.3.6.1.4.1.3375.2.2.5.4.3.1.6.' . $UID],
'bytesout' => $f5_stats['ltmPoolMemberStatEntryBytesout']['1.3.6.1.4.1.3375.2.2.5.4.3.1.8.' . $UID],
'totconns' => $f5_stats['ltmPoolMemberStatEntryTotconns']['1.3.6.1.4.1.3375.2.2.5.4.3.1.10.' . $UID],
];
// Let's print some debugging info.
d_echo("\n\nComponent: ".$key."\n");
d_echo(" Type: ".$type."\n");
d_echo(" Label: ".$label."\n");
d_echo("\n\nComponent: " . $key . "\n");
d_echo(" Type: " . $type . "\n");
d_echo(" Label: " . $label . "\n");
// If available and bad state
// 0 = None, 1 = Green, 2 = Yellow, 3 = Red, 4 = Blue
if (($array['available'] == 1) && ($array['state'] == 3)) {
// Warning Alarm, the pool member is down.
$array['status'] = 1;
$array['error'] = "Pool Member is Down: ".$f5_stats['ltmPoolMbrStatusEntryMsg']['1.3.6.1.4.1.3375.2.2.5.6.2.1.8.'.$UID];
$array['error'] = "Pool Member is Down: " . $f5_stats['ltmPoolMbrStatusEntryMsg']['1.3.6.1.4.1.3375.2.2.5.6.2.1.8.' . $UID];
} else {
// All is good.
$array['status'] = 0;
$array['error'] = '';
}
} else {
d_echo("Type is unknown: ".$type."\n");
d_echo("Type is unknown: " . $type . "\n");
continue;
}

View File

@ -6,13 +6,13 @@ echo 'MEF Links: ';
* Get a list of all the known MEF Links for this host.
*/
$db_info_list = dbFetchRows('SELECT id, mefID, mefType, mefIdent, mefMTU, mefAdmState, mefRowState FROM mefinfo WHERE device_id = ?', array($device['device_id']));
$db_info_list = dbFetchRows('SELECT id, mefID, mefType, mefIdent, mefMTU, mefAdmState, mefRowState FROM mefinfo WHERE device_id = ?', [$device['device_id']]);
if (!empty($db_info_list)) {
$current_mefinfo = snmpwalk_cache_multi_oid($device, 'MefServiceEvcCfgEntry', array(), 'MEF-UNI-EVC-MIB');
if (! empty($db_info_list)) {
$current_mefinfo = snmpwalk_cache_multi_oid($device, 'MefServiceEvcCfgEntry', [], 'MEF-UNI-EVC-MIB');
foreach ($db_info_list as $db_info) {
$mef_info = array();
$mef_info = [];
$mef_info['mefType'] = $current_mefinfo[$db_info['mefID']]['mefServiceEvcCfgServiceType'];
$mef_info['mefIdent'] = $current_mefinfo[$db_info['mefID']]['mefServiceEvcCfgIdentifier'];
@ -37,7 +37,7 @@ if (!empty($db_info_list)) {
*/
if ($mef_info[$property] != $db_info[$property]) {
// FIXME - this should loop building a query and then run the query after the loop (bad geert!)
dbUpdate(array($property => mres($mef_info[$property])), 'mefinfo', '`id` = ?', array($db_info['id']));
dbUpdate([$property => mres($mef_info[$property])], 'mefinfo', '`id` = ?', [$db_info['id']]);
if ($db_info['mefIdent'] != null) {
log_event("MEF Link : " . mres($db_info['mefIdent']) . ' (' . preg_replace('/^mef/', '', mres($db_info[$property])) . ') -> ' . $mef_info[$property], $device);
}

View File

@ -2,8 +2,8 @@
use LibreNMS\RRD\RrdDefinition;
foreach (dbFetchRows('SELECT * FROM mempools WHERE device_id = ?', array($device['device_id'])) as $mempool) {
echo 'Mempool '.$mempool['mempool_descr'].': ';
foreach (dbFetchRows('SELECT * FROM mempools WHERE device_id = ?', [$device['device_id']]) as $mempool) {
echo 'Mempool ' . $mempool['mempool_descr'] . ': ';
$mempool_type = $mempool['mempool_type'];
$mempool_index = $mempool['mempool_index'];
@ -19,37 +19,37 @@ foreach (dbFetchRows('SELECT * FROM mempools WHERE device_id = ?', array($device
$percent = 0;
}
echo $percent.'% ';
echo $percent . '% ';
$rrd_name = array('mempool', $mempool_type, $mempool_index);
$rrd_name = ['mempool', $mempool_type, $mempool_index];
$rrd_def = RrdDefinition::make()
->addDataset('used', 'GAUGE', 0)
->addDataset('free', 'GAUGE', 0);
$fields = array(
$fields = [
'used' => $mempool['used'],
'free' => $mempool['free'],
);
];
$tags = compact('mempool_type', 'mempool_index', 'rrd_name', 'rrd_def');
data_update($device, 'mempool', $tags, $fields);
$mempool['state'] = array(
'mempool_used' => $mempool['used'],
'mempool_perc' => $percent,
'mempool_free' => $mempool['free'],
'mempool_total' => $mempool['total'],
);
$mempool['state'] = [
'mempool_used' => $mempool['used'],
'mempool_perc' => $percent,
'mempool_free' => $mempool['free'],
'mempool_total' => $mempool['total'],
];
if (!empty($mempool['largestfree'])) {
if (! empty($mempool['largestfree'])) {
$mempool['state']['mempool_largestfree'] = set_numeric($mempool['largestfree']);
}
if (!empty($mempool['lowestfree'])) {
if (! empty($mempool['lowestfree'])) {
$mempool['state']['mempool_lowestfree'] = set_numeric($mempool['lowestfree']);
}
dbUpdate($mempool['state'], 'mempools', '`mempool_id` = ?', array($mempool['mempool_id']));
dbUpdate($mempool['state'], 'mempools', '`mempool_id` = ?', [$mempool['mempool_id']]);
echo "\n";
}//end foreach

View File

@ -22,7 +22,6 @@
* @copyright 2017 Neil Lathwood
* @author Neil Lathwood <neil@lathwood.co.uk>
*/
if ($device['os'] === '3com') {
echo '3COM:';

View File

@ -22,7 +22,6 @@
* @copyright 2016 Neil Lathwood
* @author Neil Lathwood <neil@lathwood.co.uk>
*/
if ($device['os'] === 'acos') {
echo 'ACOS: ';
$mempool['used'] = snmp_get($device, 'axSysMemoryUsage.0', '-Ovq', 'A10-AX-MIB');

View File

@ -12,14 +12,12 @@
* the source code distribution for details.
*/
/*
/ ADTRAN-AOSCPU::adGenAOSMemPool.0 = Gauge32: 67108863
/ ADTRAN-AOSCPU::adGenAOSHeapSize.0 = Gauge32: 39853040
/ ADTRAN-AOSCPU::adGenAOSHeapFree.0 = Gauge32: 25979888
*/
$mempool['used'] = snmp_get($device, 'adGenAOSHeapSize.0', '-OvQ', 'ADTRAN-AOSCPU');
$mempool['used'] = snmp_get($device, 'adGenAOSHeapSize.0', '-OvQ', 'ADTRAN-AOSCPU');
$mempool['total'] = snmp_get($device, 'adGenAOSMemPool.0', '-OvQ', 'ADTRAN-AOSCPU');
$mempool['free'] = ($mempool['total'] - $mempool['used']);
$mempool['free'] = ($mempool['total'] - $mempool['used']);

View File

@ -20,7 +20,7 @@ $perc = ($total / $free) * 100;
$used = ($total - $free);
if (is_numeric($used) && is_numeric($free) && is_numeric($perc)) {
$mempool['total'] = $total;
$mempool['free'] = $free;
$mempool['used'] = $used;
$mempool['perc'] = $perc;
$mempool['free'] = $free;
$mempool['used'] = $used;
$mempool['perc'] = $perc;
}

View File

@ -3,7 +3,7 @@
$mempool['units'] = '1';
$mempool['total'] = snmp_get($device, 'systemHardwareMemorySize.0', '-OvQ', 'ALCATEL-IND1-SYSTEM-MIB');
$percent = snmp_get($device, 'healthDeviceMemoryLatest.0', '-OvQ', 'ALCATEL-IND1-HEALTH-MIB');
$percent = snmp_get($device, 'healthDeviceMemoryLatest.0', '-OvQ', 'ALCATEL-IND1-HEALTH-MIB');
$mempool['used'] = ($mempool['total'] * ($percent / 100));
$mempool['free'] = ($mempool['total'] - $mempool['used']);

Some files were not shown because too many files have changed in this diff Show More