This script will do a full system sweep of remaining resources for Apache, Memory, Disk, CPU and report it back. Use the `key` to run it, though its mostly harmless. I think its best as CLI only. ```php 1, 'valid' => false ], JSON_PRETTY_PRINT); exit(1); } # Get Stats $apacheWorkerMax = (int)trim(shell_exec("grep '^\s*MaxRequestWorkers' /etc/apache2/mods-enabled/mpm_prefork.conf | awk '{print $2}'")); $apacheWorkerCount = (int)trim(shell_exec("ps aux | grep sbin[/]apache2 | expr $(wc -l) - 1")); $apacheLoad = $apacheWorkerCount / $apacheWorkerMax; $apacheLoadPercent = (int)round($apacheLoad * 100); # takes 1 second $cpuLoadPercent = (float)trim(shell_exec("{ head -n1 /proc/stat;sleep 1;head -n1 /proc/stat; } | awk '/^cpu /{u=$2-u;s=$4-s;i=$5-i;w=$6-w}END{print int(0.5+100*(u+s+w)/(u+s+i+w))}'")); $memoryTotal = (int)trim(shell_exec("free -mt | sed '2!d' | awk '{print $2}'")); $memoryFree = (int)trim(shell_exec("free -mt | sed '2!d' | awk '{print $4}'")); $memoryCache = (int)trim(shell_exec("free -mt | sed '2!d' | awk '{print $6}'")); $memoryAvailable = ($memoryCache + $memoryFree); $memoryLoad = ($memoryTotal - $memoryAvailable) / $memoryTotal; $memoryLoadPercent = (int)($memoryLoad * 100); $diskTotal = (int)trim(shell_exec("df -m | awk '$6 == \"/\" {print $2}'")); $diskUsed = (int)trim(shell_exec("df -m | awk '$6 == \"/\" {print $3}'")); $diskLoad = $diskUsed / $diskTotal; $diskLoadPercent = (int)round($diskLoad * 100); # Determine risk $statusCode = 0; $status = 'healthy'; $riskThreshold = 80; if ($memoryLoadPercent > $riskThreshold || $cpuLoadPercent > $riskThreshold || $apacheLoadPercent > $riskThreshold || $diskLoadPercent > $riskThreshold) { $status = 'high-load'; $statusCode = 1; } $response = [ 'version' => 1, 'valid' => true, 'status' => $status, 'statusCode' => $statusCode, 'humanReadable' => "Server is $status: Apache load is $apacheLoadPercent%, CPU load is $cpuLoadPercent%, memory usage is $memoryLoadPercent%, disk usage is $diskLoadPercent%", 'detail' => [ 'riskThresholdPercent' => $riskThreshold, 'apacheWorkerMax' => $apacheWorkerMax, 'apacheWorkerCount' => $apacheWorkerCount, 'apacheLoadPercent' => $apacheLoadPercent, 'cpuLoadPercent' => $cpuLoadPercent, 'memoryTotal' => $memoryTotal, 'memoryAvailable' => $memoryAvailable, 'memoryLoadPercent' => $memoryLoadPercent, 'diskTotal' => $diskTotal, 'diskUsed' => $diskUsed, 'diskLoadPercent' => $diskLoadPercent, ] ]; echo json_encode($response, JSON_PRETTY_PRINT); ```