librenms/includes/polling/mempools/junos.inc.php
Adam Amstrong 69a849c3f0 junos mempools improvement from elec2
git-svn-id: http://www.observium.org/svn/observer/trunk@2733 61d68cd4-352d-0410-923a-c4978735b2b8
2011-11-21 16:01:10 +00:00

28 lines
1.2 KiB
PHP
Executable File

<?php
$oid = $mempool['mempool_index'];
if ($debug) { echo("JunOS Mempool"); }
if (!is_array($mempool_cache['junos']))
{
if ($debug) { echo("caching"); }
$mempool_cache['junos'] = array();
$mempool_cache['junos'] = snmpwalk_cache_multi_oid($device, "jnxOperatingBuffer", $mempool_cache['junos'], "JUNIPER-MIB" , $config['install_dir']."/mibs/junos");
$mempool_cache['junos'] = snmpwalk_cache_multi_oid($device, "jnxOperatingDRAMSize", $mempool_cache['junos'], "JUNIPER-MIB" , $config['install_dir']."/mibs/junos");
$mempool_cache['junos'] = snmpwalk_cache_multi_oid($device, "jnxOperatingMemory", $mempool_cache['junos'], "JUNIPER-MIB" , $config['install_dir']."/mibs/junos");
if ($debug) { print_r($mempool_cache); }
}
$entry = $mempool_cache['junos'][$mempool[mempool_index]];
$perc = $entry['jnxOperatingBuffer'];
// FIX ME -- Maybe another OID? Some equipment do not provide jnxOperatingDRAMSize like MX960
if ($entry['jnxOperatingDRAMSize']) $memory_available = $entry['jnxOperatingDRAMSize'];
else $memory_available = ($entry['jnxOperatingMemory'] * 1024 * 1024);
$mempool['total'] = $memory_available;
$mempool['used'] = $memory_available / 100 * $perc;
$mempool['free'] = $memory_available - $mempool['used'];
?>