Merge remote-tracking branch 'origin/master' into bugfix/dashboard-rework-7751
This commit is contained in:
commit
3adf0387da
|
@ -505,14 +505,14 @@ class Monitoring_ListController extends Controller
|
|||
$this->filterQuery($query);
|
||||
$this->view->servicegroups = $query->paginate();
|
||||
$this->setupSortControl(array(
|
||||
'services_highest_severity' => $this->translate('Highest Severity'),
|
||||
'servicegroup' => $this->translate('Service Group Name'),
|
||||
'services_total' => $this->translate('Total Services'),
|
||||
'services_ok' => $this->translate('Services OK'),
|
||||
'services_unknown' => $this->translate('Services UNKNOWN'),
|
||||
'services_critical' => $this->translate('Services CRITICAL'),
|
||||
'services_warning' => $this->translate('Services WARNING'),
|
||||
'services_pending' => $this->translate('Services PENDING')
|
||||
'services_severity' => $this->translate('Severity'),
|
||||
'servicegroup' => $this->translate('Service Group Name'),
|
||||
'services_total' => $this->translate('Total Services'),
|
||||
'services_ok' => $this->translate('Services OK'),
|
||||
'services_unknown' => $this->translate('Services UNKNOWN'),
|
||||
'services_critical' => $this->translate('Services CRITICAL'),
|
||||
'services_warning' => $this->translate('Services WARNING'),
|
||||
'services_pending' => $this->translate('Services PENDING')
|
||||
));
|
||||
}
|
||||
|
||||
|
@ -552,14 +552,14 @@ class Monitoring_ListController extends Controller
|
|||
$this->filterQuery($query);
|
||||
$this->view->hostgroups = $query->paginate();
|
||||
$this->setupSortControl(array(
|
||||
'services_highest_severity' => $this->translate('Highest Severity'),
|
||||
'hostgroup' => $this->translate('Host Group Name'),
|
||||
'services_total' => $this->translate('Total Services'),
|
||||
'services_ok' => $this->translate('Services OK'),
|
||||
'services_unknown' => $this->translate('Services UNKNOWN'),
|
||||
'services_critical' => $this->translate('Services CRITICAL'),
|
||||
'services_warning' => $this->translate('Services WARNING'),
|
||||
'services_pending' => $this->translate('Services PENDING')
|
||||
'services_severity' => $this->translate('Severity'),
|
||||
'hostgroup' => $this->translate('Host Group Name'),
|
||||
'services_total' => $this->translate('Total Services'),
|
||||
'services_ok' => $this->translate('Services OK'),
|
||||
'services_unknown' => $this->translate('Services UNKNOWN'),
|
||||
'services_critical' => $this->translate('Services CRITICAL'),
|
||||
'services_warning' => $this->translate('Services WARNING'),
|
||||
'services_pending' => $this->translate('Services PENDING')
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
<div class="content">
|
||||
<?= $this->filterEditor ?>
|
||||
</div>
|
||||
</div>
|
||||
<?php endif ?>
|
||||
|
||||
<div class="content">
|
||||
|
|
|
@ -21,46 +21,46 @@
|
|||
?>
|
||||
<table class="groupview" data-base-target="_next">
|
||||
<thead>
|
||||
<th style="text-align: left;"><?= $this->translate('Last Problem'); ?></th>
|
||||
<th style="text-align: left;"><?= $this->translate('Host Group'); ?></th>
|
||||
<th><?= $this->translate('Last Problem'); ?></th>
|
||||
<th><?= $this->translate('Host Group'); ?></th>
|
||||
<th><?= $this->translate('Total Services'); ?></th>
|
||||
<th colspan="5"><?= $this->translate('Service States'); ?></th>
|
||||
<th><?= $this->translate('Service States'); ?></th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($hostgroups as $h): ?>
|
||||
<tr href="<?= $this->href('monitoring/list/services', array('hostgroup' => $h->hostgroup)); ?>">
|
||||
<?php if ($h->services_critical_last_state_change_unhandled): ?>
|
||||
<td class="state change critical">
|
||||
<td class="state change critical unhandled">
|
||||
<strong><?= $this->translate('CRITICAL'); ?></strong>
|
||||
<br>
|
||||
<?= $this->prefixedTimeSince($h->services_critical_last_state_change_unhandled); ?>
|
||||
</td>
|
||||
<?php elseif ($h->services_unknown_last_state_change_unhandled): ?>
|
||||
<td class="state change unknown">
|
||||
<td class="state change unknown unhandled">
|
||||
<strong><?= $this->translate('UNKNOWN'); ?></strong>
|
||||
<br>
|
||||
<?= $this->prefixedTimeSince($h->services_unknown_last_state_change_unhandled); ?>
|
||||
</td>
|
||||
<?php elseif ($h->services_warning_last_state_change_unhandled): ?>
|
||||
<td class="state change warning">
|
||||
<td class="state change warning unhandled">
|
||||
<strong><?= $this->translate('WARNING'); ?></strong>
|
||||
<br>
|
||||
<?= $this->prefixedTimeSince($h->services_warning_last_state_change_unhandled); ?>
|
||||
</td>
|
||||
<?php elseif ($h->services_critical_last_state_change_handled): ?>
|
||||
<td class="state change critical handled">
|
||||
<td class="state change critical">
|
||||
<strong><?= $this->translate('CRITICAL'); ?></strong>
|
||||
<br>
|
||||
<?= $this->prefixedTimeSince($h->services_critical_last_state_change_handled); ?>
|
||||
</td>
|
||||
<?php elseif ($h->services_unknown_last_state_change_handled): ?>
|
||||
<td class="state change unknown handled">
|
||||
<td class="state change unknown">
|
||||
<strong><?= $this->translate('UNKNOWN'); ?></strong>
|
||||
<br>
|
||||
<?= $this->prefixedTimeSince($h->services_unknown_last_state_change_handled); ?>
|
||||
</td>
|
||||
<?php elseif ($h->services_warning_last_state_change_handled): ?>
|
||||
<td class="state change warning handled">
|
||||
<td class="state change warning">
|
||||
<strong><?= $this->translate('WARNING'); ?></strong>
|
||||
<br>
|
||||
<?= $this->prefixedTimeSince($h->services_warning_last_state_change_handled); ?>
|
||||
|
@ -78,12 +78,12 @@
|
|||
<?= $this->prefixedTimeSince($h->services_pending_last_state_change); ?>
|
||||
</td>
|
||||
<?php endif ?>
|
||||
<td>
|
||||
<td class="groupname">
|
||||
<a href="<?= $this->href('monitoring/list/services', array('hostgroup' => $h->hostgroup)); ?>">
|
||||
<?= $h->hostgroup; ?>
|
||||
</a>
|
||||
</td>
|
||||
<td class="services-total">
|
||||
<td class="total">
|
||||
<?= $h->services_total; ?>
|
||||
</td>
|
||||
<td class="state">
|
||||
|
@ -100,13 +100,7 @@
|
|||
<?= $h->services_ok; ?>
|
||||
</a>
|
||||
</span>
|
||||
<?php else: ?>
|
||||
<span class="no-state">
|
||||
-
|
||||
</span>
|
||||
<?php endif ?>
|
||||
</td>
|
||||
<td class="state">
|
||||
<?php if ($h->services_critical_unhandled): ?>
|
||||
<span class="state critical">
|
||||
<a href="<?= $this->href(
|
||||
|
@ -141,13 +135,6 @@
|
|||
<?php if ($h->services_critical_unhandled): ?>
|
||||
</span>
|
||||
<?php endif ?>
|
||||
<?php if (! $h->services_critical_unhandled && !$h->services_critical_handled): ?>
|
||||
<span class="no-state">
|
||||
-
|
||||
</span>
|
||||
<?php endif ?>
|
||||
</td>
|
||||
<td class="state">
|
||||
<?php if ($h->services_unknown_unhandled): ?>
|
||||
<span class="state unknown">
|
||||
<a href="<?= $this->href(
|
||||
|
@ -182,13 +169,6 @@
|
|||
<?php if ($h->services_unknown_unhandled): ?>
|
||||
</span>
|
||||
<?php endif ?>
|
||||
<?php if (! $h->services_unknown_unhandled && !$h->services_unknown_handled): ?>
|
||||
<span class="no-state">
|
||||
-
|
||||
</span>
|
||||
<?php endif ?>
|
||||
</td>
|
||||
<td class="state">
|
||||
<?php if ($h->services_warning_unhandled): ?>
|
||||
<span class="state warning">
|
||||
<a href="<?= $this->href(
|
||||
|
@ -223,13 +203,6 @@
|
|||
<?php if ($h->services_warning_unhandled): ?>
|
||||
</span>
|
||||
<?php endif ?>
|
||||
<?php if (! $h->services_warning_unhandled && !$h->services_warning_handled): ?>
|
||||
<span class="no-state">
|
||||
-
|
||||
</span>
|
||||
<?php endif ?>
|
||||
</td>
|
||||
<td class="state">
|
||||
<?php if ($h->services_pending): ?>
|
||||
<span class="state pending">
|
||||
<a href="<?= $this->href(
|
||||
|
@ -243,10 +216,6 @@
|
|||
<?= $h->services_pending; ?>
|
||||
</a>
|
||||
</span>
|
||||
<?php else: ?>
|
||||
<span class="no-state">
|
||||
-
|
||||
</span>
|
||||
<?php endif ?>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -21,46 +21,46 @@
|
|||
?>
|
||||
<table class="groupview" data-base-target="_next">
|
||||
<thead>
|
||||
<th style="text-align: left;"><?= $this->translate('Last Problem'); ?></th>
|
||||
<th style="text-align: left;"><?= $this->translate('Service Group'); ?></th>
|
||||
<th><?= $this->translate('Last Problem'); ?></th>
|
||||
<th><?= $this->translate('Service Group'); ?></th>
|
||||
<th><?= $this->translate('Total Services'); ?></th>
|
||||
<th colspan="5"><?= $this->translate('Service States'); ?></th>
|
||||
<th><?= $this->translate('Service States'); ?></th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<?php foreach ($servicegroups as $s): ?>
|
||||
<tr href="<?= $this->href('monitoring/list/services', array('servicegroup' => $s->servicegroup)); ?>">
|
||||
<?php if ($s->services_critical_last_state_change_unhandled): ?>
|
||||
<td class="state change critical">
|
||||
<td class="state change critical unhandled">
|
||||
<strong><?= $this->translate('CRITICAL'); ?></strong>
|
||||
<br>
|
||||
<?= $this->prefixedTimeSince($s->services_critical_last_state_change_unhandled); ?>
|
||||
</td>
|
||||
<?php elseif ($s->services_unknown_last_state_change_unhandled): ?>
|
||||
<td class="state change unknown">
|
||||
<td class="state change unknown unhandled">
|
||||
<strong><?= $this->translate('UNKNOWN'); ?></strong>
|
||||
<br>
|
||||
<?= $this->prefixedTimeSince($s->services_unknown_last_state_change_unhandled); ?>
|
||||
</td>
|
||||
<?php elseif ($s->services_warning_last_state_change_unhandled): ?>
|
||||
<td class="state change warning">
|
||||
<td class="state change warning unhandled">
|
||||
<strong><?= $this->translate('WARNING'); ?></strong>
|
||||
<br>
|
||||
<?= $this->prefixedTimeSince($s->services_warning_last_state_change_unhandled); ?>
|
||||
</td>
|
||||
<?php elseif ($s->services_critical_last_state_change_handled): ?>
|
||||
<td class="state change critical handled">
|
||||
<td class="state change critical">
|
||||
<strong><?= $this->translate('CRITICAL'); ?></strong>
|
||||
<br>
|
||||
<?= $this->prefixedTimeSince($s->services_critical_last_state_change_handled); ?>
|
||||
</td>
|
||||
<?php elseif ($s->services_unknown_last_state_change_handled): ?>
|
||||
<td class="state change unknown handled">
|
||||
<td class="state change unknown">
|
||||
<strong><?= $this->translate('UNKNOWN'); ?></strong>
|
||||
<br>
|
||||
<?= $this->prefixedTimeSince($s->services_unknown_last_state_change_handled); ?>
|
||||
</td>
|
||||
<?php elseif ($s->services_warning_last_state_change_handled): ?>
|
||||
<td class="state change warning handled">
|
||||
<td class="state change warning">
|
||||
<strong><?= $this->translate('WARNING'); ?></strong>
|
||||
<br>
|
||||
<?= $this->prefixedTimeSince($s->services_warning_last_state_change_handled); ?>
|
||||
|
@ -78,12 +78,12 @@
|
|||
<?= $this->prefixedTimeSince($s->services_pending_last_state_change); ?>
|
||||
</td>
|
||||
<?php endif ?>
|
||||
<td>
|
||||
<td class="groupname">
|
||||
<a href="<?= $this->href('monitoring/list/services', array('servicegroup' => $s->servicegroup)); ?>">
|
||||
<?= $s->servicegroup; ?>
|
||||
</a>
|
||||
</td>
|
||||
<td class="services-total">
|
||||
<td class="total">
|
||||
<?= $s->services_total; ?>
|
||||
</td>
|
||||
<td class="state">
|
||||
|
@ -100,13 +100,7 @@
|
|||
<?= $s->services_ok; ?>
|
||||
</a>
|
||||
</span>
|
||||
<?php else: ?>
|
||||
<span class="no-state">
|
||||
-
|
||||
</span>
|
||||
<?php endif ?>
|
||||
</td>
|
||||
<td class="state">
|
||||
<?php if ($s->services_critical_unhandled): ?>
|
||||
<span class="state critical">
|
||||
<a href="<?= $this->href(
|
||||
|
@ -141,13 +135,6 @@
|
|||
<?php if ($s->services_critical_unhandled): ?>
|
||||
</span>
|
||||
<?php endif ?>
|
||||
<?php if (! $s->services_critical_unhandled && !$s->services_critical_handled): ?>
|
||||
<span class="no-state">
|
||||
-
|
||||
</span>
|
||||
<?php endif ?>
|
||||
</td>
|
||||
<td class="state">
|
||||
<?php if ($s->services_unknown_unhandled): ?>
|
||||
<span class="state unknown">
|
||||
<a href="<?= $this->href(
|
||||
|
@ -182,13 +169,6 @@
|
|||
<?php if ($s->services_unknown_unhandled): ?>
|
||||
</span>
|
||||
<?php endif ?>
|
||||
<?php if (! $s->services_unknown_unhandled && !$s->services_unknown_handled): ?>
|
||||
<span class="no-state">
|
||||
-
|
||||
</span>
|
||||
<?php endif ?>
|
||||
</td>
|
||||
<td class="state">
|
||||
<?php if ($s->services_warning_unhandled): ?>
|
||||
<span class="state warning">
|
||||
<a href="<?= $this->href(
|
||||
|
@ -223,13 +203,6 @@
|
|||
<?php if ($s->services_warning_unhandled): ?>
|
||||
</span>
|
||||
<?php endif ?>
|
||||
<?php if (! $s->services_warning_unhandled && !$s->services_warning_handled): ?>
|
||||
<span class="no-state">
|
||||
-
|
||||
</span>
|
||||
<?php endif ?>
|
||||
</td>
|
||||
<td class="state">
|
||||
<?php if ($s->services_pending): ?>
|
||||
<span class="state pending">
|
||||
<a href="<?= $this->href(
|
||||
|
@ -243,10 +216,6 @@
|
|||
<?= $s->services_pending; ?>
|
||||
</a>
|
||||
</span>
|
||||
<?php else: ?>
|
||||
<span class="no-state">
|
||||
-
|
||||
</span>
|
||||
<?php endif ?>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
@ -35,7 +35,7 @@ class GroupSummaryQuery extends IdoQuery
|
|||
'services_warning_unhandled' => 'SUM(CASE WHEN object_type = \'service\' AND state = 1 AND acknowledged + in_downtime + host_state = 0 THEN 1 ELSE 0 END)',
|
||||
'services_critical_unhandled' => 'SUM(CASE WHEN object_type = \'service\' AND state = 2 AND acknowledged + in_downtime + host_state = 0 THEN 1 ELSE 0 END)',
|
||||
'services_unknown_unhandled' => 'SUM(CASE WHEN object_type = \'service\' AND state = 3 AND acknowledged + in_downtime + host_state = 0 THEN 1 ELSE 0 END)',
|
||||
'services_highest_severity' => 'MAX(CASE WHEN object_type = \'service\' THEN severity ELSE 0 END)',
|
||||
'services_severity' => 'MAX(CASE WHEN object_type = \'service\' THEN severity ELSE 0 END)',
|
||||
'services_ok_last_state_change' => 'MAX(CASE WHEN object_type = \'service\' AND state = 0 THEN state_change ELSE 0 END)',
|
||||
'services_pending_last_state_change' => 'MAX(CASE WHEN object_type = \'service\' AND state = 99 THEN state_change ELSE 0 END)',
|
||||
'services_warning_last_state_change_handled' => 'MAX(CASE WHEN object_type = \'service\' AND state = 1 AND acknowledged + in_downtime + host_state > 0 THEN state_change ELSE 0 END)',
|
||||
|
|
|
@ -36,7 +36,7 @@ class Groupsummary extends DataView
|
|||
'services_warning_handled',
|
||||
'services_warning_unhandled',
|
||||
'services_pending',
|
||||
'services_highest_severity',
|
||||
'services_severity',
|
||||
'services_ok_last_state_change',
|
||||
'services_pending_last_state_change',
|
||||
'services_warning_last_state_change_handled',
|
||||
|
@ -51,8 +51,8 @@ class Groupsummary extends DataView
|
|||
public function getSortRules()
|
||||
{
|
||||
return array(
|
||||
'services_highest_severity' => array(
|
||||
'columns' => array('services_highest_severity'),
|
||||
'services_severity' => array(
|
||||
'columns' => array('services_severity'),
|
||||
'order' => self::SORT_DESC
|
||||
)
|
||||
);
|
||||
|
|
|
@ -173,8 +173,13 @@ form label {
|
|||
width: 10em;
|
||||
}
|
||||
|
||||
select, input[type=text] {
|
||||
select, input[type=text], textarea {
|
||||
width: 20em;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
textarea {
|
||||
height: 4em;
|
||||
}
|
||||
|
||||
form .description {
|
||||
|
@ -186,16 +191,34 @@ form .description {
|
|||
display: block;
|
||||
}
|
||||
|
||||
textarea {
|
||||
height: 4em;
|
||||
form label.has-feedback:after {
|
||||
content: '\e85b';
|
||||
font-family: "ifont";
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
speak: none;
|
||||
|
||||
-webkit-box-sizing: border-box;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
display: inline-block;
|
||||
text-decoration: inherit;
|
||||
width: 1em;
|
||||
margin-right: .2em;
|
||||
text-align: center;
|
||||
/* opacity: .8; */
|
||||
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
input, select, textarea {
|
||||
display: inline;
|
||||
/* For safety - reset parent styles, that can break glyph codes*/
|
||||
font-variant: normal;
|
||||
text-transform: none;
|
||||
|
||||
/* fix buttons height, for twitter bootstrap */
|
||||
line-height: 1em;
|
||||
|
||||
/* Animation center compensation - margins should be symmetric */
|
||||
/* remove if not needed */
|
||||
margin-left: .2em;
|
||||
|
||||
/* you can be more comfortable with increased icons size */
|
||||
/* font-size: 120%; */
|
||||
|
||||
/* Uncomment for 3D effect */
|
||||
/* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */
|
||||
}
|
||||
|
|
|
@ -829,18 +829,18 @@ table.groupview {
|
|||
border-collapse: separate;
|
||||
border-spacing: 0.1em;
|
||||
|
||||
thead th {
|
||||
th {
|
||||
font-size: 0.9em;
|
||||
text-align: left;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
tbody {
|
||||
tr {
|
||||
&:hover {
|
||||
color: #333;
|
||||
}
|
||||
td {
|
||||
&.groupname {
|
||||
width: 60%;
|
||||
|
||||
a {
|
||||
color: #333;
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
|
||||
&:hover {
|
||||
|
@ -849,19 +849,19 @@ table.groupview {
|
|||
}
|
||||
}
|
||||
|
||||
td.services-total {
|
||||
&.total {
|
||||
width: 10%;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
td.state {
|
||||
width: 10%;
|
||||
color: white;
|
||||
text-align: center;
|
||||
&.state {
|
||||
width: 20%;
|
||||
white-space: nowrap;
|
||||
|
||||
&.change {
|
||||
width: 10%;
|
||||
white-space: nowrap;
|
||||
text-align: center;
|
||||
border-left-width: 1.5em;
|
||||
border-left-style: solid;
|
||||
padding: 0.3em 0.5em 0.3em 0.5em;
|
||||
|
||||
strong {
|
||||
|
@ -871,70 +871,58 @@ table.groupview {
|
|||
span.timesince {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
}
|
||||
|
||||
&.ok {
|
||||
color: #333;
|
||||
border-left-style: solid;
|
||||
border-left-width: 1.5em;
|
||||
border-color: @colorOk;
|
||||
}
|
||||
&.ok {
|
||||
border-color: @colorOk;
|
||||
}
|
||||
|
||||
&.pending {
|
||||
color: #333;
|
||||
border-left-style: solid;
|
||||
border-left-width: 1.5em;
|
||||
border-color: @colorPending;
|
||||
}
|
||||
&.pending {
|
||||
border-color: @colorPending;
|
||||
}
|
||||
|
||||
&.warning {
|
||||
background-color: @colorWarning;
|
||||
|
||||
&.handled {
|
||||
background-color: inherit;
|
||||
color: #333;
|
||||
border-left-style: solid;
|
||||
border-left-width: 1.5em;
|
||||
&.warning {
|
||||
border-color: @colorWarningHandled;
|
||||
}
|
||||
}
|
||||
|
||||
&.unknown {
|
||||
background-color: @colorUnknown;
|
||||
|
||||
&.handled {
|
||||
color: #333;
|
||||
background-color: inherit;
|
||||
border-left-style: solid;
|
||||
border-left-width: 1.5em;
|
||||
border-color: @colorUnknownHandled;
|
||||
}
|
||||
}
|
||||
|
||||
&.critical {
|
||||
background-color: @colorCritical;
|
||||
|
||||
&.handled {
|
||||
color: #333;
|
||||
background-color: inherit;
|
||||
border-left-style: solid;
|
||||
border-left-width: 1.5em;
|
||||
border-color: @colorCriticalHandled;
|
||||
}
|
||||
}
|
||||
|
||||
span {
|
||||
&.no-state {
|
||||
color: #333;
|
||||
}
|
||||
|
||||
&.state {
|
||||
&.handled {
|
||||
margin-right: 2px;
|
||||
}
|
||||
|
||||
a {
|
||||
&.unhandled {
|
||||
color: white;
|
||||
border-left-width: 0;
|
||||
background-color: @colorWarning;
|
||||
}
|
||||
}
|
||||
|
||||
&.unknown {
|
||||
border-color: @colorUnknownHandled;
|
||||
|
||||
&.unhandled {
|
||||
color: white;
|
||||
border-left-width: 0;
|
||||
background-color: @colorUnknown;
|
||||
}
|
||||
}
|
||||
|
||||
&.critical {
|
||||
border-color: @colorCriticalHandled;
|
||||
|
||||
&.unhandled {
|
||||
color: white;
|
||||
border-left-width: 0;
|
||||
background-color: @colorCritical;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
span.state {
|
||||
&.handled {
|
||||
margin-right: 2px;
|
||||
}
|
||||
|
||||
a {
|
||||
font-size: 0.9em;
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
|
||||
&:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue