Example #1
0
 public function filterInternalMonitors($api, $int, $server_id)
 {
     $adentId = $api['agentId'];
     $monitors = array();
     $drivers = null;
     $intMonitors = array('cpu' => null, 'memory' => null, 'drives' => null);
     if (isset($api['cpu']) && count($api['cpu']) > 0 && isset($api['cpu']['id'])) {
         $intMonitors['cpu'] = $api['cpu'];
         $monitorId = $api['cpu']['id'];
         $index = MonitisHelper::in_array_index($int, 'monitor_id', $monitorId);
         if ($index > -1) {
             $monitors[] = $int[$index];
             $int[$index]['api'] = 1;
         } else {
             $monitors[] = monitisSnapShots::linkInternalMonitor($monitorId, 'cpu', $adentId, $server_id);
         }
     }
     if (isset($api['memory']) && count($api['memory']) > 0 && isset($api['memory']['id'])) {
         $monitorId = $api['memory']['id'];
         $index = MonitisHelper::in_array_index($int, 'monitor_id', $monitorId);
         if ($index > -1) {
             $monitors[] = $int[$index];
             $int[$index]['api'] = 1;
         } else {
             $monitors[] = monitisSnapShots::linkInternalMonitor($monitorId, 'memory', $adentId, $server_id);
         }
     }
     $drvrs = array();
     if (isset($api['drives']) && count($api['drives']) > 0) {
         $drivers = $api['drives'];
         //$intMonitors['drives'] = array();
         for ($i = 0; $i < count($drivers); $i++) {
             // monitor exist
             if (isset($drivers[$i]['id'])) {
                 $monitorId = $drivers[$i]['id'];
                 // is linked
                 $index = MonitisHelper::in_array_index($int, 'monitor_id', $monitorId);
                 if ($index > -1) {
                     $monitors[] = $int[$index];
                     $int[$index]['api'] = 1;
                 } else {
                     $monitors[] = monitisSnapShots::linkInternalMonitor($monitorId, 'drive', $adentId, $server_id);
                 }
             } else {
                 $monitors[] = null;
             }
         }
     }
     // remove api deleted monitors
     for ($i = 0; $i < count($int); $i++) {
         if (!isset($int[$i]['api'])) {
             monitisSqlHelper::altQuery('DELETE FROM ' . MONITIS_INTERNAL_TABLE . ' WHERE monitor_id=' . $int[$i]['monitor_id']);
         }
     }
     return $monitors;
 }
Example #2
0
 private function init_all_servers()
 {
     for ($i = 0; $i < count($this->whmcsAllServers); $i++) {
         $server = $this->whmcsAllServers[$i];
         if ($this->allPings) {
             // define ping monitor by IP
             $ping = MonitisHelper::in_array($this->allPings, 'url', $server['ipaddress']);
             if ($ping) {
                 $monitorId = $ping['id'];
                 $ext = MonitisHelper::in_array($this->whmcsExt, 'monitor_id', $monitorId);
                 if (!$ext) {
                     // link monitor
                     $ext = monitisSnapShots::linkPingMonitor($monitorId, 'ping', $server['id']);
                     $this->result[] = array('server' => $server['name'], 'action' => 'link', 'monitor' => $ext);
                 }
             }
         }
         $agent = MonitisHelper::in_array($this->allAgents['agents'], 'key', $server['hostname']);
         if ($agent && isset($agent['status']) && $agent['status'] == 'running') {
             $this->internalMonitors($agent, $server);
         }
     }
     // remove unlinked internal monitors
     $this->unlinkedInternal();
 }
Example #3
0
 private function initServer(&$server)
 {
     $monitor = null;
     if ($this->allPings) {
         // define ping monitor by IP
         $ping = MonitisHelper::in_array($this->allPings, 'url', $server['ipaddress']);
         if ($ping) {
             $monitorId = $ping['id'];
             $linkedMon = MonitisHelper::in_array($this->whmcsExt, 'monitor_id', $monitorId);
             if (!$linkedMon) {
                 // link ping monitor
                 $linkedMon = monitisSnapShots::linkPingMonitor($monitorId, 'ping', $server['id']);
             }
             $monitor = $ping;
             $monitor['available'] = $linkedMon['available'];
             $monitor['publickey'] = $linkedMon['publickey'];
         }
     }
     $server['ping'] = $monitor;
     $agent = $this->agentFullInfo;
     if ($agent) {
         $info = $this->intMonitor($agent, $server['id']);
         $server['agent'] = $info;
     }
     return $server;
 }
 private function init_all_servers()
 {
     for ($i = 0; $i < count($this->whmcsAllServers); $i++) {
         $monitors = array();
         $server = $this->whmcsAllServers[$i];
         if ($this->allPings) {
             // define ping monitor by IP
             $ping = MonitisHelper::in_array($this->allPings, 'url', $server['ipaddress']);
             if ($ping) {
                 $monitorId = $ping['id'];
                 $ext = MonitisHelper::in_array($this->whmcsExt, 'monitor_id', $monitorId);
                 if (!$ext && $this->synchronize) {
                     // link monitor
                     $ext = monitisSnapShots::linkPingMonitor($monitorId, 'ping', $server['id']);
                 }
                 $status = MonitisHelper::in_array($this->pingsStatus, 'id', $monitorId);
                 $monitors['ping'] = $status;
                 if ($ping['isSuspended']) {
                     $monitors['ping']['status'] = 'suspended';
                 }
             }
         }
         $agent = MonitisHelper::in_array($this->allAgents['agents'], 'key', $server['hostname']);
         if ($agent) {
             if (isset($agent['status']) && $agent['status'] == 'running') {
                 $info = $this->intMonitor($agent, $server['id']);
                 if ($info) {
                     $this->whmcsAllServers[$i]['agent_id'] = $info['agent_id'];
                     //$int['agent_id'];
                     $this->whmcsAllServers[$i]['agent_status'] = $info['status'];
                     $monitors['cpu'] = $info['cpu'];
                     $monitors['drive'] = $info['drive'];
                     $monitors['memory'] = $info['memory'];
                 }
             } elseif (isset($agent['status']) && $agent['status'] == 'stopped') {
                 $this->whmcsAllServers[$i]['agent_id'] = $agent['id'];
                 //$int['agent_id'];
                 $this->whmcsAllServers[$i]['agent_status'] = $agent['status'];
             }
         }
         if ($monitors && count($monitors) > 0) {
             $this->whmcsAllServers[$i]['monitors'] = $monitors;
         }
     }
     if ($this->synchronize) {
         $this->unlinkedInternal();
     }
 }