306 lines
17 KiB
PHP
306 lines
17 KiB
PHP
<?php
|
|
/**
|
|
* Observium
|
|
*
|
|
* This file is part of Observium.
|
|
*
|
|
* @package observium
|
|
* @subpackage web
|
|
* @copyright (C) Adam Armstrong
|
|
*
|
|
*/
|
|
|
|
// Included in: html/pages/front/default.php, html/includes/panels/default.php
|
|
|
|
if ($cache['devices']['stat']['down']) {
|
|
$cache['devices']['stat']['class'] = "error";
|
|
} else {
|
|
$cache['devices']['stat']['class'] = "";
|
|
}
|
|
if ($cache['ports']['stat']['down']) {
|
|
$ports_class = "error";
|
|
} else {
|
|
$ports_class = "";
|
|
}
|
|
|
|
?>
|
|
|
|
<div class="<?php echo($div_class); ?>" style="margin-bottom: 10px;">
|
|
<div class="box box-solid">
|
|
<table class="table table-condensed-more table-striped">
|
|
<thead>
|
|
<tr>
|
|
<th class="state-marker"></th>
|
|
<th></th>
|
|
<th style="width: 10%">Total</th>
|
|
<th style="width: 14%">Up</th>
|
|
<th style="width: 14%">Alert</th>
|
|
<th style="width: 20%">Ignored (Dev)</th>
|
|
<th style="width: 20%">Disabled / Shut</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr class="<?php echo($cache['devices']['stat']['class']); ?>">
|
|
<td class="state-marker"></td>
|
|
<td><strong><a href="<?php echo(generate_url(['page' => 'devices'])); ?>">Devices</a></strong></td>
|
|
<td><a href="<?php echo(generate_url(['page' => 'devices'])); ?>"><?php echo($cache['devices']['stat']['count']) ?></a></td>
|
|
<td><a class="green"
|
|
href="<?php echo(generate_url(['page' => 'devices', 'status' => '1'])); ?>"><?php echo($cache['devices']['stat']['up']) ?> up</a>
|
|
</td>
|
|
<td><a class="red"
|
|
href="<?php echo(generate_url(['page' => 'devices', 'status' => '0', 'ignore' => '0'])); ?>"><?php echo($cache['devices']['stat']['down']) ?>
|
|
down</a></td>
|
|
<td><a class="black"
|
|
href="<?php echo(generate_url(['page' => 'devices', 'ignore' => '1'])); ?>"><?php echo($cache['devices']['stat']['ignored']) ?>
|
|
ignored</a></td>
|
|
<td><a class="grey"
|
|
href="<?php echo(generate_url(['page' => 'devices', 'disabled' => '1'])); ?>"><?php echo($cache['devices']['stat']['disabled']) ?>
|
|
disabled</a></td>
|
|
</tr>
|
|
<tr class="<?php echo($ports_class) ?>">
|
|
<td class="state-marker"></td>
|
|
<td><strong><a href="<?php echo(generate_url(['page' => 'ports'])); ?>">Ports</a></strong></td>
|
|
<td><a href="<?php echo(generate_url(['page' => 'ports', 'ignore' => '0'])); ?>"><?php echo($cache['ports']['stat']['count']) ?></a></td>
|
|
<td><a class="green"
|
|
href="<?php echo(generate_url(['page' => 'ports', 'state' => 'up', 'ignore' => '0'])); ?>"><?php echo($cache['ports']['stat']['up']) ?>
|
|
up</a></td>
|
|
<td><a class="red"
|
|
href="<?php echo(generate_url(['page' => 'ports', 'state' => 'down', 'ignore' => '0'])); ?>"><?php echo($cache['ports']['stat']['down']) ?>
|
|
down</a></td>
|
|
<td><a class="black"
|
|
href="<?php echo(generate_url(['page' => 'ports', 'ignore' => '1'])); ?>"><?php echo($cache['ports']['stat']['ignored']); ?>
|
|
(<?php echo($cache['ports']['stat']['device_ignored']) ?>) ignored</a></td>
|
|
<td><a class="grey"
|
|
href="<?php echo(generate_url(['page' => 'ports', 'state' => 'admindown', 'ignore' => '0'])); ?>"><?php echo($cache['ports']['stat']['shutdown']) ?>
|
|
shutdown</a></td>
|
|
</tr>
|
|
<?php
|
|
// Sensors
|
|
if ($cache['sensors']['stat']['count']) {
|
|
if ($cache['sensors']['stat']['alert']) {
|
|
$cache['sensors']['stat']['class'] = "error";
|
|
$alert_msg = $cache['sensors']['stat']['alert'] . ' alerts';
|
|
if ($cache['sensors']['stat']['warning']) {
|
|
$alert_msg .= ', ' . $cache['sensors']['stat']['warning'] . ' warnings';
|
|
}
|
|
} elseif ($cache['sensors']['stat']['warning']) {
|
|
$cache['sensors']['stat']['class'] = "warning";
|
|
$alert_msg = $cache['sensors']['stat']['warning'] . ' warnings';
|
|
} else {
|
|
$cache['sensors']['stat']['class'] = "";
|
|
$alert_msg = '0 alerts';
|
|
}
|
|
?>
|
|
<tr class="<?php echo($cache['sensors']['stat']['class']) ?>">
|
|
<td class="state-marker"></td>
|
|
<td><strong><a href="<?php echo(generate_url(['page' => 'health', 'metric' => 'sensors'])); ?>">Sensors</a></strong></td>
|
|
<td><a
|
|
href="<?php echo(generate_url(['page' => 'health', 'metric' => 'sensors'])); ?>"><?php echo($cache['sensors']['stat']['count']) ?></a>
|
|
</td>
|
|
<td><a class="green"
|
|
href="<?php echo(generate_url(['page' => 'health', 'metric' => 'sensors', 'event' => 'ok'])); ?>"><?php echo($cache['sensors']['stat']['ok']) ?>
|
|
ok</a></td>
|
|
<td><a class="red"
|
|
href="<?php echo(generate_url(['page' => 'health', 'metric' => 'sensors', 'event' => 'alert,warning'])); ?>"><?php echo($alert_msg) ?></a>
|
|
</td>
|
|
<td><a class="black"
|
|
href="<?php echo(generate_url(['page' => 'health', 'metric' => 'sensors', 'event' => 'ignore'])); ?>"><?php echo($cache['sensors']['stat']['ignored']) ?>
|
|
ignored</a></td>
|
|
<td><a class="grey"
|
|
href="<?php echo(generate_url(['page' => 'health', 'metric' => 'sensors'])); ?>"><?php echo($cache['sensors']['stat']['disabled']) ?>
|
|
disabled</a></td>
|
|
</tr>
|
|
<?php
|
|
} # end if sensors
|
|
if ($cache['statuses']['stat']['count']) {
|
|
//if ($cache['statuses']['stat']['alert']) { $cache['statuses']['stat']['class'] = "error"; } else { $cache['statuses']['stat']['class'] = ""; }
|
|
if ($cache['statuses']['stat']['alert']) {
|
|
$cache['statuses']['stat']['class'] = "error";
|
|
$alert_msg = $cache['statuses']['stat']['alert'] . ' alerts';
|
|
if ($cache['statuses']['stat']['warning']) {
|
|
$alert_msg .= ', ' . $cache['statuses']['stat']['warning'] . ' warnings';
|
|
}
|
|
} elseif ($cache['statuses']['stat']['warning']) {
|
|
$cache['statuses']['stat']['class'] = "warning";
|
|
$alert_msg = $cache['statuses']['stat']['warning'] . ' warnings';
|
|
} else {
|
|
$cache['statuses']['stat']['class'] = "";
|
|
$alert_msg = '0 alerts';
|
|
}
|
|
?>
|
|
<tr class="<?php echo($cache['statuses']['stat']['class']) ?>">
|
|
<td class="state-marker"></td>
|
|
<td><strong><a href="<?php echo(generate_url(['page' => 'health', 'metric' => 'status'])); ?>">Statuses</a></strong></td>
|
|
<td><a
|
|
href="<?php echo(generate_url(['page' => 'health', 'metric' => 'status'])); ?>"><?php echo($cache['statuses']['stat']['count']) ?></a>
|
|
</td>
|
|
<td><a class="green"
|
|
href="<?php echo(generate_url(['page' => 'health', 'metric' => 'status', 'event' => 'ok'])); ?>"><?php echo($cache['statuses']['stat']['ok']) ?>
|
|
ok</a></td>
|
|
<td><a class="red"
|
|
href="<?php echo(generate_url(['page' => 'health', 'metric' => 'status', 'event' => 'alert,warning'])); ?>"><?php echo($alert_msg) ?></a>
|
|
</td>
|
|
<td><a class="black"
|
|
href="<?php echo(generate_url(['page' => 'health', 'metric' => 'status', 'event' => 'ignore'])); ?>"><?php echo($cache['statuses']['stat']['ignored']) ?>
|
|
ignored</a></td>
|
|
<td><a class="grey"
|
|
href="<?php echo(generate_url(['page' => 'health', 'metric' => 'status'])); ?>"><?php echo($cache['statuses']['stat']['disabled']) ?>
|
|
disabled</a></td>
|
|
</tr>
|
|
<?php
|
|
} # end if statuses
|
|
|
|
if ($cache['counters']['stat']['count']) {
|
|
//if ($cache['counters']['stat']['alert']) { $cache['counters']['stat']['class'] = "error"; } elseif ($cache['counters']['stat']['warning']) { $cache['counters']['stat']['class'] = "warning"; } else { $cache['counters']['stat']['class'] = ""; }
|
|
if ($cache['counters']['stat']['alert']) {
|
|
$cache['counters']['stat']['class'] = "error";
|
|
$alert_msg = $cache['counters']['stat']['alert'] . ' alerts';
|
|
if ($cache['counters']['stat']['warning']) {
|
|
$alert_msg .= ', ' . $cache['counters']['stat']['warning'] . ' warnings';
|
|
}
|
|
} elseif ($cache['counters']['stat']['warning']) {
|
|
$cache['counters']['stat']['class'] = "warning";
|
|
$alert_msg = $cache['counters']['stat']['warning'] . ' warnings';
|
|
} else {
|
|
$cache['counters']['stat']['class'] = "";
|
|
$alert_msg = '0 alerts';
|
|
}
|
|
?>
|
|
<tr class="<?php echo($cache['counters']['stat']['class']) ?>">
|
|
<td class="state-marker"></td>
|
|
<td><strong><a href="<?php echo(generate_url(['page' => 'health', 'metric' => 'counter'])); ?>">Counters</a></strong></td>
|
|
<td><a
|
|
href="<?php echo(generate_url(['page' => 'health', 'metric' => 'counter'])); ?>"><?php echo($cache['counters']['stat']['count']) ?></a>
|
|
</td>
|
|
<td><a class="green"
|
|
href="<?php echo(generate_url(['page' => 'health', 'metric' => 'counter', 'event' => 'ok'])); ?>"><?php echo($cache['counters']['stat']['ok']) ?>
|
|
ok</a></td>
|
|
<td><a class="red"
|
|
href="<?php echo(generate_url(['page' => 'health', 'metric' => 'counter', 'event' => 'alert,warning'])); ?>"><?php echo($alert_msg) ?></a>
|
|
</td>
|
|
<td><a class="black"
|
|
href="<?php echo(generate_url(['page' => 'health', 'metric' => 'counter', 'event' => 'ignore'])); ?>"><?php echo($cache['counters']['stat']['ignored']) ?>
|
|
ignored</a></td>
|
|
<td><a class="grey"
|
|
href="<?php echo(generate_url(['page' => 'health', 'metric' => 'counter'])); ?>"><?php echo($cache['counters']['stat']['disabled']) ?>
|
|
disabled</a></td>
|
|
</tr>
|
|
<?php
|
|
} # end if counters
|
|
|
|
?>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<?php
|
|
|
|
switch (TRUE) {
|
|
case ($cache['alert_entries']['up'] == $cache['alert_entries']['count']):
|
|
$check['class'] = "green";
|
|
$check['table_tab_colour'] = "#194b7f";
|
|
$check['html_row_class'] = "";
|
|
break;
|
|
case ($cache['alert_entries']['down'] > 0):
|
|
$check['class'] = "red";
|
|
$check['table_tab_colour'] = "#cc0000";
|
|
$check['html_row_class'] = "error";
|
|
break;
|
|
case ($cache['alert_entries']['delay'] > 0):
|
|
$check['class'] = "orange";
|
|
$check['table_tab_colour'] = "#ff6600";
|
|
$check['html_row_class'] = "warning";
|
|
break;
|
|
case ($cache['alert_entries']['suppress'] > 0):
|
|
$check['class'] = "purple";
|
|
$check['table_tab_colour'] = "#740074";
|
|
$check['html_row_class'] = "suppressed";
|
|
break;
|
|
case ($cache['alert_entries']['up'] > 0):
|
|
$check['class'] = "green";
|
|
$check['table_tab_colour'] = "#194b7f";
|
|
$check['html_row_class'] = "";
|
|
break;
|
|
default:
|
|
$check['class'] = "gray";
|
|
$check['table_tab_colour'] = "#555555";
|
|
$check['html_row_class'] = "disabled";
|
|
}
|
|
|
|
$check['status_numbers'] = '
|
|
<span class="green">' . $cache['alert_entries']['up'] . '</span>/
|
|
<span class="purple">' . $cache['alert_entries']['suppress'] . '</span>/
|
|
<span class="red">' . $cache['alert_entries']['down'] . '</span>/
|
|
<span class="orange">' . $cache['alert_entries']['delay'] . '</span>/
|
|
<span class="gray">' . $cache['alert_entries']['unknown'] . '</span>';
|
|
?>
|
|
|
|
<div class="<?php echo($div_class); ?>">
|
|
<div class="box box-solid">
|
|
<table class="table table-condensed-more table-striped">
|
|
<thead>
|
|
<tr>
|
|
<th class="state-marker"></th>
|
|
<th></th>
|
|
<th>Ok</th>
|
|
<th>Fail</th>
|
|
<th>Delay</th>
|
|
<th>Suppress</th>
|
|
<th>Other</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr class="<?php echo($check['html_row_class']); ?>">
|
|
<td class="state-marker"></td>
|
|
<td><a href="/alerts/"><strong>Alerts</strong></a></td>
|
|
<td><a class="green" href="<?php echo generate_url([ 'page' => 'alerts', 'status' => 'ok' ]); ?>"><?php echo $cache['alert_entries']['up']; ?></a></td>
|
|
<td><a class="red" href="<?php echo generate_url([ 'page' => 'alerts', 'status' => 'failed' ]); ?>"><?php echo $cache['alert_entries']['down']; ?></a></td>
|
|
<td><a class="orange" href="<?php echo generate_url([ 'page' => 'alerts', 'status' => 'delayed' ]); ?>"><?php echo $cache['alert_entries']['delay']; ?></a></td>
|
|
<td><a class="purple" href="<?php echo generate_url([ 'page' => 'alerts', 'status' => 'suppressed' ]); ?>"><?php echo $cache['alert_entries']['suppress']; ?></a></td>
|
|
<td><a class="gray" href="<?php echo generate_url([ 'page' => 'alerts', 'status' => 'unknown' ]); ?>"><?php echo $cache['alert_entries']['unknown']; ?></a></td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<?php
|
|
|
|
|
|
if ($_SESSION['userlevel'] >= 5 && !isset($hide_group_bar)) {
|
|
|
|
$navbar = [];
|
|
$navbar['class'] = 'navbar-narrow';
|
|
$navbar['brand'] = 'Groups';
|
|
$navbar['style'] = 'margin-top: 10px';
|
|
$navbar['community'] = FALSE;
|
|
|
|
$groups = get_groups_by_type($config['wui']['groups_list']);
|
|
|
|
foreach ($config['wui']['groups_list'] as $entity_type) {
|
|
if (!isset($config['entities'][$entity_type])) {
|
|
continue;
|
|
} // Skip unknown types
|
|
|
|
$navbar['options'][$entity_type]['icon'] = $config['entities'][$entity_type]['icon'];
|
|
$navbar['options'][$entity_type]['text'] = nicecase($entity_type);
|
|
foreach ($groups[$entity_type] as $group) {
|
|
$navbar['options'][$entity_type]['suboptions'][$group['group_id']]['text'] = escape_html($group['group_name']);
|
|
$navbar['options'][$entity_type]['suboptions'][$group['group_id']]['icon'] = $config['entities'][$entity_type]['icon'];
|
|
$navbar['options'][$entity_type]['suboptions'][$group['group_id']]['url'] = generate_url(['page' => 'group', 'group_id' => $group['group_id']]);
|
|
if ($vars['group_id'] == $group['group_id']) {
|
|
$navbar['options'][$entity_type]['suboptions'][$group['group_id']]['class'] = "active";
|
|
$navbar['options'][$entity_type]['class'] = "active";
|
|
}
|
|
}
|
|
}
|
|
|
|
print_navbar($navbar);
|
|
unset($navbar);
|
|
}
|
|
?>
|
|
|
|
</div>
|
|
<?php
|
|
|
|
// EOF
|