aboutsummaryrefslogtreecommitdiffstats
path: root/config/lcdproc/lcdproc_client.php
diff options
context:
space:
mode:
Diffstat (limited to 'config/lcdproc/lcdproc_client.php')
-rw-r--r--config/lcdproc/lcdproc_client.php78
1 files changed, 75 insertions, 3 deletions
diff --git a/config/lcdproc/lcdproc_client.php b/config/lcdproc/lcdproc_client.php
index df41befe..4e5b175b 100644
--- a/config/lcdproc/lcdproc_client.php
+++ b/config/lcdproc/lcdproc_client.php
@@ -30,11 +30,83 @@
/* trick interface into running this. we are only
* calling from useland so this is not a security issue
*/
- $HTTP_SERVER_VARS['PHP_AUTH_USER'] = "root";
- $HTTP_SERVER_VARS['AUTH_USER'] = "root";
require_once("config.inc");
+ require_once("functions.inc");
require_once("/usr/local/pkg/lcdproc.inc");
- require_once("/usr/local/www/includes/functions.inc.php");
+
+ function get_pfstate() {
+ global $config;
+ $matches = "";
+ if (isset($config['system']['maximumstates']) and $config['system']['maximumstates'] > 0)
+ $maxstates="/{$config['system']['maximumstates']}";
+ else
+ $maxstates="/10000";
+
+ $curentries = `/sbin/pfctl -si |grep current`;
+ if (preg_match("/([0-9]+)/", $curentries, $matches)) {
+ $curentries = $matches[1];
+ }
+ return $curentries . $maxstates;
+ }
+
+ function disk_usage() {
+ $dfout = "";
+ exec("/bin/df -h | /usr/bin/grep -w '/' | /usr/bin/awk '{ print $5 }' | /usr/bin/cut -d '%' -f 1", $dfout);
+ $diskusage = trim($dfout[0]);
+
+ return $diskusage;
+ }
+
+ function mem_usage() {
+ $memory = "";
+ exec("/sbin/sysctl -n vm.stats.vm.v_page_count vm.stats.vm.v_inactive_count " .
+ "vm.stats.vm.v_cache_count vm.stats.vm.v_free_count", $memory);
+
+ $totalMem = $memory[0];
+ $availMem = $memory[1] + $memory[2] + $memory[3];
+ $usedMem = $totalMem - $availMem;
+ $memUsage = round(($usedMem * 100) / $totalMem, 0);
+
+ return $memUsage;
+ }
+
+ function array_combine($arr1, $arr2) {
+ $out = array();
+
+ $arr1 = array_values($arr1);
+ $arr2 = array_values($arr2);
+
+ foreach($arr1 as $key1 => $value1) {
+ $out[(string)$value1] = $arr2[$key1];
+ }
+
+ return $out;
+ }
+
+ /* Calculates non-idle CPU time and returns as a percentage */
+ function cpu_usage() {
+ $duration = 1;
+ $diff = array('user', 'nice', 'sys', 'intr', 'idle');
+ $cpuTicks = array_combine($diff, explode(" ", `/sbin/sysctl -n kern.cp_time`));
+ sleep($duration);
+ $cpuTicks2 = array_combine($diff, explode(" ", `/sbin/sysctl -n kern.cp_time`));
+
+ $totalStart = array_sum($cpuTicks);
+ $totalEnd = array_sum($cpuTicks2);
+
+ // Something wrapped ?!?!
+ if ($totalEnd <= $totalStart)
+ return 0;
+
+ // Calculate total cycles used
+ $totalUsed = ($totalEnd - $totalStart) - ($cpuTicks2['idle'] - $cpuTicks['idle']);
+
+ // Calculate the percentage used
+ $cpuUsage = floor(100 * ($totalUsed / ($totalEnd - $totalStart)));
+
+ return $cpuUsage;
+ }
+
function get_uptime_stats() {
exec("/usr/bin/uptime", $output, $ret);