From ab2f8e09d687dc105a979f5ac2113c43745f2054 Mon Sep 17 00:00:00 2001 From: "Alexander A. Klimov" Date: Wed, 13 May 2015 16:31:25 +0200 Subject: [PATCH] Calculate states for host group view from host states refs #8860 --- .../controllers/ListController.php | 6 ++ .../views/scripts/list/hostgroups.phtml | 90 ++++++++----------- 2 files changed, 44 insertions(+), 52 deletions(-) diff --git a/modules/monitoring/application/controllers/ListController.php b/modules/monitoring/application/controllers/ListController.php index 1261c7685..948050db6 100644 --- a/modules/monitoring/application/controllers/ListController.php +++ b/modules/monitoring/application/controllers/ListController.php @@ -528,6 +528,12 @@ class Monitoring_ListController extends Controller 'hosts_down_handled', 'hosts_down_unhandled', 'hosts_pending', + 'hosts_up_last_state_change', + 'hosts_pending_last_state_change', + 'hosts_down_last_state_change_handled', + 'hosts_unreachable_last_state_change_handled', + 'hosts_down_last_state_change_unhandled', + 'hosts_unreachable_last_state_change_unhandled', 'services_ok', 'services_unknown_handled', 'services_unknown_unhandled', diff --git a/modules/monitoring/application/views/scripts/list/hostgroups.phtml b/modules/monitoring/application/views/scripts/list/hostgroups.phtml index ef8cd78ea..90e96e660 100644 --- a/modules/monitoring/application/views/scripts/list/hostgroups.phtml +++ b/modules/monitoring/application/views/scripts/list/hostgroups.phtml @@ -1,4 +1,7 @@ -compact): ?> +compact): ?>
tabs; ?> sortBox; ?> @@ -15,7 +18,7 @@ if (count($hostgroups) === 0) { return; } ?> - +
@@ -23,57 +26,40 @@ if (count($hostgroups) === 0) { - - - services_critical_last_state_change_unhandled): ?> - + - services_unknown_last_state_change_unhandled): ?> - - services_warning_last_state_change_unhandled): ?> - - services_critical_last_state_change_handled): ?> - - services_unknown_last_state_change_handled): ?> - - services_warning_last_state_change_handled): ?> - - services_ok_last_state_change): ?> - - - - -
translate('Last Problem'); ?> translate('Host Group'); ?>translate('Service States'); ?>
- translate('CRITICAL'); ?> + hosts_down_unhandled) { + $handled = false; + $state = Host::STATE_DOWN; + $lastStateChange = $h->hosts_down_last_state_change_unhandled; + } elseif ($h->hosts_unreachable_unhandled) { + $handled = false; + $state = Host::STATE_UNREACHABLE; + $lastStateChange = $h->hosts_unreachable_last_state_change_unhandled; + } else { + $handled = true; + if ($h->hosts_down_handled) { + $state = Host::STATE_DOWN; + $lastStateChange = $h->hosts_down_last_state_change_handled; + } elseif ($h->hosts_unreachable_handled) { + $state = Host::STATE_UNREACHABLE; + $lastStateChange = $h->hosts_unreachable_last_state_change_handled; + } elseif ($h->hosts_up) { + $state = Host::STATE_UP; + $lastStateChange = $h->hosts_up_last_state_change; + } else { + $state = Host::STATE_PENDING; + $lastStateChange = $h->hosts_pending_last_state_change; + } + } + ?> +
+
- prefixedTimeSince($h->services_critical_last_state_change_unhandled); ?> + prefixedTimeSince($lastStateChange); ?>
- translate('UNKNOWN'); ?> -
- prefixedTimeSince($h->services_unknown_last_state_change_unhandled); ?> -
- translate('WARNING'); ?> -
- prefixedTimeSince($h->services_warning_last_state_change_unhandled); ?> -
- translate('CRITICAL'); ?> -
- prefixedTimeSince($h->services_critical_last_state_change_handled); ?> -
- translate('UNKNOWN'); ?> -
- prefixedTimeSince($h->services_unknown_last_state_change_handled); ?> -
- translate('WARNING'); ?> -
- prefixedTimeSince($h->services_warning_last_state_change_handled); ?> -
- translate('OK'); ?> -
- prefixedTimeSince($h->services_ok_last_state_change); ?> -
- translate('PENDING'); ?> -
- prefixedTimeSince($h->services_pending_last_state_change); ?> -
qlink( $h->hostgroup_alias, @@ -93,7 +79,7 @@ if (count($hostgroups) === 0) { )) ); ?> + services_ok): ?> qlink(