2010-02-25 00:56:13 +00:00
|
|
|
<?php
|
|
|
|
|
2020-04-17 17:37:56 -05:00
|
|
|
use Illuminate\Support\Str;
|
|
|
|
|
2016-04-01 16:29:58 -05:00
|
|
|
$oid = $mempool['mempool_index'];
|
|
|
|
|
|
|
|
d_echo('Ironware Mempool'."\n");
|
|
|
|
|
2020-04-17 17:37:56 -05:00
|
|
|
if (Str::contains($device['sysDescr'], array('NetIron', 'MLX', 'CER')) === false) {
|
2017-11-04 16:20:14 -05:00
|
|
|
echo 'Ironware Dynamic: ';
|
2016-04-01 16:29:58 -05:00
|
|
|
$mempool['total'] = snmp_get($device, 'snAgGblDynMemTotal.0', '-OvQ', 'FOUNDRY-SN-AGENT-MIB');
|
2018-04-25 21:59:04 +02:00
|
|
|
if ($mempool['total'] < 0) {
|
|
|
|
$mempool['total'] =+ 4294967296 ; // signed vs unsigned snmp output
|
|
|
|
}
|
2016-04-01 16:29:58 -05:00
|
|
|
$mempool['free'] = snmp_get($device, 'snAgGblDynMemFree.0', '-OvQ', 'FOUNDRY-SN-AGENT-MIB');
|
2018-04-25 21:59:04 +02:00
|
|
|
if ($mempool['free'] < 0) {
|
|
|
|
$mempool['free'] =+ 4294967296 ; // signed vs unsigned snmp output
|
|
|
|
}
|
2016-04-01 16:29:58 -05:00
|
|
|
$mempool['used'] = ($mempool['total'] - $mempool['free']);
|
2018-04-25 21:59:04 +02:00
|
|
|
d_echo($mempool);
|
2020-04-03 08:41:24 -05:00
|
|
|
} else {
|
2017-11-04 16:20:14 -05:00
|
|
|
echo 'NetIron: ';
|
2016-04-01 16:29:58 -05:00
|
|
|
d_echo('caching');
|
|
|
|
$mempool_cache['ironware-dyn'] = array();
|
2016-09-28 08:19:28 -05:00
|
|
|
$mempool_cache['ironware-dyn'] = snmpwalk_cache_multi_oid($device, 'snAgentBrdMemoryUtil100thPercent', $mempool_cache['ironware-dyn'], 'FOUNDRY-SN-AGENT-MIB');
|
|
|
|
$mempool_cache['ironware-dyn'] = snmpwalk_cache_multi_oid($device, 'snAgentBrdMemoryAvailable', $mempool_cache['ironware-dyn'], 'FOUNDRY-SN-AGENT-MIB');
|
|
|
|
$mempool_cache['ironware-dyn'] = snmpwalk_cache_multi_oid($device, 'snAgentBrdMemoryTotal', $mempool_cache['ironware-dyn'], 'FOUNDRY-SN-AGENT-MIB');
|
2016-04-01 16:29:58 -05:00
|
|
|
d_echo($mempool_cache);
|
|
|
|
|
2018-07-13 17:08:00 -05:00
|
|
|
$entry = $mempool_cache['ironware-dyn'][$mempool['mempool_index']];
|
2016-04-01 16:29:58 -05:00
|
|
|
|
|
|
|
$perc = $entry['snAgentBrdMemoryUtil100thPercent'];
|
|
|
|
|
|
|
|
$memory_available = $entry['snAgentBrdMemoryTotal'];
|
|
|
|
|
|
|
|
$mempool['total'] = $memory_available;
|
|
|
|
$mempool['used'] = $memory_available / 10000 * $perc;
|
|
|
|
$mempool['free'] = $memory_available - $mempool['used'];
|
|
|
|
} //end_else
|