$array) { if (!isset($shelf_array[$shelf])) { continue; } print_debug_vars($shelf_array[$shelf]); $shelf_name = $shelf_array[$shelf]['eqptShelfPiVendorName'] . ' ' . $shelf_array[$shelf]['eqptShelfType'] . " #$shelf"; $shelf_cpu = 0; foreach ($array as $index_parts => $entry) { //$entry = array_merge($entry, $shelf_array[$shelf]); // FSS-PM::pmEqptShelfPm-recordTime-period-indexPm-data-value."1".cpuUsage.nearEnd.na.a15-min.0 = STRING: 46.66 // FSS-PM::pmEqptShelfPm-recordTime-period-indexPm-data-value.1.49.73.0.2.1.0 = STRING: 46.66 [ $recordMontype, $recordLocn, $recordDirn, $recordTime, $recordIndex ] = explode('.', $index_parts); // Process only CPU Usage here if ($recordMontype !== 'cpuUsage' || $recordTime !== 'a15-min' || $recordIndex !== 0 || $entry['pmEqptShelfPm-recordTime-period-indexPm-validity'] === 'false') { continue; } print_debug_vars($entry); $shelf_cpu++; // Convert named index to numeric // FCMonType from FSS-COMMON-PM-TC // cpuUsage (73), // cpuUsageMin (74), // cpuUsageMax (75), // cpuUsageAvg (76), $index = snmp_string_to_oid($shelf) . '.73'; // pmEqptShelfPm-recordLocn OBJECT-TYPE // SYNTAX INTEGER {nearEnd(0),farEnd(1)} switch ($recordLocn) { case 'nearEnd': $index .= '.0'; break; case 'farEnd': $index .= '.1'; break; } // pmEqptShelfPm-recordDirn OBJECT-TYPE // SYNTAX INTEGER {transmit(0),receive(1),na(2)} switch ($recordDirn) { case 'transmit': $index .= '.0'; break; case 'receive': $index .= '.1'; break; case 'na': $index .= '.2'; break; } // pmEqptShelfPm-recordTime-period-indexTime-period OBJECT-TYPE // SYNTAX INTEGER {cumulative(0),a15-min(1),a1-day(2),a1-week(3),a1-month(4)} switch ($recordTime) { case 'cumulative': $index .= '.0'; break; case 'a15-min': $index .= '.1'; break; case 'a1-day': $index .= '.2'; break; case 'a1-week': $index .= '.3'; break; case 'a1-month': $index .= '.4'; break; } $index .= ".$recordIndex"; print_debug("Index converted: '$shelf.$index_parts' = '$index'"); $oid_name = 'pmEqptShelfPm-recordTime-period-indexPm-data-value'; $oid_num = ".1.3.6.1.4.1.211.1.24.12.800.2.1.3.$index"; $descr = "CPU $shelf_cpu ($shelf_name)"; $usage = $entry[$oid_name]; discover_processor_ng($device, $mib, $oid_name, $oid_num, $index, $descr, 1, $usage); } } unset($walk_array); // EOF