mirror of
https://github.com/RaspAP/raspap-webgui.git
synced 2024-11-25 17:10:26 +00:00
add class for system information
This commit is contained in:
parent
76f905fe9d
commit
10dd214b17
2 changed files with 65 additions and 39 deletions
|
@ -88,33 +88,16 @@ function DisplaySystem()
|
|||
'tr_TR.UTF-8' => 'Türkçe'
|
||||
);
|
||||
|
||||
// hostname
|
||||
exec("hostname -f", $hostarray);
|
||||
$hostname = $hostarray[0];
|
||||
require_once "lib/system.php";
|
||||
$system = new System();
|
||||
|
||||
// uptime
|
||||
$uparray = explode(" ", exec("cat /proc/uptime"));
|
||||
$seconds = round($uparray[0], 0);
|
||||
$minutes = $seconds / 60;
|
||||
$hours = $minutes / 60;
|
||||
$days = floor($hours / 24);
|
||||
$hours = floor($hours - ($days * 24));
|
||||
$minutes = floor($minutes - ($days * 24 * 60) - ($hours * 60));
|
||||
$uptime= '';
|
||||
if ($days != 0) {
|
||||
$uptime .= $days . ' day' . (($days > 1)? 's ':' ');
|
||||
}
|
||||
if ($hours != 0) {
|
||||
$uptime .= $hours . ' hour' . (($hours > 1)? 's ':' ');
|
||||
}
|
||||
if ($minutes != 0) {
|
||||
$uptime .= $minutes . ' minute' . (($minutes > 1)? 's ':' ');
|
||||
}
|
||||
$hostname = $system->hostname();
|
||||
$uptime = $system->uptime();
|
||||
$cores = $system->processorCount();
|
||||
|
||||
// mem used
|
||||
$memused = $system->usedMemory();
|
||||
$memused_status = "primary";
|
||||
exec("free -m | awk '/Mem:/ { total=$2 ; used=$3 } END { print used/total*100}'", $memarray);
|
||||
$memused = floor($memarray[0]);
|
||||
if ($memused > 90) {
|
||||
$memused_status = "danger";
|
||||
} elseif ($memused > 75) {
|
||||
|
@ -124,9 +107,7 @@ function DisplaySystem()
|
|||
}
|
||||
|
||||
// cpu load
|
||||
$cores = exec("grep -c ^processor /proc/cpuinfo");
|
||||
$loadavg = exec("awk '{print $1}' /proc/loadavg");
|
||||
$cpuload = floor(($loadavg * 100) / $cores);
|
||||
$cpuload = $system->systemLoadPercentage();
|
||||
if ($cpuload > 90) {
|
||||
$cpuload_status = "danger";
|
||||
} elseif ($cpuload > 75) {
|
||||
|
@ -135,25 +116,22 @@ function DisplaySystem()
|
|||
$cpuload_status = "success";
|
||||
}
|
||||
|
||||
if (isset($_POST['system_reboot'])) {
|
||||
$status->addMessage("System Rebooting Now!", "warning", false);
|
||||
$result = shell_exec("sudo /sbin/reboot");
|
||||
}
|
||||
if (isset($_POST['system_shutdown'])) {
|
||||
$status->addMessage("System Shutting Down Now!", "warning", false);
|
||||
$result = shell_exec("sudo /sbin/shutdown -h now");
|
||||
}
|
||||
|
||||
?>
|
||||
<div class="row">
|
||||
<div class="col-lg-12">
|
||||
<div class="panel panel-primary">
|
||||
<div class="panel-heading"><i class="fa fa-cube fa-fw"></i> <?php echo _("System"); ?></div>
|
||||
<div class="panel-body">
|
||||
|
||||
<?php
|
||||
if (isset($_POST['system_reboot'])) {
|
||||
echo '<div class="alert alert-warning">' . _("System Rebooting Now!") . '</div>';
|
||||
$result = shell_exec("sudo /sbin/reboot");
|
||||
}
|
||||
if (isset($_POST['system_shutdown'])) {
|
||||
echo '<div class="alert alert-warning">' . _("System Shutting Down Now!") . '</div>';
|
||||
$result = shell_exec("sudo /sbin/shutdown -h now");
|
||||
}
|
||||
?>
|
||||
|
||||
<p><?php $status->showMessages(); ?></p>
|
||||
<?php $status->showMessages(); ?>
|
||||
<form role="form" action="?page=system_info" method="POST">
|
||||
<?php echo CSRFTokenFieldTag() ?>
|
||||
<ul class="nav nav-tabs" role="tablist">
|
||||
|
|
48
lib/system.php
Normal file
48
lib/system.php
Normal file
|
@ -0,0 +1,48 @@
|
|||
<?php
|
||||
|
||||
class System {
|
||||
public function hostname() {
|
||||
return shell_exec("hostname -f");
|
||||
}
|
||||
|
||||
public function uptime() {
|
||||
$uparray = explode(" ", exec("cat /proc/uptime"));
|
||||
$seconds = round($uparray[0], 0);
|
||||
$minutes = $seconds / 60;
|
||||
$hours = $minutes / 60;
|
||||
$days = floor($hours / 24);
|
||||
$hours = floor($hours - ($days * 24));
|
||||
$minutes = floor($minutes - ($days * 24 * 60) - ($hours * 60));
|
||||
$uptime= '';
|
||||
if ($days != 0) {
|
||||
$uptime .= $days . ' day' . (($days > 1)? 's ':' ');
|
||||
}
|
||||
if ($hours != 0) {
|
||||
$uptime .= $hours . ' hour' . (($hours > 1)? 's ':' ');
|
||||
}
|
||||
if ($minutes != 0) {
|
||||
$uptime .= $minutes . ' minute' . (($minutes > 1)? 's ':' ');
|
||||
}
|
||||
|
||||
return $uptime;
|
||||
}
|
||||
|
||||
public function usedMemory() {
|
||||
$used = shell_exec("free -m | awk '/Mem:/ { total=$2 ; used=$3 } END { print used/total*100}'");
|
||||
return floor($used);
|
||||
}
|
||||
|
||||
public function processorCount() {
|
||||
$procs = shell_exec("nproc --all");
|
||||
return intval($proc);
|
||||
}
|
||||
|
||||
public function loadAvg1Min() {
|
||||
$load = exec("awk '{print $1}' /proc/loadavg");
|
||||
return floatval($load);
|
||||
}
|
||||
|
||||
public function systemLoadPercentage() {
|
||||
return floor(($this->loadAvg1Min() * 100) / $this->processorCount());
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue