diff --git a/modules/monitoring/application/controllers/ListController.php b/modules/monitoring/application/controllers/ListController.php index f95279b41..397b68325 100644 --- a/modules/monitoring/application/controllers/ListController.php +++ b/modules/monitoring/application/controllers/ListController.php @@ -109,12 +109,8 @@ class ListController extends Controller )); $this->applyRestriction('monitoring/filter/objects', $stats); - $summary = $hosts->getQuery()->queryServiceProblemSummary(); - $this->applyRestriction('monitoring/filter/objects', $summary); - $this->view->hosts = $hosts; $this->view->stats = $stats; - $this->view->summary = $summary->fetchPairs(); } /** diff --git a/modules/monitoring/application/views/scripts/list/hosts.phtml b/modules/monitoring/application/views/scripts/list/hosts.phtml index c412f2f52..12a9871de 100644 --- a/modules/monitoring/application/views/scripts/list/hosts.phtml +++ b/modules/monitoring/application/views/scripts/list/hosts.phtml @@ -60,33 +60,6 @@ if (! $this->compact): ?> 'class' => 'rowaction' ) ) ?> - host_name])): ?> - (qlink( - sprintf( - $this->translatePlural( - '%u unhandled service', '%u unhandled services', $summary[$host->host_name] - ), - $summary[$host->host_name] - ), - 'monitoring/list/services', - array( - 'host' => $host->host_name, - 'service_problem' => 1, - 'service_handled' => 0 - ), - array( - 'title' => sprintf( - $this->translatePlural( - 'List %s unhandled service problem on host %s', - 'List %s unhandled service problems on host %s', - $summary[$host->host_name] - ), - $summary[$host->host_name], - $host->host_name - ) - ) - ) ?>) - hostFlags($host) ?>

pluginOutput($this->ellipsis($host->host_output, 10000), true, $host->host_check_command) ?>

diff --git a/modules/monitoring/library/Monitoring/Backend/Ido/Query/HostserviceproblemsummaryQuery.php b/modules/monitoring/library/Monitoring/Backend/Ido/Query/HostserviceproblemsummaryQuery.php deleted file mode 100644 index 771c32a7c..000000000 --- a/modules/monitoring/library/Monitoring/Backend/Ido/Query/HostserviceproblemsummaryQuery.php +++ /dev/null @@ -1,155 +0,0 @@ - array( - 'instance_name' => 'i.instance_name' - ), - 'services' => array( - 'host_name' => 'so.name1', - 'service_description' => 'so.name2' - ), - 'hostgroups' => array( - 'hostgroup_name' => 'hgo.name1' - ), - 'servicegroups' => array( - 'servicegroup_name' => 'sgo.name1' - ), - 'problemsummary' => array( - 'unhandled_service_count' => 'SUM( - CASE - WHEN (ss.problem_has_been_acknowledged + ss.scheduled_downtime_depth + COALESCE(hs.current_state, 0)) > 0 - THEN 0 - ELSE 1 - END - )' - ) - ); - - /** - * Set the HoststatusQuery to use - * - * @param HoststatusQuery $query - * - * @return $this - */ - public function setHoststatusQuery(HoststatusQuery $query) - { - $this->hostStatusQuery = clone $query; - $this->hostStatusQuery - ->clearOrder() - ->setIsSubQuery() - ->columns(array('object_id')); - return $this; - } - - /** - * {@inheritdoc} - */ - protected function joinBaseTables() - { - $this->select->from( - array('so' => $this->prefix . 'objects'), - array() - )->join( - array('s' => $this->prefix . 'services'), - 's.service_object_id = so.object_id AND so.is_active = 1', - array() - ); - $this->select->group('so.name1'); - $this->joinedVirtualTables['services'] = true; - } - - /** - * Join instances - */ - protected function joinInstances() - { - $this->select->join( - array('i' => $this->prefix . 'instances'), - 'i.instance_id = so.instance_id', - array() - ); - } - - /** - * Join host groups - */ - protected function joinHostgroups() - { - $this->select->joinLeft( - array('hgm' => $this->prefix . 'hostgroup_members'), - 'hgm.host_object_id = s.host_object_id', - array() - )->joinLeft( - array('hg' => $this->prefix . 'hostgroups'), - 'hg.hostgroup_id = hgm.hostgroup_id', - array() - )->joinLeft( - array('hgo' => $this->prefix . 'objects'), - 'hgo.object_id = hg.hostgroup_object_id AND hgo.is_active = 1 AND hgo.objecttype_id = 3', - array() - ); - } - - /** - * Join service groups - */ - protected function joinServicegroups() - { - $this->select->joinLeft( - array('sgm' => $this->prefix . 'servicegroup_members'), - 'sgm.service_object_id = so.object_id', - array() - )->joinLeft( - array('sg' => $this->prefix . 'servicegroups'), - 'sgm.servicegroup_id = sg.servicegroup_id', - array() - )->joinLeft( - array('sgo' => $this->prefix . 'objects'), - 'sgo.object_id = sg.servicegroup_object_id AND sgo.is_active = 1 AND sgo.objecttype_id = 4', - array() - ); - } - - /** - * Join the statussummary - */ - protected function joinProblemsummary() - { - $this->select->join( - array('ss' => $this->prefix . 'servicestatus'), - 'ss.service_object_id = so.object_id AND ss.current_state > 0', - array() - )->join( - array('hs' => $this->prefix . 'hoststatus'), - 'hs.host_object_id = s.host_object_id', - array() - )->join( - array('h' => $this->hostStatusQuery), - 'h.object_id = s.host_object_id', - array() - ); - - $this->select->having($this->getMappedField('unhandled_service_count') . ' > 0'); - } -} diff --git a/modules/monitoring/library/Monitoring/Backend/Ido/Query/HoststatusQuery.php b/modules/monitoring/library/Monitoring/Backend/Ido/Query/HoststatusQuery.php index b4ef3d2ad..e1b548053 100644 --- a/modules/monitoring/library/Monitoring/Backend/Ido/Query/HoststatusQuery.php +++ b/modules/monitoring/library/Monitoring/Backend/Ido/Query/HoststatusQuery.php @@ -321,21 +321,6 @@ class HoststatusQuery extends IdoQuery ); } - /** - * Query the service problem summary for all hosts of this query's result set - * - * @return HostserviceproblemsummaryQuery - */ - public function queryServiceProblemSummary() - { - return $this->createSubQuery('Hostserviceproblemsummary') - ->setHostStatusQuery($this) - ->columns(array( - 'host_name', - 'unhandled_service_count' - )); - } - protected function joinSubQuery(IdoQuery $query, $name, $filter, $and, $negate, &$additionalFilter) { if ($name === 'hostgroup') { diff --git a/modules/monitoring/public/css/tables.less b/modules/monitoring/public/css/tables.less index ea1747761..c5b5f27f5 100644 --- a/modules/monitoring/public/css/tables.less +++ b/modules/monitoring/public/css/tables.less @@ -63,13 +63,6 @@ font-size: @font-size-small; } -// Link to unhandled services in the hosts overview -.host-services-incidents { - color: @color-critical; - font-family: @font-family-wide; - font-size: @font-size-small; -} - // Notification recipient in the notifications overview .notification-recipient { color: @text-color-light;