Files
librenms-librenms/includes/discovery/ucd-diskio.inc.php

40 lines
1.5 KiB
PHP
Raw Normal View History

<?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) {
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 ");
} 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
// 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'] . "'";
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");
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
}
}
unset($valid_diskio);
2015-07-13 20:10:26 +02:00
echo "\n";