Files

56 lines
1.6 KiB
PHP
Raw Permalink Normal View History

<?php
use LibreNMS\RRD\RrdDefinition;
2020-09-21 15:43:38 +02:00
foreach (dbFetchRows('SELECT * FROM mempools WHERE device_id = ?', [$device['device_id']]) as $mempool) {
echo 'Mempool ' . $mempool['mempool_descr'] . ': ';
2015-07-13 20:10:26 +02:00
$mempool_type = $mempool['mempool_type'];
$mempool_index = $mempool['mempool_index'];
2015-07-13 20:10:26 +02:00
2019-06-23 00:29:12 -05:00
$file = \LibreNMS\Config::get('install_dir') . '/includes/polling/mempools/' . $mempool_type . '.inc.php';
2015-07-13 20:10:26 +02:00
if (is_file($file)) {
include $file;
}
if ($mempool['total']) {
$percent = round(($mempool['used'] / $mempool['total'] * 100), 2);
} else {
2015-07-13 20:10:26 +02:00
$percent = 0;
}
2020-09-21 15:43:38 +02:00
echo $percent . '% ';
2015-07-13 20:10:26 +02:00
2020-09-21 15:43:38 +02:00
$rrd_name = ['mempool', $mempool_type, $mempool_index];
$rrd_def = RrdDefinition::make()
->addDataset('used', 'GAUGE', 0)
->addDataset('free', 'GAUGE', 0);
2015-07-13 20:10:26 +02:00
2020-09-21 15:43:38 +02:00
$fields = [
'used' => $mempool['used'],
'free' => $mempool['free'],
2020-09-21 15:43:38 +02:00
];
2015-07-13 20:10:26 +02:00
$tags = compact('mempool_type', 'mempool_index', 'rrd_name', 'rrd_def');
data_update($device, 'mempool', $tags, $fields);
2015-08-19 20:58:02 +00:00
2020-09-21 15:43:38 +02:00
$mempool['state'] = [
'mempool_used' => $mempool['used'],
'mempool_perc' => $percent,
'mempool_free' => $mempool['free'],
'mempool_total' => $mempool['total'],
];
2015-07-13 20:10:26 +02:00
2020-09-21 15:43:38 +02:00
if (! empty($mempool['largestfree'])) {
$mempool['state']['mempool_largestfree'] = set_numeric($mempool['largestfree']);
2015-07-13 20:10:26 +02:00
}
2020-09-21 15:43:38 +02:00
if (! empty($mempool['lowestfree'])) {
$mempool['state']['mempool_lowestfree'] = set_numeric($mempool['lowestfree']);
2015-07-13 20:10:26 +02:00
}
2020-09-21 15:43:38 +02:00
dbUpdate($mempool['state'], 'mempools', '`mempool_id` = ?', [$mempool['mempool_id']]);
2015-07-13 20:10:26 +02:00
echo "\n";
}//end foreach