2010-06-19 16:06:57 +00:00
< ? php
2016-09-28 08:19:28 -05:00
$diskio_array = snmpwalk_cache_oid ( $device , 'diskIOEntry' , array (), 'UCD-DISKIO-MIB' );
2010-12-26 21:57:21 +00:00
$valid_diskio = array ();
2015-07-13 20:10:26 +02:00
if ( is_array ( $diskio_array )) {
foreach ( $diskio_array as $index => $entry ) {
2018-06-05 09:28:13 +00:00
if (( $entry [ 'diskIONRead' ] > '0' || $entry [ 'diskIONWritten' ] > '0' ) && is_disk_valid ( $entry , $device ) === true ) {
2015-08-20 15:59:43 +02:00
d_echo ( " $index " . $entry [ 'diskIODevice' ] . " \n " );
2015-07-13 20:10:26 +02:00
2017-03-28 07:42:56 +01:00
if ( dbFetchCell ( 'SELECT COUNT(*) FROM `ucd_diskio` WHERE `device_id` = ? AND `diskio_index` = ? and `diskio_descr` = ?' , array ( $device [ 'device_id' ], $index , $entry [ 'diskIODevice' ])) == '0' ) {
2015-07-13 20:10:26 +02:00
$inserted = dbInsert ( array ( 'device_id' => $device [ 'device_id' ], 'diskio_index' => $index , 'diskio_descr' => $entry [ 'diskIODevice' ]), 'ucd_diskio' );
echo '+' ;
2015-08-20 15:59:43 +02:00
d_echo ( $sql . " - $inserted inserted " );
2016-08-28 12:32:58 -05:00
} else {
2015-07-13 20:10:26 +02:00
echo '.' ;
// FIXME Need update code here!
}
2017-03-28 07:42:56 +01:00
$valid_diskio [ $index ] = $entry [ 'diskIODevice' ];
2015-07-13 20:10:26 +02:00
} //end if
} //end foreach
} //end if
2010-06-19 16:06:57 +00:00
2012-05-25 12:24:34 +00:00
// Remove diskio entries which weren't redetected here
2010-12-26 21:57:21 +00:00
$sql = " SELECT * FROM `ucd_diskio` where `device_id` = ' " . $device [ 'device_id' ] . " ' " ;
2010-06-19 16:06:57 +00:00
2015-08-20 15:59:43 +02:00
d_echo ( $valid_diskio );
2015-07-13 20:10:26 +02:00
foreach ( dbFetchRows ( $sql ) as $test ) {
2015-08-20 15:59:43 +02:00
d_echo ( $test [ 'diskio_index' ] . ' -> ' . $test [ 'diskio_descr' ] . " \n " );
2010-06-19 16:06:57 +00:00
2017-03-28 07:42:56 +01:00
if ( $valid_diskio [ $test [ 'diskio_index' ]] !== $test [ 'diskio_descr' ]) {
2015-07-13 20:10:26 +02:00
echo '-' ;
dbDelete ( 'ucd_diskio' , '`diskio_id` = ?' , array ( $test [ 'diskio_id' ]));
}
2010-12-26 21:57:21 +00:00
}
2010-06-19 16:06:57 +00:00
2010-12-26 21:57:21 +00:00
unset ( $valid_diskio );
2015-07-13 20:10:26 +02:00
echo " \n " ;