2010-06-19 16:06:57 +00:00
< ? php
2020-09-21 15:40:17 +02:00
$diskio_array = snmpwalk_cache_oid ( $device , 'diskIOEntry' , [], 'UCD-DISKIO-MIB' );
$valid_diskio = [];
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 ) {
2020-09-21 15:40:17 +02:00
d_echo ( " $index " . $entry [ 'diskIODevice' ] . " \n " );
2015-07-13 20:10:26 +02:00
2020-09-21 15:40:17 +02:00
if ( dbFetchCell ( 'SELECT COUNT(*) FROM `ucd_diskio` WHERE `device_id` = ? AND `diskio_index` = ? and `diskio_descr` = ?' , [ $device [ 'device_id' ], $index , $entry [ 'diskIODevice' ]]) == '0' ) {
$inserted = dbInsert ([ 'device_id' => $device [ 'device_id' ], 'diskio_index' => $index , 'diskio_descr' => $entry [ 'diskIODevice' ]], 'ucd_diskio' );
2015-07-13 20:10:26 +02:00
echo '+' ;
2020-09-21 15:40:17 +02:00
d_echo ( $sql . " - $inserted inserted " );
2016-08-28 12:32:58 -05:00
} else {
2020-09-21 15:40:17 +02:00
echo '.' ;
// FIXME Need update code here!
2015-07-13 20:10:26 +02:00
}
2020-09-21 15:40:17 +02: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
2020-09-21 15:40:17 +02: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 ) {
2020-09-21 15:40:17 +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 '-' ;
2020-09-21 15:40:17 +02:00
dbDelete ( 'ucd_diskio' , '`diskio_id` = ?' , [ $test [ 'diskio_id' ]]);
2015-07-13 20:10:26 +02:00
}
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 " ;