junos mempools improvement from elec2

git-svn-id: http://www.observium.org/svn/observer/trunk@2733 61d68cd4-352d-0410-923a-c4978735b2b8
This commit is contained in:
Adam Amstrong
2011-11-21 16:01:10 +00:00
parent 7d85f5ff07
commit 69a849c3f0
2 changed files with 11 additions and 5 deletions

View File

@@ -6,6 +6,7 @@ if ($device['os'] == "junos")
echo("JUNOS : ");
$mempools_array = snmpwalk_cache_multi_oid($device, "jnxOperatingBuffer", $mempools_array, "JUNIPER-MIB" , $config['install_dir']."/mibs/junos");
$mempools_array = snmpwalk_cache_multi_oid($device, "jnxOperatingDRAMSize", $mempools_array, "JUNIPER-MIB" , $config['install_dir']."/mibs/junos");
$mempools_array = snmpwalk_cache_multi_oid($device, "jnxOperatingMemory", $mempools_array, "JUNIPER-MIB" , $config['install_dir']."/mibs/junos");
$mempools_array = snmpwalk_cache_multi_oid($device, "jnxOperatingDescr", $mempools_array, "JUNIPER-MIB" , $config['install_dir']."/mibs/junos");
if ($debug) { print_r($mempools_array); }
@@ -13,8 +14,9 @@ if ($device['os'] == "junos")
{
foreach ($mempools_array as $index => $entry)
{
if ($entry['jnxOperatingDRAMSize'] && !strpos($entry['jnxOperatingDescr'], "sensor") && !strstr($entry['jnxOperatingDescr'], "fan"))
if ($entry['jnxOperatingDRAMSize'] || $entry['jnxOperatingMemory'])
{
if (stripos($entry['jnxOperatingDescr'], "sensor") || stripos($entry['jnxOperatingDescr'], "fan")) continue;
if ($debug) { echo($index . " " . $entry['jnxOperatingDescr'] . " -> " . $entry['jnxOperatingBuffer'] . " -> " . $entry['jnxOperatingDRAMSize'] . "\n"); }
$usage_oid = ".1.3.6.1.4.1.2636.3.1.13.1.8." . $index;
$descr = $entry['jnxOperatingDescr'];

View File

@@ -10,14 +10,18 @@ if (!is_array($mempool_cache['junos']))
$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'];
$mempool['total'] = $entry['jnxOperatingDRAMSize'];
$mempool['used'] = $entry['jnxOperatingDRAMSize'] / 100 * $perc;
$mempool['free'] = $entry['jnxOperatingDRAMSize'] - $mempool['used'];
// 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'];
?>
?>