Files
librenms-librenms/includes/polling/storage.inc.php

46 lines
1.4 KiB
PHP
Raw Normal View History

<?php
use LibreNMS\RRD\RrdDefinition;
2015-07-13 20:10:26 +02:00
foreach (dbFetchRows('SELECT * FROM storage WHERE device_id = ?', array($device['device_id'])) as $storage) {
$descr = $storage['storage_descr'];
$mib = $storage['storage_mib'];
2015-07-13 20:10:26 +02:00
echo 'Storage '. $descr .': ' . $mib . "\n\n\n\n";
2015-07-13 20:10:26 +02:00
$rrd_name = array('storage', $mib, $descr);
$rrd_def = RrdDefinition::make()
->addDataset('used', 'GAUGE', 0)
->addDataset('free', 'GAUGE', 0);
2015-07-13 20:10:26 +02:00
$file = \LibreNMS\Config::get('install_dir') . '/includes/polling/storage/' . $mib . '.inc.php';
2015-07-13 20:10:26 +02:00
if (is_file($file)) {
include $file;
}
d_echo($storage);
2015-07-13 20:10:26 +02:00
if ($storage['size']) {
$percent = round(($storage['used'] / $storage['size'] * 100));
} else {
2015-07-13 20:10:26 +02:00
$percent = 0;
}
echo $percent.'% ';
$fields = array(
'used' => $storage['used'],
'free' => $storage['free'],
);
$tags = compact('mib', 'descr', 'rrd_name', 'rrd_def');
data_update($device, 'storage', $tags, $fields);
2015-08-19 20:58:02 +00:00
// NOTE: casting to string for mysqli bug (fixed by mysqlnd)
$update = dbUpdate(array('storage_used' => (string)$storage['used'], 'storage_free' => (string)$storage['free'], 'storage_size' => (string)$storage['size'], 'storage_units' => $storage['units'], 'storage_perc' => $percent), 'storage', '`storage_id` = ?', array($storage['storage_id']));
2015-07-13 20:10:26 +02:00
echo "\n";
}//end foreach
unset($storage);