function system_information()
{
    global $mysqli, $server, $redis_server, $mqtt_server;
    $result = $mysqli->query("select now() as datetime, time_format(timediff(now(),convert_tz(now(),@@session.time_zone,'+00:00')),'%H:%i‌​') AS timezone");
    $db = $result->fetch_array();
    @(list($system, $host, $kernel) = preg_split('/[\\s,]+/', php_uname('a'), 5));
    @exec('ps ax | grep feedwriter.php | grep -v grep', $feedwriterproc);
    $meminfo = false;
    if (@is_readable('/proc/meminfo')) {
        $data = explode("\n", file_get_contents("/proc/meminfo"));
        $meminfo = array();
        foreach ($data as $line) {
            if (strpos($line, ':') !== false) {
                list($key, $val) = explode(":", $line);
                $meminfo[$key] = 1024 * floatval(trim(str_replace(' kB', '', $val)));
            }
        }
    }
    $emoncms_modules = "";
    $emoncmsModulesPath = substr($_SERVER['SCRIPT_FILENAME'], 0, strrpos($_SERVER['SCRIPT_FILENAME'], '/')) . '/Modules';
    // Set the Modules path
    $emoncmsModuleFolders = glob("{$emoncmsModulesPath}/*", GLOB_ONLYDIR);
    // Use glob to get all the folder names only
    foreach ($emoncmsModuleFolders as $emoncmsModuleFolder) {
        // loop through the folders
        if ($emoncms_modules != "") {
            $emoncms_modules .= "   ";
        }
        $emoncms_modules .= str_replace($emoncmsModulesPath . "/", '', $emoncmsModuleFolder);
    }
    return array('date' => date('Y-m-d H:i:s T'), 'system' => $system, 'kernel' => $kernel, 'host' => $host, 'ip' => gethostbyname($host), 'uptime' => @exec('uptime'), 'http_server' => $_SERVER['SERVER_SOFTWARE'], 'php' => PHP_VERSION, 'zend' => function_exists('zend_version') ? zend_version() : 'n/a', 'db_server' => $server, 'db_ip' => gethostbyname($server), 'db_version' => 'MySQL ' . $mysqli->server_info, 'db_stat' => $mysqli->stat(), 'db_date' => $db['datetime'] . " (UTC " . $db['timezone'] . ")", 'redis_server' => $redis_server['host'] . ":" . $redis_server['port'], 'redis_ip' => gethostbyname($redis_server['host']), 'feedwriter' => !empty($feedwriterproc), 'mqtt_server' => $mqtt_server['host'], 'mqtt_ip' => gethostbyname($mqtt_server['host']), 'mqtt_port' => $mqtt_server['port'], 'hostbyaddress' => @gethostbyaddr(gethostbyname($host)), 'http_proto' => $_SERVER['SERVER_PROTOCOL'], 'http_mode' => $_SERVER['GATEWAY_INTERFACE'], 'http_port' => $_SERVER['SERVER_PORT'], 'php_modules' => get_loaded_extensions(), 'mem_info' => $meminfo, 'partitions' => disk_list(), 'emoncms_modules' => $emoncms_modules);
}
Exemple #2
0
function system_information()
{
    global $mysqli, $server, $redis_server, $mqtt_server;
    $result = $mysqli->query("select now() as datetime, time_format(timediff(now(),convert_tz(now(),@@session.time_zone,'+00:00')),'%H:%i‌​') AS timezone");
    $db = $result->fetch_array();
    @(list($system, $host, $kernel) = preg_split('/[\\s,]+/', php_uname('a'), 5));
    @exec('ps ax | grep feedwriter.php | grep -v grep', $feedwriterproc);
    if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
        $meminfo = array();
    } else {
        //Only do this on NON-Windows Platforms
        $data = explode("\n", file_get_contents("/proc/meminfo"));
        $meminfo = array();
        foreach ($data as $line) {
            if (strpos($line, ':') !== false) {
                list($key, $val) = explode(":", $line);
                $meminfo[$key] = 1024 * floatval(trim(str_replace(' kB', '', $val)));
            }
        }
    }
    return array('date' => date('Y-m-d H:i:s T'), 'system' => $system, 'kernel' => $kernel, 'host' => $host, 'ip' => gethostbyname($host), 'uptime' => @exec('uptime'), 'http_server' => $_SERVER['SERVER_SOFTWARE'], 'php' => PHP_VERSION, 'zend' => function_exists('zend_version') ? zend_version() : 'n/a', 'db_server' => $server, 'db_ip' => gethostbyname($server), 'db_version' => 'MySQL ' . $mysqli->server_info, 'db_stat' => $mysqli->stat(), 'db_date' => $db['datetime'] . " (UTC " . $db['timezone'] . ")", 'redis_server' => $redis_server['host'] . ":" . $redis_server['port'], 'redis_ip' => gethostbyname($redis_server['host']), 'feedwriter' => !empty($feedwriterproc), 'mqtt_server' => $mqtt_server['host'], 'mqtt_ip' => gethostbyname($mqtt_server['host']), 'mqtt_port' => $mqtt_server['port'], 'hostbyaddress' => @gethostbyaddr(gethostbyname($host)), 'http_proto' => $_SERVER['SERVER_PROTOCOL'], 'http_mode' => $_SERVER['GATEWAY_INTERFACE'], 'http_port' => $_SERVER['SERVER_PORT'], 'php_modules' => get_loaded_extensions(), 'mem_info' => $meminfo, 'partitions' => disk_list());
}
Exemple #3
0
<?php

/*------------------------------------------------------------------------------
  BerryIO Disk Status Command
------------------------------------------------------------------------------*/
$title = 'Disk Status';
// Load the disk functions
require_once FUNCTIONS . 'disk.php';
// Load the system settings
settings('system', 1);
// Get the disk partition details
if (($page['disk_partitions'] = disk_list()) === FALSE) {
    $content .= message('ERROR: Unable retrieve information on your disks');
    return FALSE;
}
// Display status page
$GLOBALS['JAVASCRIPT']['common'] = 'common';
$GLOBALS['JAVASCRIPT']['updateDisk'] = 'updateDisk';
$GLOBALS['JAVASCRIPT_DATA']['updateDisk'] = $page;
require_once FUNCTIONS . 'graph.php';
$content .= view('pages/disk_status', $page);