2010-07-03 17:02:39 +00:00
< ? php
2012-05-25 12:24:34 +00:00
// FIXME - dbFacile and fewer SNMP_GETs
2015-07-13 20:10:26 +02:00
if ( dbFetchCell ( " SELECT COUNT(*) FROM `sensors` WHERE `device_id` = ? AND `sensor_class` = 'temperature' AND (`sensor_type` = 'cisco-entity-sensor' OR `sensor_type` = 'entity-sensor') " , array ( $device [ 'device_id' ])) == '0' && ( $device [ 'os_group' ] == 'cisco' )) {
echo 'CISCO-ENVMON-MIB: ' ;
$oids = snmp_walk ( $device , '.1.3.6.1.4.1.9.9.13.1.3.1.2' , '-Osqn' , 'CISCO-ENVMON-MIB' );
$oids = str_replace ( '.1.3.6.1.4.1.9.9.13.1.3.1.2.' , '' , $oids );
$oids = trim ( $oids );
foreach ( explode ( " \n " , $oids ) as $data ) {
$data = trim ( $data );
if ( $data ) {
list ( $index ) = explode ( ' ' , $data );
$oid = " .1.3.6.1.4.1.9.9.13.1.3.1.3. $index " ;
$descr_oid = " .1.3.6.1.4.1.9.9.13.1.3.1.2. $index " ;
$descr = snmp_get ( $device , $descr_oid , '-Oqv' , 'CISCO-ENVMON-MIB' );
$temperature = snmp_get ( $device , $oid , '-Oqv' , 'CISCO-ENVMON-MIB' );
if ( ! strstr ( $descr , 'No' ) && ! strstr ( $temperature , 'No' ) && $temperature != '' && $descr != '' ) {
$descr = str_replace ( '"' , '' , $descr );
$descr = str_replace ( 'temperature' , '' , $descr );
$descr = str_replace ( 'temperature' , '' , $descr );
$descr = trim ( $descr );
2012-05-03 09:10:58 +00:00
2015-07-13 20:10:26 +02:00
if ( ! is_numeric ( $temperature )) {
$temperature = stristr ( $temperature , ' degrees' , true );
}
2010-07-03 17:02:39 +00:00
2015-07-13 20:10:26 +02:00
discover_sensor ( $valid [ 'sensor' ], 'temperature' , $device , $oid , $index , 'cisco' , $descr , '1' , '1' , null , null , null , null , $temperature );
}
}
} //end foreach
} //end if