From b2c486bf80f282d52ea18ba0df1a6fb964310c8b Mon Sep 17 00:00:00 2001 From: Matthias Jentsch Date: Fri, 11 Sep 2015 16:31:19 +0200 Subject: [PATCH 1/3] Add Backend queries for host and service time periods refs #9888 --- .../Backend/Ido/Query/HoststatusQuery.php | 24 +++++++++++++++++++ .../Backend/Ido/Query/ServicestatusQuery.php | 24 +++++++++++++++++++ .../Monitoring/DataView/Hoststatus.php | 4 +++- .../Monitoring/DataView/Servicestatus.php | 4 +++- .../library/Monitoring/Object/Host.php | 2 ++ .../library/Monitoring/Object/Service.php | 4 +++- 6 files changed, 59 insertions(+), 3 deletions(-) diff --git a/modules/monitoring/library/Monitoring/Backend/Ido/Query/HoststatusQuery.php b/modules/monitoring/library/Monitoring/Backend/Ido/Query/HoststatusQuery.php index 307140b7a..58a97f718 100644 --- a/modules/monitoring/library/Monitoring/Backend/Ido/Query/HoststatusQuery.php +++ b/modules/monitoring/library/Monitoring/Backend/Ido/Query/HoststatusQuery.php @@ -157,6 +157,12 @@ class HoststatusQuery extends IdoQuery 'service' => 'so.name2 COLLATE latin1_general_ci', 'service_description' => 'so.name2', 'service_display_name' => 's.display_name COLLATE latin1_general_ci', + ), + 'checktimeperiods' => array( + 'host_check_timeperiod_alias' => 'ctp.alias COLLATE latin1_general_ci' + ), + 'notificationtimeperiods' => array( + 'host_notification_timeperiod_alias' => 'ntp.alias COLLATE latin1_general_ci' ) ); @@ -266,6 +272,24 @@ class HoststatusQuery extends IdoQuery ); } + protected function joinNotificationtimeperiods() + { + $this->select->joinLeft( + array('ntp' => $this->prefix . 'timeperiods'), + 'ntp.timeperiod_object_id = h.notification_timeperiod_object_id', + array() + ); + } + + protected function joinChecktimeperiods() + { + $this->select->joinLeft( + array('ctp' => $this->prefix . 'timeperiods'), + 'ctp.timeperiod_object_id = h.check_timeperiod_object_id', + array() + ); + } + /** * {@inheritdoc} */ diff --git a/modules/monitoring/library/Monitoring/Backend/Ido/Query/ServicestatusQuery.php b/modules/monitoring/library/Monitoring/Backend/Ido/Query/ServicestatusQuery.php index 7e573fde0..d863eb7d1 100644 --- a/modules/monitoring/library/Monitoring/Backend/Ido/Query/ServicestatusQuery.php +++ b/modules/monitoring/library/Monitoring/Backend/Ido/Query/ServicestatusQuery.php @@ -269,6 +269,12 @@ class ServicestatusQuery extends IdoQuery 'service_state_type' => 'ss.state_type', 'service_status_update_time' => 'ss.status_update_time', 'service_unhandled' => 'CASE WHEN (ss.problem_has_been_acknowledged + ss.scheduled_downtime_depth + COALESCE(hs.current_state, 0)) = 0 THEN 1 ELSE 0 END' + ), + 'checktimeperiods' => array( + 'service_check_timeperiod_alias' => 'ctp.alias COLLATE latin1_general_ci' + ), + 'notificationtimeperiods' => array( + 'service_notification_timeperiod_alias' => 'ntp.alias COLLATE latin1_general_ci' ) ); @@ -386,6 +392,24 @@ class ServicestatusQuery extends IdoQuery ); } + protected function joinNotificationtimeperiods() + { + $this->select->joinLeft( + array('ntp' => $this->prefix . 'timeperiods'), + 'ntp.timeperiod_object_id = s.notification_timeperiod_object_id', + array() + ); + } + + protected function joinChecktimeperiods() + { + $this->select->joinLeft( + array('ctp' => $this->prefix . 'timeperiods'), + 'ctp.timeperiod_object_id = s.check_timeperiod_object_id', + array() + ); + } + /** * {@inheritdoc} */ diff --git a/modules/monitoring/library/Monitoring/DataView/Hoststatus.php b/modules/monitoring/library/Monitoring/DataView/Hoststatus.php index 413f175f1..291b68772 100644 --- a/modules/monitoring/library/Monitoring/DataView/Hoststatus.php +++ b/modules/monitoring/library/Monitoring/DataView/Hoststatus.php @@ -59,7 +59,9 @@ class HostStatus extends DataView 'host_severity', 'host_problem', 'host_ipv4', - 'host_acknowledgement_type' + 'host_acknowledgement_type', + 'host_check_timeperiod_alias', + 'host_notification_timeperiod_alias' ); } diff --git a/modules/monitoring/library/Monitoring/DataView/Servicestatus.php b/modules/monitoring/library/Monitoring/DataView/Servicestatus.php index f12c66535..858da6bad 100644 --- a/modules/monitoring/library/Monitoring/DataView/Servicestatus.php +++ b/modules/monitoring/library/Monitoring/DataView/Servicestatus.php @@ -93,7 +93,9 @@ class ServiceStatus extends DataView 'service_flap_detection_enabled_changed', 'service_modified_service_attributes', 'service_host_name', - 'service_acknowledgement_type' + 'service_acknowledgement_type', + 'service_check_timeperiod_alias', + 'service_notification_timeperiod_alias' ); } diff --git a/modules/monitoring/library/Monitoring/Object/Host.php b/modules/monitoring/library/Monitoring/Object/Host.php index 145f7c7c2..424561285 100644 --- a/modules/monitoring/library/Monitoring/Object/Host.php +++ b/modules/monitoring/library/Monitoring/Object/Host.php @@ -137,6 +137,8 @@ class Host extends MonitoredObject 'host_state', 'host_state_type', 'instance_name', + 'host_check_timeperiod_alias', + 'host_notification_timeperiod_alias' ); if ($this->backend->getType() === 'livestatus') { $columns[] = 'host_contacts'; diff --git a/modules/monitoring/library/Monitoring/Object/Service.php b/modules/monitoring/library/Monitoring/Object/Service.php index 0294bb852..1bc5afb9e 100644 --- a/modules/monitoring/library/Monitoring/Object/Service.php +++ b/modules/monitoring/library/Monitoring/Object/Service.php @@ -163,7 +163,9 @@ class Service extends MonitoredObject 'service_perfdata', 'service_process_perfdata' => 'service_process_performance_data', 'service_state', - 'service_state_type' + 'service_state_type', + 'service_check_timeperiod_alias', + 'service_notification_timeperiod_alias' )) ->where('host_name', $this->host->getName()) ->where('service_description', $this->service); From 9110153ab8a712f1314b2cda4be46680924051bf Mon Sep 17 00:00:00 2001 From: Matthias Jentsch Date: Fri, 11 Sep 2015 16:39:13 +0200 Subject: [PATCH 2/3] Display check timeperiod in host and service detail view refs #9888 --- .../application/views/scripts/host/show.phtml | 1 + .../views/scripts/service/show.phtml | 1 + .../show/components/checktimeperiod.phtml | 21 +++++++++++++++++++ 3 files changed, 23 insertions(+) create mode 100644 modules/monitoring/application/views/scripts/show/components/checktimeperiod.phtml diff --git a/modules/monitoring/application/views/scripts/host/show.phtml b/modules/monitoring/application/views/scripts/host/show.phtml index 12de39a78..23e2bf4e2 100644 --- a/modules/monitoring/application/views/scripts/host/show.phtml +++ b/modules/monitoring/application/views/scripts/host/show.phtml @@ -35,6 +35,7 @@ render('show/components/command.phtml') ?> render('show/components/checksource.phtml') ?> render('show/components/checkstatistics.phtml') ?> + render('show/components/checktimeperiod.phtml') ?> render('show/components/customvars.phtml') ?> render('show/components/flags.phtml') ?> diff --git a/modules/monitoring/application/views/scripts/service/show.phtml b/modules/monitoring/application/views/scripts/service/show.phtml index 1fac5752f..ad7fb4177 100644 --- a/modules/monitoring/application/views/scripts/service/show.phtml +++ b/modules/monitoring/application/views/scripts/service/show.phtml @@ -27,6 +27,7 @@ render('show/components/command.phtml') ?> render('show/components/checksource.phtml') ?> render('show/components/checkstatistics.phtml') ?> + render('show/components/checktimeperiod.phtml') ?> render('show/components/customvars.phtml') ?> render('show/components/flags.phtml') ?> diff --git a/modules/monitoring/application/views/scripts/show/components/checktimeperiod.phtml b/modules/monitoring/application/views/scripts/show/components/checktimeperiod.phtml new file mode 100644 index 000000000..0758a570c --- /dev/null +++ b/modules/monitoring/application/views/scripts/show/components/checktimeperiod.phtml @@ -0,0 +1,21 @@ +service_check_timeperiod_alias)): ?> + + + translate('Check Timeperiod') ?> + + service_check_timeperiod_alias ?> + + + + + +host_check_timeperiod_alias)): ?> + + + translate('Check Timeperiod') ?> + + host_check_timeperiod_alias ?> + + + + From 32b47151304ddedfbcf7ce174ab374e7af1d29ff Mon Sep 17 00:00:00 2001 From: Matthias Jentsch Date: Mon, 14 Sep 2015 12:05:15 +0200 Subject: [PATCH 3/3] Remove unused joins and conform to coding guidelines --- .../scripts/show/components/checktimeperiod.phtml | 12 ++++++------ .../Backend/Ido/Query/HoststatusQuery.php | 14 +------------- .../Backend/Ido/Query/ServicestatusQuery.php | 14 +------------- .../library/Monitoring/DataView/Hoststatus.php | 5 ++--- .../library/Monitoring/DataView/Servicestatus.php | 3 +-- .../monitoring/library/Monitoring/Object/Host.php | 5 ++--- .../library/Monitoring/Object/Service.php | 5 ++--- 7 files changed, 15 insertions(+), 43 deletions(-) diff --git a/modules/monitoring/application/views/scripts/show/components/checktimeperiod.phtml b/modules/monitoring/application/views/scripts/show/components/checktimeperiod.phtml index 0758a570c..34c4eb9ef 100644 --- a/modules/monitoring/application/views/scripts/show/components/checktimeperiod.phtml +++ b/modules/monitoring/application/views/scripts/show/components/checktimeperiod.phtml @@ -1,21 +1,21 @@ -service_check_timeperiod_alias)): ?> +service_check_timeperiod)): ?> translate('Check Timeperiod') ?> - service_check_timeperiod_alias ?> + service_check_timeperiod ?> - + -host_check_timeperiod_alias)): ?> +host_check_timeperiod)): ?> translate('Check Timeperiod') ?> - host_check_timeperiod_alias ?> + host_check_timeperiod ?> - + diff --git a/modules/monitoring/library/Monitoring/Backend/Ido/Query/HoststatusQuery.php b/modules/monitoring/library/Monitoring/Backend/Ido/Query/HoststatusQuery.php index 58a97f718..9898ccac9 100644 --- a/modules/monitoring/library/Monitoring/Backend/Ido/Query/HoststatusQuery.php +++ b/modules/monitoring/library/Monitoring/Backend/Ido/Query/HoststatusQuery.php @@ -159,10 +159,7 @@ class HoststatusQuery extends IdoQuery 'service_display_name' => 's.display_name COLLATE latin1_general_ci', ), 'checktimeperiods' => array( - 'host_check_timeperiod_alias' => 'ctp.alias COLLATE latin1_general_ci' - ), - 'notificationtimeperiods' => array( - 'host_notification_timeperiod_alias' => 'ntp.alias COLLATE latin1_general_ci' + 'host_check_timeperiod' => 'ctp.alias COLLATE latin1_general_ci' ) ); @@ -272,15 +269,6 @@ class HoststatusQuery extends IdoQuery ); } - protected function joinNotificationtimeperiods() - { - $this->select->joinLeft( - array('ntp' => $this->prefix . 'timeperiods'), - 'ntp.timeperiod_object_id = h.notification_timeperiod_object_id', - array() - ); - } - protected function joinChecktimeperiods() { $this->select->joinLeft( diff --git a/modules/monitoring/library/Monitoring/Backend/Ido/Query/ServicestatusQuery.php b/modules/monitoring/library/Monitoring/Backend/Ido/Query/ServicestatusQuery.php index d863eb7d1..734e138d4 100644 --- a/modules/monitoring/library/Monitoring/Backend/Ido/Query/ServicestatusQuery.php +++ b/modules/monitoring/library/Monitoring/Backend/Ido/Query/ServicestatusQuery.php @@ -271,10 +271,7 @@ class ServicestatusQuery extends IdoQuery 'service_unhandled' => 'CASE WHEN (ss.problem_has_been_acknowledged + ss.scheduled_downtime_depth + COALESCE(hs.current_state, 0)) = 0 THEN 1 ELSE 0 END' ), 'checktimeperiods' => array( - 'service_check_timeperiod_alias' => 'ctp.alias COLLATE latin1_general_ci' - ), - 'notificationtimeperiods' => array( - 'service_notification_timeperiod_alias' => 'ntp.alias COLLATE latin1_general_ci' + 'service_check_timeperiod' => 'ctp.alias COLLATE latin1_general_ci' ) ); @@ -392,15 +389,6 @@ class ServicestatusQuery extends IdoQuery ); } - protected function joinNotificationtimeperiods() - { - $this->select->joinLeft( - array('ntp' => $this->prefix . 'timeperiods'), - 'ntp.timeperiod_object_id = s.notification_timeperiod_object_id', - array() - ); - } - protected function joinChecktimeperiods() { $this->select->joinLeft( diff --git a/modules/monitoring/library/Monitoring/DataView/Hoststatus.php b/modules/monitoring/library/Monitoring/DataView/Hoststatus.php index 291b68772..f30e00193 100644 --- a/modules/monitoring/library/Monitoring/DataView/Hoststatus.php +++ b/modules/monitoring/library/Monitoring/DataView/Hoststatus.php @@ -32,6 +32,7 @@ class HostStatus extends DataView 'host_output', 'host_long_output', 'host_check_command', + 'host_check_timeperiod', 'host_perfdata', 'host_check_source', 'host_passive_checks_enabled', @@ -59,9 +60,7 @@ class HostStatus extends DataView 'host_severity', 'host_problem', 'host_ipv4', - 'host_acknowledgement_type', - 'host_check_timeperiod_alias', - 'host_notification_timeperiod_alias' + 'host_acknowledgement_type' ); } diff --git a/modules/monitoring/library/Monitoring/DataView/Servicestatus.php b/modules/monitoring/library/Monitoring/DataView/Servicestatus.php index 858da6bad..8c19cb1ab 100644 --- a/modules/monitoring/library/Monitoring/DataView/Servicestatus.php +++ b/modules/monitoring/library/Monitoring/DataView/Servicestatus.php @@ -73,6 +73,7 @@ class ServiceStatus extends DataView 'service_problem', 'service_perfdata', 'service_check_source', + 'service_check_timeperiod', 'service_active_checks_enabled', 'service_active_checks_enabled_changed', 'service_passive_checks_enabled', @@ -94,8 +95,6 @@ class ServiceStatus extends DataView 'service_modified_service_attributes', 'service_host_name', 'service_acknowledgement_type', - 'service_check_timeperiod_alias', - 'service_notification_timeperiod_alias' ); } diff --git a/modules/monitoring/library/Monitoring/Object/Host.php b/modules/monitoring/library/Monitoring/Object/Host.php index 424561285..75c31c3ea 100644 --- a/modules/monitoring/library/Monitoring/Object/Host.php +++ b/modules/monitoring/library/Monitoring/Object/Host.php @@ -101,6 +101,7 @@ class Host extends MonitoredObject 'host_check_execution_time', 'host_check_latency', 'host_check_source', + 'host_check_timeperiod', 'host_current_check_attempt', 'host_current_notification_number', 'host_display_name', @@ -136,9 +137,7 @@ class Host extends MonitoredObject 'host_process_perfdata' => 'host_process_performance_data', 'host_state', 'host_state_type', - 'instance_name', - 'host_check_timeperiod_alias', - 'host_notification_timeperiod_alias' + 'instance_name' ); if ($this->backend->getType() === 'livestatus') { $columns[] = 'host_contacts'; diff --git a/modules/monitoring/library/Monitoring/Object/Service.php b/modules/monitoring/library/Monitoring/Object/Service.php index 1bc5afb9e..f4f3ce748 100644 --- a/modules/monitoring/library/Monitoring/Object/Service.php +++ b/modules/monitoring/library/Monitoring/Object/Service.php @@ -133,6 +133,7 @@ class Service extends MonitoredObject 'service_check_execution_time', 'service_check_latency', 'service_check_source', + 'service_check_timeperiod', 'service_current_notification_number', 'service_description', 'service_display_name', @@ -163,9 +164,7 @@ class Service extends MonitoredObject 'service_perfdata', 'service_process_perfdata' => 'service_process_performance_data', 'service_state', - 'service_state_type', - 'service_check_timeperiod_alias', - 'service_notification_timeperiod_alias' + 'service_state_type' )) ->where('host_name', $this->host->getName()) ->where('service_description', $this->service);