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; }
$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':
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; }