diff options
Diffstat (limited to 'modules/monitoring/application/views/scripts/tactical')
6 files changed, 1112 insertions, 0 deletions
diff --git a/modules/monitoring/application/views/scripts/tactical/components/hostservicechecks.phtml b/modules/monitoring/application/views/scripts/tactical/components/hostservicechecks.phtml new file mode 100644 index 0000000..e6dc0be --- /dev/null +++ b/modules/monitoring/application/views/scripts/tactical/components/hostservicechecks.phtml @@ -0,0 +1,131 @@ +<div class="box hostservicechecks col-1-2"> + <div class="box header"> + <h2><?= $this->translate('Host and Service Checks'); ?></h2> + </div> + <div class="box contents"> + <table> + <thead> + <tr> + <th><?= $this->translate('Hosts'); ?></th> + <th><?= $this->translate('Services'); ?></th> + </tr> + </thead> + <tbody> + <tr> + <td> +<?php if ($this->statusSummary->hosts_active): ?> + <div class="box entry"><?= $this->qlink( + sprintf( + $this->translatePlural('%u Active', '%u Active', $this->statusSummary->hosts_active), + $this->statusSummary->hosts_active + ), + 'monitoring/list/hosts', + array('host_active_checks_enabled' => 1), + array('title' => sprintf( + $this->translatePlural( + 'List %u actively checked host', + 'List %u actively checked hosts', + $this->statusSummary->hosts_active + ), + $this->statusSummary->hosts_active + )) + ); ?></div> +<?php endif ?> +<?php if ($this->statusSummary->hosts_passive): ?> + <div class="box entry"><?= $this->qlink( + sprintf( + $this->translatePlural('%d Passive', '%d Passive', $this->statusSummary->hosts_passive), + $this->statusSummary->hosts_passive + ), + 'monitoring/list/hosts', + array('host_active_checks_enabled' => 0, 'host_passive_checks_enabled' => 1), + array('title' => sprintf( + $this->translatePlural( + 'List %u passively checked host', + 'List %u passively checked hosts', + $this->statusSummary->hosts_passive + ), + $this->statusSummary->hosts_passive + )) + ); ?></div> +<?php endif ?> +<?php if ($this->statusSummary->hosts_not_checked): ?> + <div class="box entry"><?= $this->qlink( + sprintf( + $this->translatePlural('%d Disabled', '%d Disabled', $this->statusSummary->hosts_not_checked), + $this->statusSummary->hosts_not_checked + ), + 'monitoring/list/hosts', + array('host_active_checks_enabled' => 0, 'host_passive_checks_enabled' => 0), + array('title' => sprintf( + $this->translatePlural( + 'List %u host that is not being checked at all', + 'List %u hosts which are not being checked at all', + $this->statusSummary->hosts_not_checked + ), + $this->statusSummary->hosts_not_checked + )) + ); ?></div> +<?php endif ?> + </td> + <td> +<?php if ($this->statusSummary->services_active): ?> + <div class="box entry"><?= $this->qlink( + sprintf( + $this->translatePlural('%d Active', '%d Active', $this->statusSummary->services_active), + $this->statusSummary->services_active + ), + 'monitoring/list/services', + array('service_active_checks_enabled' => 1), + array('title' => sprintf( + $this->translatePlural( + 'List %u actively checked service', + 'List %u actively checked services', + $this->statusSummary->services_active + ), + $this->statusSummary->services_active + )) + ); ?></div> +<?php endif ?> +<?php if ($this->statusSummary->services_passive): ?> + <div class="box entry"><?= $this->qlink( + sprintf( + $this->translatePlural('%d Passive', '%d Passive', $this->statusSummary->services_passive), + $this->statusSummary->services_passive + ), + 'monitoring/list/services', + array('service_active_checks_enabled' => 0, 'service_passive_checks_enabled' => 1), + array('title' => sprintf( + $this->translatePlural( + 'List %u passively checked service', + 'List %u passively checked services', + $this->statusSummary->services_passive + ), + $this->statusSummary->services_passive + )) + ); ?></div> +<?php endif ?> +<?php if ($this->statusSummary->services_not_checked): ?> + <div class="box entry"><?= $this->qlink( + sprintf( + $this->translatePlural('%d Disabled', '%d Disabled', $this->statusSummary->services_not_checked), + $this->statusSummary->services_not_checked + ), + 'monitoring/list/services', + array('service_active_checks_enabled' => 0, 'service_passive_checks_enabled' => 0), + array('title' => sprintf( + $this->translatePlural( + 'List %u service that is not being checked at all', + 'List %u services which are not being checked at all', + $this->statusSummary->services_not_checked + ), + $this->statusSummary->services_not_checked + )) + ); ?></div> +<?php endif ?> + </td> + </tr> + </tbody> + </table> + </div> +</div> diff --git a/modules/monitoring/application/views/scripts/tactical/components/monitoringfeatures.phtml b/modules/monitoring/application/views/scripts/tactical/components/monitoringfeatures.phtml new file mode 100644 index 0000000..eeeec16 --- /dev/null +++ b/modules/monitoring/application/views/scripts/tactical/components/monitoringfeatures.phtml @@ -0,0 +1,287 @@ +<div class="box monitoringfeatures col-1-2"> + <div class="box header"> + <h2><?= $this->translate('Monitoring Features'); ?></h2> + </div> + <div class="box contents"> +<?php if ($this->statusSummary->hosts_without_flap_detection || $this->statusSummary->services_without_flap_detection || + $this->statusSummary->hosts_flapping || $this->statusSummary->services_flapping): ?> + <div class="box-separator badge feature-highlight"><?= $this->translate('Flap Detection'); ?></div> +<?php else: ?> + <div class="box-separator badge"><?= $this->translate('Flap Detection'); ?></div> +<?php endif ?> + <table> + <tbody> + <tr> + <td> + <div class="box entry"> +<?php if ($this->statusSummary->hosts_without_flap_detection): ?> + <?= $this->qlink( + sprintf( + $this->translatePlural('%u Host Disabled', '%u Hosts Disabled', $this->statusSummary->hosts_without_flap_detection), + $this->statusSummary->hosts_without_flap_detection + ), + 'monitoring/list/hosts', + array('host_flap_detection_enabled' => 0), + array( + 'class' => 'feature-highlight', + 'title' => sprintf( + $this->translatePlural( + 'List %u host for which flap detection has been disabled', + 'List %u hosts for which flap detection has been disabled', + $this->statusSummary->hosts_without_flap_detection + ), + $this->statusSummary->hosts_without_flap_detection + ) + ) + ); ?> +<?php else: ?> + <?= $this->qlink( + $this->translate('All Hosts Enabled'), + 'monitoring/list/hosts', + array('host_flap_detection_enabled' => 1), + array('title' => $this->translate( + 'List all hosts, for which flap detection is enabled entirely' + )) + ); ?> +<?php endif ?> +<?php if ($this->statusSummary->hosts_flapping): ?> + <?= $this->qlink( + sprintf( + $this->translatePlural('%u Host Flapping', '%u Hosts Flapping', $this->statusSummary->hosts_flapping), + $this->statusSummary->hosts_flapping + ), + 'monitoring/list/hosts', + array('host_is_flapping' => 1), + array( + 'class' => 'feature-highlight', + 'title' => sprintf( + $this->translatePlural( + 'List %u host that is currently flapping', + 'List %u hosts which are currently flapping', + $this->statusSummary->hosts_flapping + ), + $this->statusSummary->hosts_flapping + ) + ) + ); ?> +<?php endif ?> + </div> + </td> + <td> + <div class="box entry"> +<?php if ($this->statusSummary->services_without_flap_detection): ?> + <?= $this->qlink( + sprintf( + $this->translatePlural('%u Service Disabled', '%u Services Disabled', $this->statusSummary->services_without_flap_detection), + $this->statusSummary->services_without_flap_detection + ), + 'monitoring/list/services', + array('service_flap_detection_enabled' => 0), + array( + 'class' => 'feature-highlight', + 'title' => sprintf( + $this->translatePlural( + 'List %u service for which flap detection has been disabled', + 'List %u services for which flap detection has been disabled', + $this->statusSummary->services_without_flap_detection + ), + $this->statusSummary->services_without_flap_detection + ) + ) + ); ?> +<?php else: ?> + <?= $this->qlink( + $this->translate('All Services Enabled'), + 'monitoring/list/services', + array('service_flap_detection_enabled' => 1), + array('title' => $this->translate( + 'List all services, for which flap detection is enabled entirely' + )) + ); ?> +<?php endif ?> +<?php if ($this->statusSummary->services_flapping): ?> + <?= $this->qlink( + sprintf( + $this->translatePlural('%u Service Flapping', '%u Services Flapping', $this->statusSummary->services_flapping), + $this->statusSummary->services_flapping + ), + 'monitoring/list/services', + array('service_is_flapping' => 1), + array( + 'class' => 'feature-highlight', + 'title' => sprintf( + $this->translatePlural( + 'List %u service that is currently flapping', + 'List %u services which are currently flapping', + $this->statusSummary->services_flapping + ), + $this->statusSummary->services_flapping + ) + ) + ); ?> +<?php endif ?> + </div> + </td> + </tr> + </tbody> + </table> +<?php if ($this->statusSummary->hosts_not_triggering_notifications || $this->statusSummary->services_not_triggering_notifications): ?> + <div class="box-separator badge feature-highlight"><?= $this->translate('Notifications'); ?></div> +<?php else: ?> + <div class="box-separator badge"><?= $this->translate('Notifications'); ?></div> +<?php endif ?> + <table> + <tbody> + <tr> + <td> + <div class="box entry"> +<?php if ($this->statusSummary->hosts_not_triggering_notifications): ?> + <?= $this->qlink( + sprintf( + $this->translatePlural('%u Host Disabled', '%u Hosts Disabled', $this->statusSummary->hosts_not_triggering_notifications), + $this->statusSummary->hosts_not_triggering_notifications + ), + 'monitoring/list/hosts', + array('host_notifications_enabled' => 0), + array( + 'class' => 'feature-highlight', + 'title' => sprintf( + $this->translatePlural( + 'List %u host for which notifications are suppressed', + 'List %u hosts for which notifications are suppressed', + $this->statusSummary->hosts_not_triggering_notifications + ), + $this->statusSummary->hosts_not_triggering_notifications + ) + ) + ); ?> +<?php else: ?> + <?= $this->qlink( + $this->translate('All Hosts Enabled'), + 'monitoring/list/hosts', + array('host_notifications_enabled' => 1), + array('title' => $this->translate( + 'List all hosts, for which notifications are enabled entirely' + )) + ); ?> +<?php endif ?> + </div> + </td> + <td> + <div class="box entry"> +<?php if ($this->statusSummary->services_not_triggering_notifications): ?> + <?= $this->qlink( + sprintf( + $this->translatePlural('%u Service Disabled', '%u Services Disabled', $this->statusSummary->services_not_triggering_notifications), + $this->statusSummary->services_not_triggering_notifications + ), + 'monitoring/list/services', + array('service_notifications_enabled' => 0), + array( + 'class' => 'feature-highlight', + 'title' => sprintf( + $this->translatePlural( + 'List %u service for which notifications are suppressed', + 'List %u services for which notifications are suppressed', + $this->statusSummary->services_not_triggering_notifications + ), + $this->statusSummary->services_not_triggering_notifications + ) + ) + ); ?> +<?php else: ?> + <?= $this->qlink( + $this->translate('All Services Enabled'), + 'monitoring/list/services', + array('service_notifications_enabled' => 1), + array('title' => $this->translate( + 'List all services, for which notifications are enabled entirely' + )) + ); ?> +<?php endif ?> + </div> + </td> + </tr> + </tbody> + </table> +<?php if ($this->statusSummary->hosts_not_processing_event_handlers || $this->statusSummary->services_not_processing_event_handlers): ?> + <div class="box-separator badge feature-highlight"><?= $this->translate('Event Handlers'); ?></div> +<?php else: ?> + <div class="box-separator badge"><?= $this->translate('Event Handlers'); ?></div> +<?php endif ?> + <table> + <tbody> + <tr> + <td> + <div class="box entry"> +<?php if ($this->statusSummary->hosts_not_processing_event_handlers): ?> + <?= $this->qlink( + sprintf( + $this->translatePlural('%u Host Disabled', '%u Hosts Disabled', $this->statusSummary->hosts_not_processing_event_handlers), + $this->statusSummary->hosts_not_processing_event_handlers + ), + 'monitoring/list/hosts', + array('host_event_handler_enabled' => 0), + array( + 'class' => 'feature-highlight', + 'title' => sprintf( + $this->translatePlural( + 'List %u host that is not processing any event handlers', + 'List %u hosts which are not processing any event handlers', + $this->statusSummary->hosts_not_processing_event_handlers + ), + $this->statusSummary->hosts_not_processing_event_handlers + ) + ) + ); ?> +<?php else: ?> + <?= $this->qlink( + $this->translate('All Hosts Enabled'), + 'monitoring/list/hosts', + array('host_event_handler_enabled' => 1), + array('title' => $this->translate( + 'List all hosts, which are processing event handlers entirely' + )) + ); ?> +<?php endif ?> + </div> + </td> + <td> + <div class="box entry"> +<?php if ($this->statusSummary->services_not_processing_event_handlers): ?> + <?= $this->qlink( + sprintf( + $this->translatePlural('%u Service Disabled', '%u Services Disabled', $this->statusSummary->services_not_processing_event_handlers), + $this->statusSummary->services_not_processing_event_handlers + ), + 'monitoring/list/services', + array('service_event_handler_enabled' => 0), + array( + 'class' => 'feature-highlight', + 'title' => sprintf( + $this->translatePlural( + 'List %u service that is not processing any event handlers', + 'List %u services which are not processing any event handlers', + $this->statusSummary->services_not_processing_event_handlers + ), + $this->statusSummary->services_not_processing_event_handlers + ) + ) + ); ?> +<?php else: ?> + <?= $this->qlink( + $this->translate('All Services Enabled'), + 'monitoring/list/services', + array('service_event_handler_enabled' => 1), + array('title' => $this->translate( + 'List all services, which are processing event handlers entirely' + )) + ); ?> +<?php endif ?> + </div> + </td> + </tr> + </tbody> + </table> + </div> +</div> diff --git a/modules/monitoring/application/views/scripts/tactical/components/ok_hosts.phtml b/modules/monitoring/application/views/scripts/tactical/components/ok_hosts.phtml new file mode 100644 index 0000000..05ffd29 --- /dev/null +++ b/modules/monitoring/application/views/scripts/tactical/components/ok_hosts.phtml @@ -0,0 +1,81 @@ +<?php +$service_problems = ( + $this->statusSummary->services_warning_handled_on_ok_hosts || + $this->statusSummary->services_warning_unhandled_on_ok_hosts || + $this->statusSummary->services_critical_handled_on_ok_hosts || + $this->statusSummary->services_critical_unhandled_on_ok_hosts || + $this->statusSummary->services_unknown_handled_on_ok_hosts || + $this->statusSummary->services_unknown_unhandled_on_ok_hosts +); +?> +<div class="box ok_hosts state_<?= $this->statusSummary->hosts_up ? 'up' : 'pending'; ?> col-1-2"> + <div class="box header"> + <?php if ($this->statusSummary->hosts_up): ?> + <h2><?= $this->qlink( + sprintf( + $this->translatePlural('%u Host UP', '%u Hosts UP', $this->statusSummary->hosts_up), + $this->statusSummary->hosts_up + ), + 'monitoring/list/hosts', + array('host_state' => 0), + array('title' => sprintf( + $this->translatePlural( + 'List %u host that is currently in state UP', + 'List %u hosts which are currently in state UP', + $this->statusSummary->hosts_up + ), + $this->statusSummary->hosts_up + )) + ); ?></h2> + <?php endif ?> + <?php if ($this->statusSummary->hosts_pending): ?> + <h2><?= $this->qlink( + sprintf( + $this->translatePlural('%u Host PENDING', '%u Hosts PENDING', $this->statusSummary->hosts_pending), + $this->statusSummary->hosts_pending + ), + 'monitoring/list/hosts', + array('host_state' => 99), + array('title' => sprintf( + $this->translatePlural( + 'List %u host that is currently in state PENDING', + 'List %u hosts which are currently in state PENDING', + $this->statusSummary->hosts_pending + ), + $this->statusSummary->hosts_pending + )) + ); ?></h2> + <?php endif ?> + </div> +<?php if ($service_problems || $this->statusSummary->hosts_down || $this->statusSummary->hosts_unreachable): ?> + <div class="box contents"> + <?= $this->partial( + 'tactical/components/parts/servicestatesummarybyhoststate.phtml', + array( + 'translationDomain' => $this->translationDomain, + 'host_problem' => 0, + 'services_ok' => $this->statusSummary->services_ok_on_ok_hosts, + 'services_ok_not_checked' => $this->statusSummary->services_ok_not_checked_on_ok_hosts, + 'services_pending' => $this->statusSummary->services_pending_on_ok_hosts, + 'services_pending_not_checked' => $this->statusSummary->services_pending_not_checked_on_ok_hosts, + 'services_warning_handled' => $this->statusSummary->services_warning_handled_on_ok_hosts, + 'services_warning_unhandled' => $this->statusSummary->services_warning_unhandled_on_ok_hosts, + 'services_warning_passive' => $this->statusSummary->services_warning_passive_on_ok_hosts, + 'services_warning_not_checked' => $this->statusSummary->services_warning_not_checked_on_ok_hosts, + 'services_critical_handled' => $this->statusSummary->services_critical_handled_on_ok_hosts, + 'services_critical_unhandled' => $this->statusSummary->services_critical_unhandled_on_ok_hosts, + 'services_critical_passive' => $this->statusSummary->services_critical_passive_on_ok_hosts, + 'services_critical_not_checked' => $this->statusSummary->services_critical_not_checked_on_ok_hosts, + 'services_unknown_handled' => $this->statusSummary->services_unknown_handled_on_ok_hosts, + 'services_unknown_unhandled' => $this->statusSummary->services_unknown_unhandled_on_ok_hosts, + 'services_unknown_passive' => $this->statusSummary->services_unknown_passive_on_ok_hosts, + 'services_unknown_not_checked' => $this->statusSummary->services_unknown_not_checked_on_ok_hosts + ) + ); ?> +<?php else: ?> + <div class="box contents zero"> + <h3>0</h3> + <span><?= $this->translate('Service Problems'); ?></span> +<?php endif ?> + </div> +</div> diff --git a/modules/monitoring/application/views/scripts/tactical/components/parts/servicestatesummarybyhoststate.phtml b/modules/monitoring/application/views/scripts/tactical/components/parts/servicestatesummarybyhoststate.phtml new file mode 100644 index 0000000..4f32daf --- /dev/null +++ b/modules/monitoring/application/views/scripts/tactical/components/parts/servicestatesummarybyhoststate.phtml @@ -0,0 +1,394 @@ +<?php + +use Icinga\Module\Monitoring\Object\Service; + +?> +<?php if ($services_critical_handled || $services_critical_unhandled): ?> +<div class="box badge entry state-<?= Service::getStateText(2); ?> <?= $services_critical_unhandled ? '' : 'handled'; ?>"> +<?php if ($services_critical_unhandled): ?> + <?= $this->qlink( + $services_critical_unhandled . ' ' . Service::getStateText(2, true), + 'monitoring/list/services', + array( + 'host_problem' => $host_problem, + 'service_state' => 2, + 'service_acknowledged' => 0, + 'service_in_downtime' => 0 + ), + array('title' => sprintf( + $this->translatePlural( + 'List %u service that is currently in state CRITICAL', + 'List %u services which are currently in state CRITICAL', + $services_critical_unhandled + ), + $services_critical_unhandled + )) + ); ?> +<?php endif ?> +<?php if ($services_critical_handled): ?> + <?= $this->qlink( + $services_critical_handled . ' ' . ( + $services_critical_unhandled ? $this->translate('Handled') : Service::getStateText(2, true) + ), + 'monitoring/list/services', + array( + 'host_problem' => $host_problem, + 'service_state' => 2, + 'service_handled' => 1 + ), + array('title' => sprintf( + $this->translatePlural( + 'List %u service that is currently in state CRITICAL (Handled)', + 'List %u services which are currently in state CRITICAL (Handled)', + $services_critical_handled + ), + $services_critical_handled + )) + ); ?> +<?php endif ?> +<?php if ($services_critical_passive): ?> + <?= $this->qlink( + sprintf( + $this->translatePlural( + '%u is passively checked', + '%u are passively checked', + $services_critical_passive + ), + $services_critical_passive + ), + 'monitoring/list/services', + array( + 'service_state' => 2, + 'host_problem' => $host_problem, + 'service_active_checks_enabled' => 0, + 'service_passive_checks_enabled' => 1 + ), + array('title' => sprintf( + $this->translatePlural( + 'List %u service that is currently in state CRITICAL and passively checked', + 'List %u services which are currently in state CRITICAL and passively checked', + $services_critical_passive + ), + $services_critical_passive + )) + ); ?> +<?php endif ?> +<?php if ($services_critical_not_checked): ?> + <?= $this->qlink( + sprintf( + $this->translatePlural( + '%u is not checked at all', + '%u are not checked at all', + $services_critical_not_checked + ), + $services_critical_not_checked + ), + 'monitoring/list/services', + array( + 'service_state' => 2, + 'host_problem' => $host_problem, + 'service_active_checks_enabled' => 0, + 'service_passive_checks_enabled' => 0 + ), + array('title' => sprintf( + $this->translatePlural( + 'List %u service that is currently in state CRITICAL and not checked at all', + 'List %u services which are currently in state CRITICAL and not checked at all', + $services_critical_not_checked + ), + $services_critical_not_checked + )) + ); ?> +<?php endif ?> +</div> +<?php endif ?> +<?php if ($services_warning_handled || $services_warning_unhandled): ?> +<div class="box badge entry state-<?= Service::getStateText(1); ?> <?= $services_warning_unhandled ? '' : 'handled'; ?>"> +<?php if ($services_warning_unhandled): ?> + <?= $this->qlink( + $services_warning_unhandled . ' ' . Service::getStateText(1, true), + 'monitoring/list/services', + array( + 'host_problem' => $host_problem, + 'service_state' => 1, + 'service_acknowledged' => 0, + 'service_in_downtime' => 0 + ), + array('title' => sprintf( + $this->translatePlural( + 'List %u service that is currently in state WARNING', + 'List %u services which are currently in state WARNING', + $services_warning_unhandled + ), + $services_warning_unhandled + )) + ); ?> +<?php endif ?> +<?php if ($services_warning_handled): ?> + <?= $this->qlink( + $services_warning_handled . ' ' . ( + $services_warning_unhandled ? $this->translate('Handled') : Service::getStateText(1, true) + ), + 'monitoring/list/services', + array( + 'host_problem' => $host_problem, + 'service_state' => 1, + 'service_handled' => 1 + ), + array('title' => sprintf( + $this->translatePlural( + 'List %u service that is currently in state WARNING (Handled)', + 'List %u services which are currently in state WARNING (Handled)', + $services_warning_handled + ), + $services_warning_handled + )) + ); ?> +<?php endif ?> +<?php if ($services_warning_passive): ?> + <?= $this->qlink( + sprintf( + $this->translatePlural( + '%u is passively checked', + '%u are passively checked', + $services_warning_passive + ), + $services_warning_passive + ), + 'monitoring/list/services', + array( + 'service_state' => 1, + 'host_problem' => $host_problem, + 'service_active_checks_enabled' => 0, + 'service_passive_checks_enabled' => 1 + ), + array('title' => sprintf( + $this->translatePlural( + 'List %u service that is currently in state WARNING and passively checked', + 'List %u services which are currently in state WARNING and passively checked', + $services_warning_passive + ), + $services_warning_passive + )) + ); ?> +<?php endif ?> +<?php if ($services_warning_not_checked): ?> + <?= $this->qlink( + sprintf( + $this->translatePlural( + '%u is not checked at all', + '%u are not checked at all', + $services_warning_not_checked + ), + $services_warning_not_checked + ), + 'monitoring/list/services', + array( + 'service_state' => 1, + 'host_problem' => $host_problem, + 'service_active_checks_enabled' => 0, + 'service_passive_checks_enabled' => 0 + ), + array('title' => sprintf( + $this->translatePlural( + 'List %u service that is currently in state WARNING and not checked at all', + 'List %u services which are currently in state WARNING and not checked at all', + $services_warning_not_checked + ), + $services_warning_not_checked + )) + ); ?> +<?php endif ?> +</div> +<?php endif ?> +<?php if ($services_unknown_handled || $services_unknown_unhandled): ?> +<div class="box badge entry state-<?= Service::getStateText(3); ?> <?= $services_unknown_unhandled ? '' : 'handled'; ?>"> +<?php if ($services_unknown_unhandled): ?> + <?= $this->qlink( + $services_unknown_unhandled . ' ' . Service::getStateText(3, true), + 'monitoring/list/services', + array( + 'host_problem' => $host_problem, + 'service_state' => 3, + 'service_acknowledged' => 0, + 'service_in_downtime' => 0 + ), + array('title' => sprintf( + $this->translatePlural( + 'List %u service that is currently in state UNKNOWN', + 'List %u services which are currently in state UNKNOWN', + $services_unknown_unhandled + ), + $services_unknown_unhandled + )) + ); ?> +<?php endif ?> +<?php if ($services_unknown_handled): ?> + <?= $this->qlink( + $services_unknown_handled . ' ' . ( + $services_unknown_unhandled ? $this->translate('Handled') : Service::getStateText(3, true) + ), + 'monitoring/list/services', + array( + 'host_problem' => $host_problem, + 'service_state' => 3, + 'service_handled' => 1 + ), + array('title' => sprintf( + $this->translatePlural( + 'List %u service that is currently in state UNKNOWN (Handled)', + 'List %u services which are currently in state UNKNOWN (Handled)', + $services_unknown_handled + ), + $services_unknown_handled + )) + ); ?> +<?php endif ?> +<?php if ($services_unknown_passive): ?> + <?= $this->qlink( + sprintf( + $this->translatePlural( + '%u is passively checked', + '%u are passively checked', + $services_unknown_passive + ), + $services_unknown_passive + ), + 'monitoring/list/services', + array( + 'service_state' => 3, + 'host_problem' => $host_problem, + 'service_active_checks_enabled' => 0, + 'service_passive_checks_enabled' => 1 + ), + array('title' => sprintf( + $this->translatePlural( + 'List %u service that is currently in state UNKNOWN and passively checked', + 'List %u services which are currently in state UNKNOWN and passively checked', + $services_unknown_passive + ), + $services_unknown_passive + )) + ); ?> +<?php endif ?> +<?php if ($services_unknown_not_checked): ?> + <?= $this->qlink( + sprintf( + $this->translatePlural( + '%u is not checked at all', + '%u are not checked at all', + $services_unknown_not_checked + ), + $services_unknown_not_checked + ), + 'monitoring/list/services', + array( + 'service_state' => 3, + 'host_problem' => $host_problem, + 'service_active_checks_enabled' => 0, + 'service_passive_checks_enabled' => 0 + ), + array('title' => sprintf( + $this->translatePlural( + 'List %u service that is currently in state UNKNOWN and not checked at all', + 'List %u services which are currently in state UNKNOWN and not checked at all', + $services_unknown_not_checked + ), + $services_unknown_not_checked + )) + ); ?> +<?php endif ?> +</div> +<?php endif ?> +<?php if ($services_ok): ?> +<div class="box badge entry state-<?= Service::getStateText(0); ?>"> + <?= $this->qlink( + $services_ok . ' ' . Service::getStateText(0, true), + 'monitoring/list/services', + array( + 'host_problem' => $host_problem, + 'service_state' => 0 + ), + array('title' => sprintf( + $this->translatePlural( + 'List %u service that is currently in state OK', + 'List %u services which are currently in state OK', + $services_ok + ), + $services_ok + )) + ); ?> +<?php if ($services_ok_not_checked): ?> + <?= $this->qlink( + sprintf( + $this->translatePlural( + '%u is not checked at all', + '%u are not checked at all', + $services_ok_not_checked + ), + $services_ok_not_checked + ), + 'monitoring/list/services', + array( + 'service_state' => 0, + 'host_problem' => $host_problem, + 'service_active_checks_enabled' => 0, + 'service_passive_checks_enabled' => 0 + ), + array('title' => sprintf( + $this->translatePlural( + 'List %u service that is currently in state OK and not checked at all', + 'List %u services which are currently in state OK and not checked at all', + $services_ok_not_checked + ), + $services_ok_not_checked + )) + ); ?> +<?php endif ?> +</div> +<?php endif ?> +<?php if ($services_pending): ?> +<div class="box badge entry state-<?= Service::getStateText(99); ?>"> + <?= $this->qlink( + $services_pending . ' ' . Service::getStateText(99, true), + 'monitoring/list/services', + array( + 'service_state' => 99 + ), + array('title' => sprintf( + $this->translatePlural( + 'List %u service that is currently in state PENDING', + 'List %u services which are currently in state PENDING', + $services_pending + ), + $services_pending + )) + ); ?> +<?php if ($services_pending_not_checked): ?> + <?= $this->qlink( + sprintf( + $this->translatePlural( + '%u is not checked at all', + '%u are not checked at all', + $services_pending_not_checked + ), + $services_pending_not_checked + ), + 'monitoring/list/services', + array( + 'service_state' => 99, + 'service_active_checks_enabled' => 0, + 'service_passive_checks_enabled' => 0 + ), + array('title' => sprintf( + $this->translatePlural( + 'List %u service that is currently in state PENDING and not checked at all', + 'List %u services which are currently in state PENDING and not checked at all', + $services_pending_not_checked + ), + $services_pending_not_checked + )) + ); ?> +<?php endif ?> +</div> +<?php endif ?> diff --git a/modules/monitoring/application/views/scripts/tactical/components/problem_hosts.phtml b/modules/monitoring/application/views/scripts/tactical/components/problem_hosts.phtml new file mode 100644 index 0000000..6374ff8 --- /dev/null +++ b/modules/monitoring/application/views/scripts/tactical/components/problem_hosts.phtml @@ -0,0 +1,74 @@ +<div class="box problem_hosts <?php + echo $this->statusSummary->hosts_down ? 'state_down' : 'state_unreachable'; + if (!$this->statusSummary->hosts_down_unhandled && !$this->statusSummary->hosts_unreachable_unhandled) { + echo ' handled'; + } +?> col-1-2"> + <div class="box header"> + <?php if ($this->statusSummary->hosts_down): ?> + <h2><?= $this->qlink( + sprintf( + $this->translatePlural('%u Host DOWN', '%u Hosts DOWN', $this->statusSummary->hosts_down), + $this->statusSummary->hosts_down + ), + 'monitoring/list/hosts', + array('host_state' => 1), + array('title' => sprintf( + $this->translatePlural( + 'List %u host that is currently in state DOWN', + 'List %u hosts which are currently in state DOWN', + $this->statusSummary->hosts_down + ), + $this->statusSummary->hosts_down + )) + ); ?></h2> + <?php endif ?> + <?php if ($this->statusSummary->hosts_unreachable): ?> + <h2><?= $this->qlink( + sprintf( + $this->translatePlural( + '%u Host UNREACHABLE', + '%u Hosts UNREACHABLE', + $this->statusSummary->hosts_unreachable + ), + $this->statusSummary->hosts_unreachable + ), + 'monitoring/list/hosts', + array('host_state' => 2), + array('title' => sprintf( + $this->translatePlural( + 'List %u host that is currently in state UNREACHABLE', + 'List %u hosts which are currently in state UNREACHABLE', + $this->statusSummary->hosts_unreachable + ), + $this->statusSummary->hosts_unreachable + )) + ); ?></h2> + <?php endif ?> + </div> + <div class="box contents"> + <?= $this->partial( + 'tactical/components/parts/servicestatesummarybyhoststate.phtml', + array( + 'translationDomain' => $this->translationDomain, + 'host_problem' => 1, + 'services_ok' => $this->statusSummary->services_ok_on_problem_hosts, + 'services_ok_not_checked' => $this->statusSummary->services_ok_not_checked_on_problem_hosts, + 'services_pending' => $this->statusSummary->services_pending_on_problem_hosts, + 'services_pending_not_checked' => $this->statusSummary->services_pending_not_checked_on_problem_hosts, + 'services_warning_handled' => $this->statusSummary->services_warning_handled_on_problem_hosts, + 'services_warning_unhandled' => $this->statusSummary->services_warning_unhandled_on_problem_hosts, + 'services_warning_passive' => $this->statusSummary->services_warning_passive_on_problem_hosts, + 'services_warning_not_checked' => $this->statusSummary->services_warning_not_checked_on_problem_hosts, + 'services_critical_handled' => $this->statusSummary->services_critical_handled_on_problem_hosts, + 'services_critical_unhandled' => $this->statusSummary->services_critical_unhandled_on_problem_hosts, + 'services_critical_passive' => $this->statusSummary->services_critical_passive_on_problem_hosts, + 'services_critical_not_checked' => $this->statusSummary->services_critical_not_checked_on_problem_hosts, + 'services_unknown_handled' => $this->statusSummary->services_unknown_handled_on_problem_hosts, + 'services_unknown_unhandled' => $this->statusSummary->services_unknown_unhandled_on_problem_hosts, + 'services_unknown_passive' => $this->statusSummary->services_unknown_passive_on_problem_hosts, + 'services_unknown_not_checked' => $this->statusSummary->services_unknown_not_checked_on_problem_hosts + ) + ); ?> + </div> +</div> diff --git a/modules/monitoring/application/views/scripts/tactical/index.phtml b/modules/monitoring/application/views/scripts/tactical/index.phtml new file mode 100644 index 0000000..12f4bc5 --- /dev/null +++ b/modules/monitoring/application/views/scripts/tactical/index.phtml @@ -0,0 +1,145 @@ +<?php +use Icinga\Data\Filter\Filter; +?> +<?php if (! $this->compact): ?> +<div class="controls"> + <?= $this->tabs ?> + <?= $this->filterEditor ?> +</div> +<?php endif ?> +<div class="content tactical grid"> +<?php if (! count(array_filter((array) $statusSummary))): ?> + <p><?= $this->translate('No results found matching the filter.') ?></p> +</div> +<?php return; endif ?> + <div class="boxview" data-base-target="_next"> + <div class="donut-container"> + <h2 aria-label="<?= $this->translate('Host Summary') ?>"><?= $this->translate('Host Summary') ?></h2> + <div class="donut"> + <?= $hostStatusSummaryChart ?> + </div> + <ul class="donut-legend"> + <?php if ($statusSummary->hosts_up): ?> + <li> + <a href="<?= $this->filteredUrl('monitoring/list/hosts', array('host_state' => 0, 'sort' => 'host_last_check', 'dir' => 'asc')) ?>"> + <span class="state state-ok badge"><?= $statusSummary->hosts_up ?></span><?= $this->translate('Up') ?> + </a> + </li> + <?php endif ?> + <?php if ($statusSummary->hosts_down_handled): ?> + <li> + <a href="<?= $this->filteredUrl('monitoring/list/hosts', array('host_state' => 1, 'host_handled' => 1, 'sort' => 'host_last_check', 'dir' => 'asc')) ?>"> + <span class="state state-critical handled badge"><?= $statusSummary->hosts_down_handled ?></span><?= $this->translate('Down') ?> (<?= $this->translate('Handled') ?>) + </a> + </li> + <?php endif ?> + <?php if ($statusSummary->hosts_down_unhandled): ?> + <li> + <a href="<?= $this->filteredUrl('monitoring/list/hosts', array('host_state' => 1, 'host_handled' => 0, 'sort' => 'host_last_check', 'dir' => 'asc')) ?>"> + <span class="state state-critical badge"><?= $statusSummary->hosts_down_unhandled ?></span><?= $this->translate('Down') ?> + </a> + </li> + <?php endif ?> + <?php if ($statusSummary->hosts_unreachable_handled): ?> + <li> + <a href="<?= $this->filteredUrl('monitoring/list/hosts', array('host_state' => 2, 'host_handled' => 1, 'sort' => 'host_last_check', 'dir' => 'asc')) ?>"> + <span class="state state-unreachable handled badge"><?= $statusSummary->hosts_unreachable_handled ?></span><?= $this->translate('Unreachable') ?> (<?= $this->translate('Handled') ?>) + </a> + </li> + <?php endif ?> + <?php if ($statusSummary->hosts_unreachable_unhandled): ?> + <li> + <a href="<?= $this->filteredUrl('monitoring/list/hosts', array('host_state' => 2, 'host_handled' => 0, 'sort' => 'host_last_check', 'dir' => 'asc')) ?>"> + <span class="state state-unreachable badge"><?= $statusSummary->hosts_unreachable_unhandled ?></span><?= $this->translate('Unreachable') ?> + </a> + </li> + <?php endif ?> + <?php if ($statusSummary->hosts_pending): ?> + <li> + <a href="<?= $this->filteredUrl('monitoring/list/hosts', array('host_state' => 99, 'sort' => 'host_last_check', 'dir' => 'asc'))->addFilter(Filter::not(Filter::where('host_active_checks_enabled', 0), Filter::where('host_passive_checks_enabled', 0))) ?>"> + <span class="state state-pending badge"><?= $statusSummary->hosts_pending ?></span><?= $this->translate('Pending') ?> + </a> + </li> + <?php endif ?> + <?php if ($statusSummary->hosts_pending_not_checked): ?> + <li> + <a href="<?= $this->filteredUrl('monitoring/list/hosts', array('host_state' => 99, 'host_active_checks_enabled' => 0, 'host_passive_checks_enabled' => 0, 'sort' => 'host_last_check', 'dir' => 'asc')) ?>"> + <span class="state slice-state-not-checked badge"><?= $statusSummary->hosts_pending_not_checked ?></span><?= $this->translate('Not Checked') ?> + </a> + </li> + <?php endif ?> + </ul> + </div> + <div class="donut-container"> + <h2 aria-label="<?= $this->translate('Service Summary') ?>"><?= $this->translate('Service Summary') ?></h2> + <div class="donut"> + <?= $serviceStatusSummaryChart ?> + </div> + <ul class="donut-legend"> + <?php if ($statusSummary->services_ok):?> + <li> + <a href="<?= $this->filteredUrl('monitoring/list/services', array('service_state' => 0, 'sort' => 'service_last_check', 'dir' => 'asc')) ?>"> + <span class="state state-ok badge"><?= $statusSummary->services_ok ?></span><?= $this->translate('Ok') ?> + </a> + </li> + <?php endif; + if ($statusSummary->services_warning_handled):?> + <li> + <a href="<?= $this->filteredUrl('monitoring/list/services', array('service_state' => 1, 'service_handled' => 1, 'sort' => 'service_last_check', 'dir' => 'asc')) ?>"> + <span class="state state-warning handled badge"><?= $statusSummary->services_warning_handled ?></span><?= $this->translate('Warning') ?> (<?= $this->translate('Handled') ?>) + </a> + </li> + <?php endif; + if ($statusSummary->services_warning_unhandled):?> + <li> + <a href="<?= $this->filteredUrl('monitoring/list/services', array('service_state' => 1, 'service_handled' => 0, 'sort' => 'service_last_check', 'dir' => 'asc')) ?>"> + <span class="state state-warning badge"><?= $statusSummary->services_warning_unhandled ?></span><?= $this->translate('Warning') ?> + </a> + </li> + <?php endif; + if ($statusSummary->services_critical_handled):?> + <li> + <a href="<?= $this->filteredUrl('monitoring/list/services', array('service_state' => 2, 'service_handled' => 1, 'sort' => 'service_last_check', 'dir' => 'asc')) ?>"> + <span class="state state-critical handled badge"><?= $statusSummary->services_critical_handled ?></span><?= $this->translate('Critical') ?> (<?= $this->translate('Handled') ?>) + </a> + </li> + <?php endif; + if ($statusSummary->services_critical_unhandled):?> + <li> + <a href="<?= $this->filteredUrl('monitoring/list/services', array('service_state' => 2, 'service_handled' => 0, 'sort' => 'service_last_check', 'dir' => 'asc')) ?>"> + <span class="state state-critical badge"><?= $statusSummary->services_critical_unhandled ?></span><?= $this->translate('Critical') ?> + </a> + </li> + <?php endif; + if ($statusSummary->services_unknown_handled):?> + <li> + <a href="<?= $this->filteredUrl('monitoring/list/services', array('service_state' => 3, 'service_handled' => 1, 'sort' => 'service_last_check', 'dir' => 'asc')) ?>"> + <span class="state state-unknown handled badge"><?= $statusSummary->services_unknown_handled ?></span><?= $this->translate('Unknown') ?> (<?= $this->translate('Handled') ?>) + </a> + </li> + <?php endif; + if ($statusSummary->services_unknown_unhandled):?> + <li> + <a href="<?= $this->filteredUrl('monitoring/list/services', array('service_state' => 3, 'service_handled' => 0, 'sort' => 'service_last_check', 'dir' => 'asc')) ?>"> + <span class="state state-unknown badge"><?= $statusSummary->services_unknown_unhandled ?></span><?= $this->translate('Unknown') ?> + </a> + </li> + <?php endif; + if ($statusSummary->services_pending):?> + <li> + <a href="<?= $this->filteredUrl('monitoring/list/services', array('service_state' => 99, 'sort' => 'service_last_check', 'dir' => 'asc'))->addFilter(Filter::not(Filter::where('service_active_checks_enabled', 0), Filter::where('service_passive_checks_enabled', 0))) ?>"> + <span class="state state-pending badge"><?= $statusSummary->services_pending ?></span><?= $this->translate('Pending') ?> + </a> + </li> + <?php endif; + if ($statusSummary->services_pending_not_checked):?> + <li> + <a href="<?= $this->filteredUrl('monitoring/list/services', array('service_state' => 99, 'service_active_checks_enabled' => 0, 'service_passive_checks_enabled' => 0, 'sort' => 'service_last_check', 'dir' => 'asc')) ?>"> + <span class="state slice-state-not-checked badge"><?= $statusSummary->services_pending_not_checked ?></span><?= $this->translate('Not Checked') ?> + </a> + </li> + <?php endif?> + </ul> + </div> + </div> +</div> |