$entry) { #echo("[" . $entry['entPhySensorType'] . "|" . $entry['entPhySensorValue']. "|" . $index . "]"); if ($entitysensor[$entry['entPhySensorType']] && is_numeric($entry['entPhySensorValue']) && is_numeric($index)) { $entPhysicalIndex = $index; $oid = ".1.3.6.1.2.1.99.1.1.1.4.".$index; $current = $entry['entPhySensorValue']; #ENTITY-SENSOR-MIB::entPhySensorUnitsDisplay.11 = STRING: "C" $descr = $entity_array[$index]['entPhysicalName']; # if ($descr || $device['os'] == "iosxr") if ($descr) { $descr = rewrite_entity_descr($descr); } else { $descr = $entity_array[$index]['entPhysicalDescr']; $descr = rewrite_entity_descr($descr); } $thisisnotbullshit = TRUE; $type = $entitysensor[$entry['entPhySensorType']]; // FIXME this stuff is foul if ($entry['entPhySensorScale'] == "nano") { $divisor = "1000000000"; $multiplier = "1"; } if ($entry['entPhySensorScale'] == "micro") { $divisor = "1000000"; $multiplier = "1"; } if ($entry['entPhySensorScale'] == "milli") { $divisor = "1000"; $multiplier = "1"; } if ($entry['entPhySensorScale'] == "units") { $divisor = "1"; $multiplier = "1"; } if ($entry['entPhySensorScale'] == "kilo") { $divisor = "1"; $multiplier = "1000"; } if ($entry['entPhySensorScale'] == "mega") { $divisor = "1"; $multiplier = "1000000"; } if ($entry['entPhySensorScale'] == "giga") { $divisor = "1"; $multiplier = "1000000000"; } if (is_numeric($entry['entPhySensorPrecision']) && $entry['entPhySensorPrecision'] > "0") { $divisor = $divisor . str_pad('', $entry['entPhySensorPrecision'], "0"); } $current = $current * $multiplier / $divisor; if ($type == "temperature") { if ($current > "200") { $thisisnotbullshit = FALSE; } $descr = preg_replace("/[T|t]emperature[|s]/", "", $descr); } #echo($descr . "|" . $index . "|" .$current . "|" . $multiplier . "|" . $divisor ."|" . $entry['entPhySensorScale'] . "|" . $entry['entPhySensorPrecision'] . "\n"); if ($current == "-127") { $thisisnotbullshit = FALSE; } if ($thisisnotbullshit && dbFetchCell("SELECT COUNT(*) FROM `sensors` WHERE device_id = ? AND `sensor_class` = ? AND `sensor_type` = 'cisco-entity-sensor' AND `sensor_index` = ?",array($device['device_id'], $type,$index)) == "0") // Check to make sure we've not already seen this sensor via cisco's entity sensor mib { discover_sensor($valid['sensor'], $type, $device, $oid, $index, 'entity-sensor', $descr, $divisor, $multiplier, NULL, NULL, NULL, NULL, $current); } } } } echo("\n"); ?>