Skeleton framework for allowing MIB values to feed CPU & memory health graphs

This commit is contained in:
Paul Gear
2015-07-01 08:14:23 +10:00
parent c3a953c434
commit b8601b5896
4 changed files with 69 additions and 9 deletions

View File

@ -57,7 +57,11 @@ if (device_permitted($vars['device']) || $check_device == $vars['device']) {
</a>
</li>';
$health = (dbFetchCell("SELECT COUNT(*) FROM storage WHERE device_id = '".$device['device_id']."'") + dbFetchCell("SELECT COUNT(sensor_id) FROM sensors WHERE device_id = '".$device['device_id']."'") + dbFetchCell("SELECT COUNT(*) FROM mempools WHERE device_id = '".$device['device_id']."'") + dbFetchCell("SELECT COUNT(*) FROM processors WHERE device_id = '".$device['device_id']."'"));
$health = dbFetchCell("SELECT COUNT(*) FROM storage WHERE device_id = '" . $device['device_id'] . "'") +
dbFetchCell("SELECT COUNT(sensor_id) FROM sensors WHERE device_id = '" . $device['device_id'] . "'") +
dbFetchCell("SELECT COUNT(*) FROM mempools WHERE device_id = '" . $device['device_id'] . "'") +
dbFetchCell("SELECT COUNT(*) FROM processors WHERE device_id = '" . $device['device_id'] . "'") +
count_mib_health($device);
if ($health) {
echo '<li class="'.$select['health'].'">

View File

@ -22,11 +22,7 @@ foreach (dbFetchRows('SELECT * FROM device_graphs WHERE device_id = ? ORDER BY g
}
}
// These are standard graphs we should have for all systems
$graph_enable['poller']['poller_perf'] = 'device_poller_perf';
if (can_ping_device($attribs) === true) {
$graph_enable['poller']['ping_perf'] = 'device_ping_perf';
}
enable_graphs($device, $graph_enable);
$sep = '';
foreach ($graph_enable as $section => $nothing) {
@ -56,7 +52,6 @@ print_optionbar_end();
$graph_enable = $graph_enable[$vars['group']];
// foreach ($config['graph_types']['device'] as $graph => $entry)
foreach ($graph_enable as $graph => $entry) {
$graph_array = array();
if ($graph_enable[$graph]) {

View File

@ -2,8 +2,8 @@
$storage = dbFetchCell('select count(*) from storage WHERE device_id = ?', array($device['device_id']));
$diskio = dbFetchCell('select count(*) from ucd_diskio WHERE device_id = ?', array($device['device_id']));
$mempools = dbFetchCell('select count(*) from mempools WHERE device_id = ?', array($device['device_id']));
$processor = dbFetchCell('select count(*) from processors WHERE device_id = ?', array($device['device_id']));
$mempools = dbFetchCell('select count(*) from mempools WHERE device_id = ?', array($device['device_id'])) + count_mib_mempools($device);
$processor = dbFetchCell('select count(*) from processors WHERE device_id = ?', array($device['device_id'])) + count_mib_processors($device);
$charge = dbFetchCell("select count(*) from sensors WHERE sensor_class='charge' AND device_id = ?", array($device['device_id']));
$temperatures = dbFetchCell("select count(*) from sensors WHERE sensor_class='temperature' AND device_id = ?", array($device['device_id']));

View File

@ -739,6 +739,67 @@ function round_Nth($val = 0, $round_to) {
}
} // end round_Nth
function count_mib_mempools($device)
{
if ($device['os'] == 'ruckuswireless') {
return 1;
}
return 0;
}
function count_mib_processors($device)
{
if ($device['os'] == 'ruckuswireless') {
return 1;
}
return 0;
}
function count_mib_health($device)
{
return count_mib_mempools($device) + count_mib_processors($device);
}
/*
* @return true if there is a custom graph defined for this type, subtype, and device
*/
function is_custom_graph($type, $subtype, $device)
{
if ($device['os'] == 'ruckuswireless' && $type == 'device') {
switch ($subtype) {
case 'cpumem':
case 'mempool':
case 'processor':
return true;
}
}
return false;
}
/*
* Set section/graph entries in $graph_enable for graphs specific to $os.
*/
function enable_os_graphs($os, &$graph_enable)
{
/*
foreach (dbFetchRows("SELECT * FROM graph_conditions WHERE graph_type = 'device' AND condition_name = 'os' AND condition_value = ?", array($os)) as $graph) {
$graph_enable[$graph['graph_section']][$graph['graph_subtype']] = "device_".$graph['graph_subtype'];
}
*/
}
/*
* For each os-based or global graph relevant to $device, set its section/graph entry in $graph_enable.
*/
function enable_graphs($device, &$graph_enable)
{
// These are standard graphs we should have for all systems
$graph_enable['poller']['poller_perf'] = 'device_poller_perf';
$graph_enable['poller']['ping_perf'] = 'device_ping_perf';
enable_os_graphs($device['os'], $graph_enable);
}
/**
* Checks if config allows us to ping this device
* $attribs contains an array of all of this devices