Consider also the host's state when counting its service problems

refs #8013
This commit is contained in:
Johannes Meyer 2014-12-22 16:20:12 +01:00
parent 5b0c876362
commit f513e7959e
1 changed files with 4 additions and 2 deletions

View File

@ -518,12 +518,14 @@ class StatusQuery extends IdoQuery
protected function joinServiceproblemsummary()
{
$sub = new Zend_Db_Expr('(SELECT'
. ' SUM(CASE WHEN (ss.problem_has_been_acknowledged + ss.scheduled_downtime_depth) > 0 THEN 0 ELSE 1 END) AS unhandled_services_count,'
. ' SUM(CASE WHEN (ss.problem_has_been_acknowledged + ss.scheduled_downtime_depth) > 0 THEN 1 ELSE 0 END) AS handled_services_count,'
. ' SUM(CASE WHEN (ss.problem_has_been_acknowledged + ss.scheduled_downtime_depth + COALESCE(hs.current_state, 0)) > 0 THEN 0 ELSE 1 END) AS unhandled_services_count,'
. ' SUM(CASE WHEN (ss.problem_has_been_acknowledged + ss.scheduled_downtime_depth + COALESCE(hs.current_state, 0)) > 0 THEN 1 ELSE 0 END) AS handled_services_count,'
. ' s.host_object_id FROM icinga_servicestatus ss'
. ' JOIN icinga_services s'
. ' ON s.service_object_id = ss.service_object_id'
. ' AND ss.current_state > 0'
. ' JOIN icinga_hoststatus hs'
. ' ON hs.host_object_id = s.host_object_id'
. ' GROUP BY s.host_object_id)');
$this->select->joinLeft(
array('sps' => $sub),