2010-02-24 14:11:51 +00:00
|
|
|
<?php
|
|
|
|
|
|
2017-02-23 22:45:50 +00:00
|
|
|
use LibreNMS\RRD\RrdDefinition;
|
2022-08-24 14:01:54 -05:00
|
|
|
use LibreNMS\Util\Number;
|
2017-02-23 22:45:50 +00:00
|
|
|
|
2022-10-19 00:34:19 +02:00
|
|
|
$storage_cache = $storage_cache ?? [];
|
2011-05-16 20:33:51 +00:00
|
|
|
foreach (dbFetchRows('SELECT * FROM storage WHERE device_id = ?', [$device['device_id']]) as $storage) {
|
2016-07-07 01:33:43 -05:00
|
|
|
$descr = $storage['storage_descr'];
|
|
|
|
|
$mib = $storage['storage_mib'];
|
2015-07-13 20:10:26 +02:00
|
|
|
|
2017-02-23 23:01:56 +00:00
|
|
|
echo 'Storage ' . $descr . ': ' . $mib . "\n\n\n\n";
|
2015-07-13 20:10:26 +02:00
|
|
|
|
2016-07-07 01:33:43 -05:00
|
|
|
$rrd_name = ['storage', $mib, $descr];
|
2017-02-23 22:45:50 +00:00
|
|
|
$rrd_def = RrdDefinition::make()
|
|
|
|
|
->addDataset('used', 'GAUGE', 0)
|
|
|
|
|
->addDataset('free', 'GAUGE', 0);
|
2015-07-13 20:10:26 +02:00
|
|
|
|
2019-06-23 00:29:12 -05:00
|
|
|
$file = \LibreNMS\Config::get('install_dir') . '/includes/polling/storage/' . $mib . '.inc.php';
|
2011-03-16 01:11:27 +00:00
|
|
|
if (is_file($file)) {
|
2010-02-24 14:11:51 +00:00
|
|
|
include $file;
|
|
|
|
|
}
|
2015-07-13 20:10:26 +02:00
|
|
|
|
2015-08-20 15:02:40 +02:00
|
|
|
d_echo($storage);
|
2015-07-13 20:10:26 +02:00
|
|
|
|
2022-08-24 14:01:54 -05:00
|
|
|
$percent = Number::calculatePercent($storage['used'], $storage['size'], 0);
|
2010-02-24 14:11:51 +00:00
|
|
|
echo $percent . '% ';
|
2015-07-13 20:10:26 +02:00
|
|
|
|
2015-08-18 16:26:55 +00:00
|
|
|
$fields = [
|
2024-01-05 05:39:12 +01:00
|
|
|
'used' => $storage['used'],
|
|
|
|
|
'free' => $storage['free'],
|
2015-08-18 16:26:55 +00:00
|
|
|
];
|
|
|
|
|
|
2016-07-07 01:33:43 -05:00
|
|
|
$tags = compact('mib', 'descr', 'rrd_name', 'rrd_def');
|
|
|
|
|
data_update($device, 'storage', $tags, $fields);
|
2015-08-19 20:58:02 +00:00
|
|
|
|
2018-08-20 17:58:26 -05:00
|
|
|
// NOTE: casting to string for mysqli bug (fixed by mysqlnd)
|
2021-10-23 11:26:41 -05:00
|
|
|
$update = dbUpdate(['storage_used' => (string) $storage['used'], 'storage_free' => (string) $storage['free'], 'storage_size' => (string) $storage['size'], 'storage_units' => (int) $storage['units'], 'storage_perc' => (int) $percent], 'storage', '`storage_id` = ?', [$storage['storage_id']]);
|
2015-07-13 20:10:26 +02:00
|
|
|
|
2010-08-05 23:00:35 +00:00
|
|
|
echo "\n";
|
2010-02-24 14:11:51 +00:00
|
|
|
}//end foreach
|
|
|
|
|
|
2022-08-21 16:23:43 -05:00
|
|
|
unset($storage, $storage_cache);
|