librenms/includes/polling/storage.inc.php
Adam Amstrong 59521d8778 more db*
git-svn-id: http://www.observium.org/svn/observer/trunk@2337 61d68cd4-352d-0410-923a-c4978735b2b8
2011-05-16 20:33:51 +00:00

62 lines
1.6 KiB
PHP
Executable File

<?php
$storage_cache = array();
foreach (dbFetchRows("SELECT * FROM storage WHERE device_id = ?", array($device['device_id'])) as $storage)
{
echo("Storage ".$storage['storage_descr'] . ": ");
$storage_rrd = $config['rrd_dir'] . "/" . $device['hostname'] . "/" . safename("storage-" . $storage['storage_mib'] . "-" . safename($storage['storage_descr']) . ".rrd");
if (!is_file($storage_rrd))
{
rrdtool_create($storage_rrd, "--step 300 \
DS:used:GAUGE:600:0:U \
DS:free:GAUGE:600:0:U \
RRA:AVERAGE:0.5:1:600 \
RRA:AVERAGE:0.5:6:700 \
RRA:AVERAGE:0.5:24:775 \
RRA:AVERAGE:0.5:288:797 \
RRA:MIN:0.5:1:600 \
RRA:MIN:0.5:6:700 \
RRA:MIN:0.5:24:775 \
RRA:MIN:0.5:288:797 \
RRA:MAX:0.5:1:600 \
RRA:MAX:0.5:6:700 \
RRA:MAX:0.5:24:775 \
RRA:MAX:0.5:288:797");
}
$file = $config['install_dir']."/includes/polling/storage-".$storage['storage_mib'].".inc.php";
if (is_file($file))
{
include($file);
} else {
### Generic poller goes here if we ever have a discovery module which uses it.
}
if ($debug) {print_r($storage); }
if ($storage['size'])
{
$percent = round($storage['used'] / $storage['size'] * 100);
}
else
{
$percent = 0;
}
echo($percent."% ");
rrdtool_update($storage_rrd,"N:".$storage['used'].":".$storage['free']);
$update = dbUpdate(array('storage_used' => $storage['used'], 'storage_free' => $storage['free'], 'storage_size' => $storage['size'], 'storage_units' => $storage['units'], 'storage_perc' => $percent),
'storage', '`storage_id` = ?', array($storage['storage_id']));
echo("\n");
}
unset($storage);
?>