/** * @return mixed */ public function getHostsProblems() { // Obtenemos los bloques que corresponden al estado de los hosts y servicios preg_match_all('/hoststatus {.*}/isU', $this->fileData, $hostsData); $events = array(); foreach ($this->getItemsArray($hostsData) as $event) { $Event = new Host(); $Event->setAcknowledged($event['problem_has_been_acknowledged']); $Event->setActiveChecksEnabled($event['active_checks_enabled']); $Event->setCheckCommand($event['check_command']); $Event->setCurrentAttempt($event['current_attempt']); $Event->setDisplayName($event['host_name']); $Event->setHostAlias($event['host_name']); $Event->setHostDisplayName($event['host_name']); $Event->setFlapping($event['is_flapping']); $Event->setLastCheck($event['last_check']); $Event->setLastHardState($event['last_hard_state']); $Event->setLastHardStateChange($event['last_hard_state_change']); $Event->setLastTimeDown($event['last_time_down']); $Event->setLastTimeUp($event['last_time_up']); $Event->setLastTimeUnreachable($event['last_time_unreachable']); $Event->setPluginOutput($event['plugin_output']); $Event->setState($event['current_state']); $Event->setStateType($event['state_type']); $Event->setScheduledDowntimeDepth($event['scheduled_downtime_depth']); $Event->setMaxCheckAttempts($event['max_attempts']); $Event->setNotificationsEnabled($event['notifications_enabled']); $Event->setBackendAlias($this->backend->getAlias()); $Event->setBackendUrl($this->backend->getUrl()); $Event->setBackendLevel($this->backend->getLevel()); $events[] = $Event; } return $events; }