2010-02-15 01:26:50 +00:00
< ? php
2010-07-29 18:25:11 +00:00
function discover_sensor ( & $valid , $class , $device , $oid , $index , $type , $descr , $divisor = '1' , $multiplier = '1' , $low_limit = NULL , $low_warn_limit = NULL , $warn_limit = NULL , $high_limit = NULL , $current = NULL )
2010-07-07 14:55:21 +00:00
{
global $config , $debug ;
if ( $debug ) { echo ( " $oid , $index , $type , $descr , $precision\n " ); }
if ( ! $low_limit )
{
$low_limit = $config [ 'limit' ][ 'current' ];
2010-07-29 18:25:11 +00:00
}
2010-07-15 21:39:58 +00:00
if ( mysql_result ( mysql_query ( " SELECT count(sensor_id) FROM `sensors` WHERE sensor_class=' " . mres ( $class ) . " ' AND device_id = ' " . $device [ 'device_id' ] . " ' AND sensor_type = ' $type ' AND `sensor_index` = ' $index ' " ), 0 ) == '0' )
2010-07-07 14:55:21 +00:00
{
2010-07-29 18:25:11 +00:00
$query = " INSERT INTO sensors (`sensor_class`, `device_id`, `sensor_oid`, `sensor_index`, `sensor_type`, `sensor_descr`, `sensor_divisor`, `sensor_multiplier`, `sensor_limit`, `sensor_limit_warn`, `sensor_limit_low`, `sensor_limit_low_warn`, `sensor_current`) " ;
$query .= " VALUES (' " . mres ( $class ) . " ', ' " . $device [ 'device_id' ] . " ', ' $oid ', ' $index ', ' $type ', ' $descr ', ' $divisor ', ' $multiplier ', ' $high_limit ', ' $warn_limit ', ' $low_limit ', ' $low_warn_limit ', ' $current ') " ;
2010-07-07 14:55:21 +00:00
mysql_query ( $query );
if ( $debug ) { echo ( " $query " . mysql_affected_rows () . " inserted " ); }
echo ( " + " );
2010-07-29 18:25:11 +00:00
$sensor_id = mysql_result ( mysql_query ( " SELECT `sensor_id` FROM `sensors` WHERE sensor_class=' " . mres ( $class ) . " ' AND device_id = ' " . $device [ 'device_id' ] . " ' AND sensor_type = ' $type ' AND `sensor_index` = ' $index ' " ), 0 );
2010-07-29 18:50:21 +00:00
log_event ( " Sensor Added: " . mres ( $class ) . " " . mres ( $type ) . " " . mres ( $index ) . " " . mres ( $descr ), $device [ 'device_id' ], 'sensor' , $sensor_id );
2010-07-07 14:55:21 +00:00
}
else
{
$sensor_entry = mysql_fetch_array ( mysql_query ( " SELECT * FROM `sensors` WHERE sensor_class=' " . mres ( $class ) . " ' AND device_id = ' " . $device [ 'device_id' ] . " ' AND sensor_type = ' $type ' AND `sensor_index` = ' $index ' " ));
2010-07-29 18:25:11 +00:00
if ( $oid == $sensor_entry [ 'sensor_oid' ] && $descr == $sensor_entry [ 'sensor_descr' ] && $multiplier == $sensor_entry [ 'sensor_multiplier' ] && $divisor == $sensor_entry [ 'sensor_divisor' ])
2010-07-07 14:55:21 +00:00
{
echo ( " . " );
}
else
{
2010-07-29 18:25:11 +00:00
mysql_query ( " UPDATE sensors SET `sensor_descr` = ' $descr ', `sensor_oid` = ' $oid ', `sensor_multiplier` = ' $multiplier ', `sensor_divisor` = ' $divisor ' WHERE `sensor_class` = ' " . mres ( $class ) . " ' AND `device_id` = ' " . $device [ 'device_id' ] . " ' AND sensor_type = ' $type ' AND `sensor_index` = ' $index ' " );
2010-07-07 14:55:21 +00:00
echo ( " U " );
2010-07-29 18:50:21 +00:00
log_event ( " Sensor Updated: " . mres ( $class ) . " " . mres ( $type ) . " " . mres ( $index ) . " " . mres ( $descr ), $device [ 'device_id' ], 'sensor' , $sensor_id );
2010-07-07 14:55:21 +00:00
if ( $debug ) { echo ( " $query " . mysql_affected_rows () . " updated " ); }
}
}
2010-07-29 18:25:11 +00:00
$valid [ $class ][ $type ][ $index ] = 1 ;
2010-07-07 14:55:21 +00:00
return $return ;
}
2010-02-28 22:04:15 +00:00
2010-07-29 18:25:11 +00:00
function check_valid_sensors ( $device , $class , $valid ) {
$sql = " SELECT * FROM sensors AS S, devices AS D WHERE S.sensor_class=' " . $class . " ' AND S.device_id = D.device_id AND D.device_id = ' " . $device [ 'device_id' ] . " ' " ;
if ( $query = mysql_query ( $sql ))
{
while ( $test = mysql_fetch_array ( $query ))
{
$index = $test [ 'sensor_index' ];
$type = $test [ 'sensor_type' ];
if ( $debug ) { echo ( $index . " -> " . $type . " \n " ); }
if ( ! $valid [ $class ][ $type ][ $index ])
{
echo ( " - " );
2010-07-29 20:34:31 +00:00
mysql_query ( " DELETE FROM `sensors` WHERE sensor_class=' " . $class . " ' AND sensor_id = ' " . $test [ 'sensor_id' ] . " ' " );
2010-07-29 18:50:21 +00:00
log_event ( " Sensor Deleted: " . $test [ 'sensor_class' ] . " " . $test [ 'sensor_type' ] . " " . $test [ 'sensor_index' ] . " " . $test [ 'sensor_descr' ], $device [ 'device_id' ], 'sensor' , $sensor_id );
2010-07-29 18:25:11 +00:00
}
unset ( $oid ); unset ( $type );
}
}
}
2010-06-17 10:14:53 +00:00
function discover_juniAtmVp ( & $valid , $interface_id , $vp_id , $vp_descr )
2010-03-11 19:09:19 +00:00
{
global $config , $debug ;
2010-02-28 22:04:15 +00:00
2010-03-11 19:09:19 +00:00
if ( mysql_result ( mysql_query ( " SELECT COUNT(*) FROM `juniAtmVp` WHERE `interface_id` = ' " . $interface_id . " ' AND `vp_id` = ' " . $vp_id . " ' " ), 0 ) == " 0 " )
{
$sql = " INSERT INTO `juniAtmVp` (`interface_id`,`vp_id`,`vp_descr`) VALUES (' " . $interface_id . " ',' " . $vp_id . " ',' " . $vp_descr . " ') " ;
mysql_query ( $sql ); echo ( " + " );
if ( $debug ) { echo ( $sql . " - " . mysql_affected_rows () . " inserted " ); }
}
else
{
echo ( " . " );
}
2010-06-17 10:14:53 +00:00
$valid [ $interface_id ][ $vp_id ] = 1 ;
2010-02-28 22:04:15 +00:00
}
2010-03-11 19:09:19 +00:00
function discover_link ( $local_interface_id , $protocol , $remote_interface_id , $remote_hostname , $remote_port , $remote_platform , $remote_version )
{
global $config , $debug , $link_exists ;
2010-02-15 23:56:30 +00:00
2010-03-11 19:09:19 +00:00
if ( mysql_result ( mysql_query ( " SELECT COUNT(*) FROM `links` WHERE `remote_hostname` = ' $remote_hostname ' AND `local_interface_id` = ' $local_interface_id '
2010-02-15 23:56:30 +00:00
AND `protocol` = '$protocol' AND `remote_port` = '$remote_port' " ),0) == " 0 " )
2010-03-11 19:09:19 +00:00
{
$sql = " INSERT INTO `links` (`local_interface_id`,`protocol`,`remote_interface_id`,`remote_hostname`,`remote_port`,`remote_platform`,`remote_version`)
2010-02-15 23:56:30 +00:00
VALUES ( '$local_interface_id' , '$protocol' , '$remote_interface_id' , '$remote_hostname' , '$remote_port' , '$remote_platform' , '$remote_version' ) " ;
2010-03-11 19:09:19 +00:00
mysql_query ( $sql );
echo ( " + " ); if ( $debug ) { echo ( " $sql " ); }
}
else
{
$data = mysql_fetch_array ( mysql_query ( " SELECT * FROM `links` WHERE `remote_hostname` = ' $remote_hostname ' AND `local_interface_id` = ' $local_interface_id '
2010-02-15 23:56:30 +00:00
AND `protocol` = '$protocol' AND `remote_port` = '$remote_port' " ));
2010-03-11 19:09:19 +00:00
if ( $data [ 'remote_interface_id' ] == $remote_interface_id && $data [ 'remote_platform' ] == $remote_platform && $remote_version == $remote_version )
{
echo ( " . " );
}
else
{
$sql = " UPDATE `links` SET `remote_interface_id` = $remote_interface_id , `remote_platform` = ' $remote_platform ', `remote_version` = ' $remote_version ' WHERE `id` = ' " . $data [ 'id' ] . " ' " ;
mysql_query ( $sql );
echo ( " U " ); if ( $debug ) { echo ( " $sql " );}
}
}
$link_exists [ $local_interface_id ][ $remote_hostname ][ $remote_port ] = 1 ;
2010-02-15 23:56:30 +00:00
}
2010-06-17 10:14:53 +00:00
function discover_storage ( & $valid , $device , $index , $type , $mib , $descr , $size , $units , $used = NULL )
2010-03-11 19:09:19 +00:00
{
global $config , $debug ;
if ( $debug ) { echo ( " $device , $index , $type , $mib , $descr , $units , $used , $size\n " ); }
if ( $descr && $size > " 0 " )
{
if ( mysql_result ( mysql_query ( " SELECT count(storage_id) FROM `storage` WHERE `storage_index` = ' $index ' AND `device_id` = ' " . $device [ 'device_id' ] . " ' AND `storage_mib` = ' $mib ' " ), 0 ) == '0' )
{
$query = " INSERT INTO storage (`device_id`, `storage_descr`, `storage_index`, `storage_mib`, `storage_type`, `storage_units`,`storage_size`,`storage_used`)
2010-02-24 13:46:12 +00:00
values ( '".$device[' device_id ']."' , '$descr' , '$index' , '$mib' , '$type' , '$units' , '$size' , '$used' ) " ;
2010-03-11 19:09:19 +00:00
mysql_query ( $query );
if ( $debug ) { print $query . " \n " ; mysql_error (); }
echo ( " + " );
}
else
{
echo ( " . " );
$query = " UPDATE `storage` SET `storage_descr` = ' " . $descr . " ', `storage_type` = ' " . $type . " ', `storage_units` = ' " . $units . " ', `storage_size` = ' " . $size . " '
2010-02-24 13:46:12 +00:00
WHERE `device_id` = '".$device[' device_id ']."' AND `storage_index` = '".$index."' AND `storage_mib` = '".$mib."' " ;
2010-03-11 19:09:19 +00:00
mysql_query ( $query );
if ( $debug ) { print $query . " \n " ; }
}
2010-06-17 10:14:53 +00:00
$valid [ $mib ][ $index ] = 1 ;
2010-03-11 19:09:19 +00:00
}
2010-02-24 13:46:12 +00:00
}
2010-06-17 10:14:53 +00:00
function discover_processor ( & $valid , $device , $oid , $index , $type , $descr , $precision = " 1 " , $current = NULL , $entPhysicalIndex = NULL , $hrDeviceIndex = NULL )
2010-03-11 19:09:19 +00:00
{
global $config , $debug ;
if ( $debug ) { echo ( " $device , $oid , $index , $type , $descr , $precision , $current , $entPhysicalIndex , $hrDeviceIndex\n " ); }
if ( $descr )
{
$descr = str_replace ( " \" " , " " , $descr );
if ( mysql_result ( mysql_query ( " SELECT count(processor_id) FROM `processors` WHERE `processor_index` = ' $index ' AND `device_id` = ' " . $device [ 'device_id' ] . " ' AND `processor_type` = ' $type ' " ), 0 ) == '0' )
{
$query = " INSERT INTO processors (`entPhysicalIndex`, `hrDeviceIndex`, `device_id`, `processor_descr`, `processor_index`, `processor_oid`, `processor_usage`, `processor_type`, `processor_precision`)
2010-02-21 02:44:00 +00:00
values ( '$entPhysicalIndex' , '$hrDeviceIndex' , '".$device[' device_id ']."' , '$descr' , '$index' , '$oid' , '$current' , '$type' , '$precision' ) " ;
2010-03-11 19:09:19 +00:00
mysql_query ( $query );
if ( $debug ) { print $query . " \n " ; }
echo ( " + " );
}
else
{
echo ( " . " );
2010-07-09 14:04:05 +00:00
$query = " UPDATE `processors` SET `processor_descr` = ' " . $descr . " ', `processor_oid` = ' " . $oid . " ', `processor_precision` = ' " . $precision . " '
2010-02-21 01:35:13 +00:00
WHERE `device_id` = '".$device[' device_id ']."' AND `processor_index` = '".$index."' AND `processor_type` = '".$type."' " ;
2010-03-11 19:09:19 +00:00
mysql_query ( $query );
if ( $debug ) { print $query . " \n " ; }
}
2010-02-15 23:56:30 +00:00
2010-06-17 10:14:53 +00:00
$valid [ $type ][ $index ] = 1 ;
2010-03-11 19:09:19 +00:00
}
}
2010-02-22 00:57:13 +00:00
2010-06-17 10:14:53 +00:00
function discover_mempool ( & $valid , $device , $index , $type , $descr , $precision = " 1 " , $entPhysicalIndex = NULL , $hrDeviceIndex = NULL )
2010-03-11 19:09:19 +00:00
{
global $config , $debug ;
if ( $debug ) { echo ( " $device , $oid , $index , $type , $descr , $precision , $current , $entPhysicalIndex , $hrDeviceIndex\n " ); }
if ( $descr )
{
if ( mysql_result ( mysql_query ( " SELECT count(mempool_id) FROM `mempools` WHERE `mempool_index` = ' $index ' AND `device_id` = ' " . $device [ 'device_id' ] . " ' AND `mempool_type` = ' $type ' " ), 0 ) == '0' )
{
$query = " INSERT INTO mempools (`entPhysicalIndex`, `hrDeviceIndex`, `device_id`, `mempool_descr`, `mempool_index`, `mempool_type`, `mempool_precision`)
2010-02-22 00:57:13 +00:00
values ( '$entPhysicalIndex' , '$hrDeviceIndex' , '".$device[' device_id ']."' , '$descr' , '$index' , '$type' , '$precision' ) " ;
2010-03-11 02:53:17 +00:00
mysql_query ( $query );
2010-03-11 19:09:19 +00:00
if ( $debug ) { print $query . " \n " ; }
echo ( " + " );
}
else
{
echo ( " . " );
# entry = mysql_fetch_assoc(mysql_query());
2010-03-26 18:34:21 +00:00
$query = " UPDATE `mempools` SET `mempool_descr` = ' " . $descr . " ', `entPhysicalIndex` = ' " . $entPhysicalIndex . " ' " ;
2010-03-26 18:30:27 +00:00
$query .= " , `hrDeviceIndex` = ' $hrDeviceIndex ' " ;
$query .= " WHERE `device_id` = ' " . $device [ 'device_id' ] . " ' AND `mempool_index` = ' " . $index . " ' AND `mempool_type` = ' " . $type . " ' " ;
2010-03-11 19:09:19 +00:00
mysql_query ( $query );
if ( $debug ) { print $query . " \n " ; }
}
2010-06-17 10:14:53 +00:00
$valid [ $type ][ $index ] = 1 ;
2010-03-11 19:09:19 +00:00
}
2010-02-22 00:57:13 +00:00
}
2010-06-17 14:26:30 +00:00
function discover_toner ( & $valid , $device , $oid , $index , $type , $descr , $capacity = NULL , $current = NULL )
2010-03-11 19:09:19 +00:00
{
global $config , $debug ;
if ( $debug ) { echo ( " $oid , $index , $type , $descr , $capacity\n " ); }
2010-02-15 05:07:18 +00:00
2010-03-11 19:09:19 +00:00
if ( mysql_result ( mysql_query ( " SELECT count(toner_id) FROM `toner` WHERE device_id = ' " . $device [ 'device_id' ] . " ' AND toner_type = ' $type ' AND `toner_index` = ' $index ' " ), 0 ) == '0' )
{
$query = " INSERT INTO toner (`device_id`, `toner_oid`, `toner_index`, `toner_type`, `toner_descr`, `toner_capacity`, `toner_current`) " ;
$query .= " VALUES (' " . $device [ 'device_id' ] . " ', ' $oid ', ' $index ', ' $type ', ' $descr ', ' $capacity ', ' $current ') " ;
mysql_query ( $query );
echo ( " + " );
}
else
{
$toner_entry = mysql_fetch_array ( mysql_query ( " SELECT * FROM `toner` WHERE device_id = ' " . $device [ 'device_id' ] . " ' AND toner_type = ' $type ' AND `toner_index` = ' $index ' " ));
if ( $oid == $toner_entry [ 'toner_oid' ] && $descr == $toner_entry [ 'toner_descr' ] && $capacity == $toner_entry [ 'toner_capacity' ])
{
echo ( " . " );
}
else
{
2010-04-17 19:35:48 +00:00
mysql_query ( " UPDATE toner SET `toner_descr` = ' $descr ', `toner_oid` = ' $oid ', `toner_capacity` = ' $capacity ' WHERE `device_id` = ' " . $device [ 'device_id' ] . " ' AND toner_type = ' $type ' AND `toner_index` = ' $index ' " );
2010-03-11 19:09:19 +00:00
echo ( " U " );
}
}
2010-06-17 14:26:30 +00:00
$valid [ $type ][ $index ] = 1 ;
2010-03-11 19:09:19 +00:00
return $return ;
}
2010-02-15 01:26:50 +00:00
?>