Example #1
0
 /**
  * Devuelve el nombre del estado
  *
  * @param EventInterface $item
  * @param null $state
  * @return bool|string
  */
 public static function getStateName(EventInterface $item, $state = null)
 {
     $state = is_null($state) ? $item->getState() : intval($state);
     switch ($item->getType()) {
         case Event::TYPE_HOST:
             return Language::t(EventStateHost::getStateName($state));
         case Event::TYPE_SERVICE:
             return Language::t(EventStateService::getStateName($state));
         case Event::TYPE_TRIGGER:
             return Language::t(EventStateTrigger::getStateName($state));
     }
     return false;
 }
Example #2
0
 /**
  * Función para mostrar los elementos del Dashboard
  *
  * @param EventInterface $item El elemento que contiene los datos.
  * @param bool $newItem Si es un nuevo elemento
  * @param bool $newItemUp Si es un nuevo elemento recuperado
  * @return EventInterface
  */
 private function getHtmlItems(EventInterface $item, $newItem = false, $newItemUp = false)
 {
     $lastStateTime = date("m-d-Y H:i:s", $item->getLastHardStateChange());
     $lastStateDuration = Util::timeElapsed(time() - $item->getLastHardStateChange());
     $lastCheckDuration = Util::timeElapsed(time() - $item->getLastCheck());
     $serviceDesc = $item->getDisplayName() ? $item->getDisplayName() : $item->getCheckCommand();
     $hostname = $item->getHostDisplayName() ? $item->getHostDisplayName() : $item->getDisplayName();
     $hostAlias = $item->getHostAlias() ? $item->getHostAlias() : ($item->getAlias() ? $item->getAlias() : $hostname);
     $scheduled = $item->getScheduledDowntimeDepth() >= 1 || $item->getHostScheduledDowntimeDepth() >= 1;
     $tdClass = '';
     $trClass = EventState::getStateClass($item);
     $statusName = EventState::getStateName($item);
     $link = null;
     if ($item->getHostLastTimeUnreachable() > $item->getHostLastTimeUp() && !$newItemUp || $item->getLastTimeUnreachable() > $item->getLastCheck() && $item->getStateType() === 1) {
         $trClass = EventState::getStateClass($item, EventStateInterface::STATE_UNREACHABLE);
         $statusName = EventState::getStateName($item, EventStateInterface::STATE_UNREACHABLE);
     }
     if ($scheduled) {
         $trClass = EventState::getStateClass($item, EventStateInterface::STATE_SCHEDULED);
         $statusName = EventState::getStateName($item, EventStateInterface::STATE_SCHEDULED);
     }
     if ($newItem && !$item->isAcknowledged() && !$scheduled && !$newItemUp) {
         $tdClass = "new";
     } elseif ($newItemUp && time() - $item->getLastHardStateChange() <= Config::getConfig()->getNewItemTime() / 2) {
         $trClass = EventState::getStateClass($item, EventStateInterface::STATE_RECOVER);
         $statusName = EventState::getStateName($item, EventStateInterface::STATE_RECOVER);
     } elseif ($item->isFlapping()) {
         $trClass = EventState::getStateClass($item, EventStateInterface::STATE_FLAPPING);
         $statusName = EventState::getStateName($item, EventStateInterface::STATE_FLAPPING);
     } elseif ($item->isAcknowledged()) {
         $trClass = EventState::getStateClass($item, EventStateInterface::STATE_ACKNOWLEDGED);
         $statusName = EventState::getStateName($item, EventStateInterface::STATE_ACKNOWLEDGED);
     }
     $line = '<tr class="item-data ' . $trClass . '" title="' . sprintf(Language::t('Estado %s desde %s'), $statusName, $lastStateTime) . '">' . PHP_EOL;
     $line .= '<td class="center">' . $statusName . '</td>';
     if (Config::getConfig()->isColLastcheck()) {
         $line .= '<td title="' . sprintf('%s : %s', Language::t('Último check'), $lastCheckDuration) . '" class="center ' . $tdClass . '">' . $lastStateDuration . '</td>' . PHP_EOL;
     }
     if (Config::getConfig()->isColHost()) {
         if (!is_null($link)) {
             $line .= '<td><a href="' . $link . '" target="blank" title="' . $hostname . '">' . $hostAlias . '</a></td>' . PHP_EOL;
         } else {
             $line .= '<td>' . $hostAlias . '</td>' . PHP_EOL;
         }
     }
     if (Config::getConfig()->isColStatusInfo()) {
         if ($item->getFilterStatus() === '' || $newItem) {
             $line .= '<td class="statusinfo">' . $item->getPluginOutput() . '</td>' . PHP_EOL;
         } else {
             $line .= '<td class="statusinfo">' . $item->getPluginOutput() . '<br>Filter: ' . $item->getFilterStatus() . '</td>' . PHP_EOL;
         }
     }
     if (Config::getConfig()->isColService()) {
         $line .= '<td class="center">' . $serviceDesc . '</td>' . PHP_EOL;
     }
     if (Config::getConfig()->isColBackend()) {
         $line .= '<td class="center">' . $item->getBackendAlias() . '</td>' . PHP_EOL;
     }
     $line .= '</tr>' . PHP_EOL;
     return $line;
 }