/** * @return mixed */ public function getServicesProblems() { // Obtenemos los bloques que corresponden al estado de los servicios preg_match_all('/servicestatus {.*}/isU', $this->fileData, $servicesData); $events = array(); foreach ($this->getItemsArray($servicesData) as $event) { $Event = new Service(); $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['service_description']); $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->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; }