Example #1
0
 public function planDetails($sss)
 {
     $result = array('clients' => 0, 'clientsMonitors' => 0, 'uptimeMonitors' => 0, 'locations' => 0, 'agents' => 0);
     /*
      * parent user info, plan
      */
     $params = array('loadUserPlan' => 'true');
     $userInfo = MonitisApi::userInfo($params);
     if (isset($userInfo['status']) && $userInfo['status'] == 'error' && isset($userInfo['code']) && $userInfo['code'] == 101) {
         return null;
     }
     $plan = array('roleName' => '', 'uptimePlan' => 0, 'intMonitors' => 0);
     if ($userInfo) {
         $roleName = $userInfo['plan']['roleName'];
         $basketItems = $userInfo['plan']['basketItems'];
         $plan['roleName'] = $roleName;
         if (strtoupper($roleName) == 'TRIAL') {
             $trial = MonitisHelper::in_array($basketItems, 'name', $roleName);
             if ($trial) {
                 $ext = MonitisHelper::in_array($trial['permissions'], 'actionId', $this->plans["uptimes"]["id"]);
                 // External monitoring / Uptime
                 $plan['uptimePlan'] = $ext['value'];
                 $int = MonitisHelper::in_array($trial['permissions'], 'actionId', $this->plans["servers"]["id"]);
                 // Server
                 $plan['serverPlan'] = $int['value'];
             }
         } else {
             $ext = $this->basketItemById($basketItems, $this->plans["uptimes"]["id"]);
             $plan['uptimePlan'] = $ext['quantity'];
             $int = $this->basketItemById($basketItems, $this->plans["servers"]["id"]);
             $plan['serverPlan'] = $int['quantity'];
         }
         $result['plan'] = $plan;
     }
     /*
      * clients info
      */
     $params = array('loadUserPlan' => 'true', 'loadMonitors' => 'true');
     $subUsers = MonitisApi::clientsList($params);
     $userMonitors = 0;
     for ($i = 0; $i < count($subUsers); $i++) {
         $userMonitors += count($subUsers[$i]['monitors']);
     }
     $result['clients'] = 0;
     if ($subUsers && count($subUsers) > 0) {
         $result['clients'] = count($subUsers);
     }
     $result['clientsMonitors'] = $userMonitors;
     /*
      * parent info
      * get all uptime monitors
      */
     $snapshots = MonitisApi::externalSnapshot();
     $result['uptimeMonitors'] = 0;
     if ($snapshots && count($snapshots) > 0) {
         $result['uptimeMonitors'] = count($snapshots);
     }
     /*
      * Server / Device monitors
      *
      */
     $agentsSnapshot = MonitisApi::allAgentsSnapshot('', true);
     if ($agentsSnapshot && isset($agentsSnapshot['agents'])) {
         $result['agents'] = count($agentsSnapshot['agents']);
     }
     $result['internalMonitors'] = 0;
     $internalMonitors = MonitisApi::getInternalMonitors();
     if ($internalMonitors) {
         if (isset($internalMonitors['cpus'])) {
             $result['internalMonitors'] += count($internalMonitors['cpus']);
         }
         if (isset($internalMonitors['memories'])) {
             $result['internalMonitors'] += count($internalMonitors['memories']);
         }
         if (isset($internalMonitors['drives'])) {
             $result['internalMonitors'] += count($internalMonitors['drives']);
         }
     }
     return $result;
 }
Example #2
0
             $params[$key] = isset($_POST[$key]) ? intval($_POST[$key]) : $cpu[$key];
         }
         $resp = MonitisApi::editCPUMonitor($params);
         if ($resp && $resp['status'] == 'ok') {
             MonitisApp::addMessage('CPU Monitor successfully updated');
             $serverInfo['agent']['cpu'] = $serverMonitors->getMonitor($monitorId, 'cpu');
         } else {
             MonitisApp::addError($resp['error']);
         }
     } else {
         $hostname = $serverInfo['hostname'];
         $agents = MonitisApi::getAgent($hostname);
         $agentKey = $agents[0]['key'];
         $platform = $agents[0]['platform'];
         $agentInfo = array('agentKey' => $agents[0]['key'], 'agentId' => $agents[0]['id'], 'name' => $hostname, 'platform' => $platform);
         $internalMonitors = MonitisApi::getInternalMonitors();
         $cpu = MonitisConf::$settings['cpu'][$platform];
         $cpuSettings = array('platform' => array($platform => array()));
         foreach ($cpu as $key => $val) {
             $cpuSettings['platform'][$platform][$key] = isset($_POST[$key]) ? intval($_POST[$key]) : $cpu[$key];
         }
         $resp = MonitisApiHelper::addCPUMonitor($serverInfo, MONITIS_CLIENT_ID, $agentInfo, $internalMonitors['cpus'], $cpuSettings['platform']);
         if ($resp['status'] === 'ok') {
             MonitisApp::addMessage('CPU Monitor successfully created');
             $serverInfo['agent']['cpu'] = $serverMonitors->getMonitor($resp['id'], 'cpu');
         } else {
             MonitisApp::addError($resp['msg']);
         }
     }
     break;
 case 'memory':
