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

53 lines
1.5 KiB
PHP
Raw Normal View History

<?php
echo("UCD Disk IO : ");
$diskio_array = snmpwalk_cache_oid($device, "diskIOEntry", array(), "UCD-DISKIO-MIB" , "+".$config['install_dir']."/mibs/");
$valid_diskio = array();
# if ($debug) { print_r($diskio_array); }
if (is_array($diskio_array))
{
foreach ($diskio_array as $index => $entry)
{
if ($entry['diskIONRead'] > "0" || $entry['diskIONWritten'] > "0")
{
if ($debug) { echo("$index ".$entry['diskIODevice']."\n"); }
2014-01-13 17:43:58 +00:00
if (dbFetchCell("SELECT COUNT(*) FROM `ucd_diskio` WHERE `device_id` = ? AND `diskio_index` = ?",array($device['device_id'], $index)) == "0")
{
2014-06-10 21:21:10 +00:00
$inserted = dbInsert(array('device_id' => $device['device_id'], 'diskio_index' => $index, 'diskio_descr' => $entry['diskIODevice']), 'ucd_diskio');
2014-01-13 17:43:58 +00:00
echo("+");
if ($debug) { echo($sql . " - $inserted inserted "); }
}
else
{
echo(".");
// FIXME Need update code here!
}
$valid_diskio[$index] = 1;
} // end validity check
} // end array foreach
} // End array if
// Remove diskio entries which weren't redetected here
$sql = "SELECT * FROM `ucd_diskio` where `device_id` = '".$device['device_id']."'";
if ($debug) { print_r ($valid_diskio); }
2014-01-13 17:43:58 +00:00
foreach (dbFetchRows($sql) as $test)
{
if ($debug) { echo($test['diskio_index'] . " -> " . $test['diskio_descr'] . "\n"); }
if (!$valid_diskio[$test['diskio_index']])
{
echo("-");
2014-01-13 17:43:58 +00:00
dbDelete('ucd_diskio', '`diskio_id` = ?', array($test['diskio_id']));
}
}
unset($valid_diskio);
echo("\n");
?>