diff --git a/modules/monitoring/library/Monitoring/Backend/Ido/Query/GroupsummaryQuery.php b/modules/monitoring/library/Monitoring/Backend/Ido/Query/GroupsummaryQuery.php index c1e12a1ee5..ec79ef63c0 100644 --- a/modules/monitoring/library/Monitoring/Backend/Ido/Query/GroupsummaryQuery.php +++ b/modules/monitoring/library/Monitoring/Backend/Ido/Query/GroupsummaryQuery.php @@ -44,7 +44,6 @@ protected function joinBaseTables() $columns = array( 'object_type', 'host_state', - 'host_name' ); // Prepend group column since we'll use columns index 0 later for grouping @@ -61,6 +60,9 @@ protected function joinBaseTables() 'in_downtime' => 'host_in_downtime' ) ); + if (in_array('servicegroup', $this->desiredColumns)) { + $hosts->group(array('sgo.name1', 'ho.object_id', 'state', 'acknowledged', 'in_downtime')); + } $services = $this->createSubQuery( 'Status', $columns + array( diff --git a/modules/monitoring/library/Monitoring/DataView/HostStatus.php b/modules/monitoring/library/Monitoring/DataView/HostStatus.php index 60f2242647..ff2ecaf913 100644 --- a/modules/monitoring/library/Monitoring/DataView/HostStatus.php +++ b/modules/monitoring/library/Monitoring/DataView/HostStatus.php @@ -64,7 +64,8 @@ public function getColumns() 'host_percent_state_change', 'host_modified_host_attributes', 'host_severity', - 'host_problem' + 'host_problem', + 'host_ipv4' ); } @@ -105,7 +106,7 @@ public function getSortRules() public function getFilterColumns() { - return array('hostgroup', 'service_problems'); + return array('hostgroup', 'service_problems', 'servicegroup'); } public function isValidFilterTarget($column) diff --git a/modules/monitoring/library/Monitoring/DataView/ServiceStatus.php b/modules/monitoring/library/Monitoring/DataView/ServiceStatus.php index b81b567642..45cde745ff 100644 --- a/modules/monitoring/library/Monitoring/DataView/ServiceStatus.php +++ b/modules/monitoring/library/Monitoring/DataView/ServiceStatus.php @@ -101,6 +101,7 @@ public function getColumns() 'service_flap_detection_enabled', 'service_flap_detection_enabled_changed', 'service_modified_service_attributes', + 'service_host_name' ); } diff --git a/modules/monitoring/library/Monitoring/Object/Service.php b/modules/monitoring/library/Monitoring/Object/Service.php index ac6957eab1..36a763101c 100644 --- a/modules/monitoring/library/Monitoring/Object/Service.php +++ b/modules/monitoring/library/Monitoring/Object/Service.php @@ -191,7 +191,8 @@ protected function getDataView() 'service_flap_detection_enabled_changed', 'service_modified_service_attributes', 'service_process_performance_data', - 'service_percent_state_change' + 'service_percent_state_change', + 'service_host_name' )) ->where('host_name', $this->host->getName()) ->where('service_description', $this->service);