Example #3
0
 static function addDefaultAgents($client_id, $server, $internal, &$agents)
 {
     $hostname = $server['hostname'];
     $agentKey = $agents[0]['key'];
     $platform = $agents[0]['platform'];
     $agentId = $agents[0]['id'];
     $result = array('cpu' => array("status" => 'warning', "msg" => 'agentKey: ' . $agentKey . ', hostname: ' . $hostname), 'memory' => array("status" => 'warning', "msg" => 'agentKey: ' . $agentKey . ', hostname: ' . $hostname));
     //if (strtolower($agentKey) == strtolower($hostname)) {
     $agentInfo = array('agentKey' => $agentKey, 'agentId' => $agentId, 'name' => $hostname, 'platform' => $platform);
     $intMonitors = MonitisApi::getInternalMonitors();
     $resp = null;
     // CPU
     if (MonitisConf::$settings['cpu']['autocreate'] > 0) {
         $cpus_monitorId = 0;
         if (isset($intMonitors['cpus'])) {
             $cpus_monitorId = self::monitorIdByAgentId($intMonitors['cpus'], $agentId);
         }
         if ($cpus_monitorId == 0) {
             $resp = self::addCPU($agentInfo, MonitisConf::$settings['cpu']);
             if (isset($resp['data']) && isset($resp['data']['testId'])) {
                 $cpus_monitorId = $resp['data']['testId'];
                 $result["cpu"]["status"] = 'ok';
                 $result["cpu"]["msg"] = 'CPU monitor created successfully';
             } else {
                 $result['cpu']['error'] = 'error';
                 $result['cpu']['msg'] = $resp['error'];
             }
         }
         if ($internal && $cpus_monitorId > 0 && self::isWhmcsMonitor('monitor_id', $cpus_monitorId, $internal)) {
             $result["cpu"]["status"] = 'warning';
             $result["cpu"]["msg"] = 'CPU monitor already exists';
         } elseif ($cpus_monitorId > 0) {
             $pubKey = MonitisApi::monitorPublicKey(array('moduleType' => 'cpu', 'monitorId' => $cpus_monitorId));
             $values = array("server_id" => $server['id'], "available" => MonitisConf::$settings['cpu']['available'], "monitor_id" => $cpus_monitorId, "agent_id" => $agentInfo['agentId'], "monitor_type" => 'cpu', "client_id" => $client_id, "publickey" => $pubKey);
             insert_query('mod_monitis_int_monitors', $values);
             $result["cpu"]["status"] = 'ok';
             $result["cpu"]["msg"] = 'CPU monitor created successfully';
         }
     } else {
         $result["cpu"]["status"] = 'warning';
         $result["cpu"]["msg"] = 'no autocreate';
     }
     // memory
     if (MonitisConf::$settings['memory']['autocreate'] > 0) {
         $memory_monitorId = 0;
         if (isset($intMonitors['memories'])) {
             $memory_monitorId = self::monitorIdByAgentId($intMonitors['memories'], $agentId);
         }
         if ($memory_monitorId == 0) {
             $resp = self::addMemory($agentInfo, MonitisConf::$settings['memory']);
             if (isset($resp['data']) && isset($resp['data']['testId'])) {
                 $memory_monitorId = $resp['data']['testId'];
                 $result["memory"]["msg"] = 'Memory monitor created successfully';
                 $result["memory"]["status"] = 'ok';
                 $result["memory"]["msg"] = 'Memory monitor created successfully';
             } else {
                 $result['memory']['error'] = 'error';
                 $result['memory']['msg'] = $resp['error'];
             }
         }
         if ($internal && $memory_monitorId > 0 && self::isWhmcsMonitor('monitor_id', $memory_monitorId, $internal)) {
             $result["memory"]["status"] = 'warning';
             $result["memory"]["msg"] = 'Memory monitor already exists';
         } elseif ($memory_monitorId > 0) {
             $pubKey = MonitisApi::monitorPublicKey(array('moduleType' => 'memory', 'monitorId' => $memory_monitorId));
             $values = array("server_id" => $server['id'], "available" => MonitisConf::$settings['memory']['available'], "monitor_id" => $memory_monitorId, "agent_id" => $agentInfo['agentId'], "monitor_type" => 'memory', "client_id" => $client_id, "publickey" => $pubKey);
             insert_query('mod_monitis_int_monitors', $values);
             $result["memory"]["status"] = 'ok';
             $result["memory"]["msg"] = 'Memory monitor created successfully';
         }
     } else {
         $result["memory"]["status"] = 'warning';
         $result["memory"]["msg"] = 'no autocreate';
     }
     //}
     monitisLog($result, 'addAllDefault - add Default CPU / Memory');
     return $result;
 }