mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
git-svn-id: http://www.observium.org/svn/observer/trunk@1529 61d68cd4-352d-0410-923a-c4978735b2b8
46 lines
1.9 KiB
PHP
46 lines
1.9 KiB
PHP
<?php
|
|
|
|
global $valid_sensor;
|
|
|
|
echo("ENTITY-SENSOR ");
|
|
|
|
$oids = array();
|
|
|
|
$oids = snmpwalk_cache_multi_oid($device, "entPhySensorType", $oids, "ENTITY-SENSOR-MIB");
|
|
$oids = snmpwalk_cache_multi_oid($device, "entPhySensorScale", $oids, "ENTITY-SENSOR-MIB");
|
|
|
|
$oids = snmpwalk_cache_multi_oid($device, "entPhySensorValue", $oids, "ENTITY-SENSOR-MIB");
|
|
|
|
if(is_array($oids[$device['device_id']]))
|
|
{
|
|
foreach($oids[$device['device_id']] as $index => $entry)
|
|
{
|
|
#echo("[" . $entry['entPhySensorType'] . "|" . $entry['entPhySensorValue']. "|" . $index . "]");
|
|
|
|
if($entry['entPhySensorType'] == "celsius" && is_numeric($entry['entPhySensorValue']) && is_numeric($index) && $entry['entPhySensorValue'] > "0" && $entry['entPhySensorValue'] < "1000")
|
|
{
|
|
$entPhysicalIndex = $index;
|
|
$descr = snmp_get($device, "entPhysicalDescr.".$index, "-Oqv", "ENTITY-SENSOR-MIB");
|
|
$oid = ".1.3.6.1.2.1.99.1.1.1.4.".$index;
|
|
$current = $entry['entPhySensorValue'];
|
|
#ENTITY-SENSOR-MIB::entPhySensorUnitsDisplay.11 = STRING: "C"
|
|
|
|
$descr = str_replace("temperature", "", $descr);
|
|
$descr = str_replace("temperature", "", $descr);
|
|
$descr = str_replace("sensor", "", $descr);
|
|
|
|
### FIXME this stuff is foul
|
|
if($entry['entPhySensorScale'] == "milli") { $divisor = "1000"; } else { $divisor = "1"; }
|
|
if($entry['entPhySensorPrecision'] == "1") { $multiplier = "10"; } else { $multiplier = "1"; }
|
|
|
|
if(mysql_result(mysql_query("SELECT COUNT(*) FROM `sensors` WHERE `device_id` = '".$device['device_id']."' AND `sensor_class` = 'temperature' AND `sensor_type` = 'cisco-entity-sensor' AND `sensor_index` = '".$index."'"),0) == "0")
|
|
## Check to make sure we've not already seen this sensor via cisco's entity sensor mib
|
|
{
|
|
discover_sensor($valid_sensor, 'temperature', $device, $oid, $index, 'entity-sensor', $descr, $divisor, $multiplier, NULL, NULL, NULL, NULL, $current);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
?>
|