mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
59 lines
1.8 KiB
PHP
59 lines
1.8 KiB
PHP
<?php
|
|
|
|
foreach (dbFetchRows('SELECT * FROM mempools WHERE device_id = ?', array($device['device_id'])) as $mempool) {
|
|
echo 'Mempool '.$mempool['mempool_descr'].': ';
|
|
|
|
$mempool_rrd = $config['rrd_dir'].'/'.$device['hostname'].'/'.safename('mempool-'.$mempool['mempool_type'].'-'.$mempool['mempool_index'].'.rrd');
|
|
|
|
$file = $config['install_dir'].'/includes/polling/mempools/'.$mempool['mempool_type'].'.inc.php';
|
|
if (is_file($file)) {
|
|
include $file;
|
|
}
|
|
else {
|
|
// FIXME Do we need a generic mempool poller?
|
|
}
|
|
|
|
if ($mempool['total']) {
|
|
$percent = round(($mempool['used'] / $mempool['total'] * 100), 2);
|
|
}
|
|
else {
|
|
$percent = 0;
|
|
}
|
|
|
|
echo $percent.'% ';
|
|
|
|
if (!is_file($mempool_rrd)) {
|
|
rrdtool_create($mempool_rrd, '--step 300 DS:used:GAUGE:600:0:U DS:free:GAUGE:600:0:U '.$config['rrd_rra']);
|
|
}
|
|
|
|
$fields = array(
|
|
'used' => $mempool['used'],
|
|
'free' => $mempool['free'],
|
|
);
|
|
rrdtool_update($mempool_rrd, $fields);
|
|
|
|
$tags = array('mempool_type' => $mempool['mempool_type'], 'mempool_index' => $mempool['mempool_index']);
|
|
influx_update($device,'mempool',$tags,$fields);
|
|
|
|
$mempool['state'] = array(
|
|
'mempool_used' => $mempool['used'],
|
|
'mempool_perc' => $percent,
|
|
'mempool_free' => $mempool['free'],
|
|
'mempool_total' => $mempool['total'],
|
|
);
|
|
|
|
if (!empty($mempool['largestfree'])) {
|
|
$mempool['state']['mempool_largestfree'] = $mempool['largestfree'];
|
|
}
|
|
|
|
if (!empty($mempool['lowestfree'])) {
|
|
$mempool['state']['mempool_lowestfree'] = $mempool['lowestfree'];
|
|
}
|
|
|
|
dbUpdate($mempool['state'], 'mempools', '`mempool_id` = ?', array($mempool['mempool_id']));
|
|
|
|
echo "\n";
|
|
}//end foreach
|
|
|
|
unset($mempool_cache);
|