qlink( $contact, 'monitoring/show/contact', array('contact_name' => $contact), array('title' => sprintf($view->translate('Show detailed information about %s'), $contact)) ); } return '[' . implode(', ', $links) . ']'; } $self = $this; $url = $this->url(); $limit = (int) $url->getParam('limit', 25); if (! $url->hasParam('page') || ($page = (int) $url->getParam('page')) < 1) { $page = 1; } /** @var \Icinga\Module\Monitoring\DataView\EventHistory $history */ $history->limit($limit * $page); ?>
translate('Flapping with a %.2f%% state change rate'); $rowAction = Url::fromPath('monitoring/event/show'); ?> peekAhead() as $event): ?> service_description); $msg = $event->output; $stateName = 'no-state'; $rowAction->setParams(new UrlParams())->addParams(array( 'type' => $event->type, 'id' => $event->id )); switch ($event->type) { case substr($event->type, 0, 13) === 'notification_': $rowAction->setParam('type', 'notify'); $icon = 'bell'; switch (substr($event->type, 13)) { case 'state': $iconTitle = $this->translate('State notification', 'tooltip'); $label = $this->translate('NOTIFICATION'); $stateName = $isService ? Service::getStateText($event->state) : Host::getStateText($event->state); break; case 'ack': $iconTitle = $this->translate('Ack Notification', 'tooltip'); $label = $this->translate('ACK NOTIFICATION'); break; case 'dt_start': $iconTitle = $this->translate('Downtime start notification', 'tooltip'); $label = $this->translate('DOWNTIME START NOTIFICATION'); break; case 'dt_end': $iconTitle = $this->translate('Downtime end notification', 'tooltip'); $label = $this->translate('DOWNTIME END NOTIFICATION'); break; case 'flapping': $iconTitle = $this->translate('Flapping notification', 'tooltip'); $label = $this->translate('FLAPPING NOTIFICATION'); break; case 'flapping_end': $iconTitle = $this->translate('Flapping end notification', 'tooltip'); $label = $this->translate('FLAPPING END NOTIFICATION'); break; case 'custom': $iconTitle = $this->translate('Custom notification', 'tooltip'); $label = $this->translate('CUSTOM NOTIFICATION'); break; } $msg = $msg ? preg_replace_callback( '/^\[([^\]]+)\]/', function($match) use ($self) { return contactsLink($match, $self); }, $msg ) : $this->translate('This notification was not sent out to any contact.'); break; case 'comment': $icon = 'comment-empty'; $iconTitle = $this->translate('Comment', 'tooltip'); $label = $this->translate('COMMENT'); break; case 'comment_deleted': $icon = 'cancel'; $iconTitle = $this->translate('Comment removed', 'tooltip'); $label = $this->translate('COMMENT DELETED'); break; case 'ack': $icon = 'ok'; $iconTitle = $this->translate('Acknowledged', 'tooltip'); $label = $this->translate('ACKNOWLEDGED'); break; case 'ack_deleted': $icon = 'ok'; $iconTitle = $this->translate('Acknowledgement removed', 'tooltip'); $label = $this->translate('ACKNOWLEDGEMENT REMOVED'); break; case 'dt_comment': $icon = 'plug'; $iconTitle = $this->translate('Downtime scheduled', 'tooltip'); $label = $this->translate('SCHEDULED DOWNTIME'); break; case 'dt_comment_deleted': $icon = 'plug'; $iconTitle = $this->translate('Downtime removed', 'tooltip'); $label = $this->translate('DOWNTIME DELETED'); break; case 'flapping': $icon = 'flapping'; $iconTitle = $this->translate('Flapping started', 'tooltip'); $label = $this->translate('FLAPPING'); $msg = sprintf($flappingMsg, $msg); break; case 'flapping_deleted': $icon = 'flapping'; $iconTitle = $this->translate('Flapping stopped', 'tooltip'); $label = $this->translate('FLAPPING STOPPED'); $msg = sprintf($flappingMsg, $msg); break; case 'hard_state': if ((int) $event->state === 0) { $icon = 'thumbs-up'; } else { $icon = 'warning-empty'; } $iconTitle = $this->translate('Hard state', 'tooltip'); $label = $isService ? Service::getStateText($event->state, true) : Host::getStateText($event->state, true); $stateName = $isService ? Service::getStateText($event->state) : Host::getStateText($event->state); break; case 'soft_state': $icon = 'spinner'; $iconTitle = $this->translate('Soft state', 'tooltip'); $label = $isService ? Service::getStateText($event->state, true) : Host::getStateText($event->state, true); $stateName = $isService ? Service::getStateText($event->state) : Host::getStateText($event->state); break; case 'dt_start': $icon = 'plug'; $iconTitle = $this->translate('Downtime started', 'tooltip'); $label = $this->translate('DOWNTIME START'); break; case 'dt_end': $icon = 'plug'; $iconTitle = $this->translate('Downtime ended', 'tooltip'); $label = $this->translate('DOWNTIME END'); break; } ?> format($event->timestamp); if ($currentDate !== $lastDate): $lastDate = $currentDate; ?>
getIteratorPosition() % $limit === 0): ?>
escape($label) ?>
formatTime($event->timestamp) ?>
icon($icon, $iconTitle) ?>
isOverview): ?> '; echo sprintf( $this->translate('%s on %s', 'service on host'), $this->qlink( $event->service_display_name, 'monitoring/service/show', [ 'host' => $event->host_name, 'service' => $event->service_description ], [ 'title' => sprintf( $this->translate('Show detailed information for service %s on host %s'), $event->service_display_name, $event->host_display_name ) ] ), $this->qlink( $event->host_display_name, 'monitoring/host/show', ['host' => $event->host_name], [ 'title' => sprintf( $this->translate('Show detailed information for host %s'), $event->host_display_name ) ] ) ); echo ''; } else { echo $this->qlink( $event->host_display_name, 'monitoring/host/show', ['host' => $event->host_name], [ 'title' => sprintf( $this->translate('Show detailed information for host %s'), $event->host_display_name ) ] ); } ?> nl2br($this->createTicketLinks($this->markdown($msg, ['class' => 'overview-plugin-output']))) ?>
hasMore()): ?>