mirror of
https://github.com/ShaYmez/HBMonv2.git
synced 2026-10-12 10:10:55 -04:00
Drop port numbers, mark HTTP or HTTPS from the current request, and keep HBlink and HBMonitor as local checks.
118 lines
5.7 KiB
PHP
118 lines
5.7 KiB
PHP
<?php
|
|
include_once 'include/config.php';
|
|
include_once 'include/version.php';
|
|
include_once 'include/seo.php';
|
|
include_once 'include/sysinfo_stats.php';
|
|
|
|
$sys = hbmon_sys_snapshot();
|
|
|
|
function hbmon_sys_h($value) {
|
|
return htmlspecialchars((string)$value, ENT_QUOTES, 'UTF-8');
|
|
}
|
|
|
|
function hbmon_sys_bar($percent, $level) {
|
|
$percent = max(0, min(100, (int)$percent));
|
|
$level = in_array($level, array('ok', 'warn', 'crit'), true) ? $level : 'ok';
|
|
echo '<div class="hbmon-sys-bar" role="meter" aria-valuemin="0" aria-valuemax="100" aria-valuenow="'.$percent.'">';
|
|
echo '<span class="hbmon-sys-bar-fill is-'.$level.'" style="width:'.$percent.'%"></span>';
|
|
echo '</div>';
|
|
}
|
|
?>
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<meta http-equiv="refresh" content="30">
|
|
<?php hbmon_seo_head('System Info'); ?>
|
|
<link rel="stylesheet" type="text/css" href="css/styles.php" />
|
|
</head>
|
|
<body style="background-color: #d0d0d0;font: 10pt arial, sans-serif;">
|
|
<div class="hbmon-page">
|
|
<div class="hbmon-shell hbmon-header">
|
|
<p class="hbmon-header-version" style="font-size: 10px; text-align: right; margin-right: 16px">Dashboard Version: <?php echo hbmon_sys_h(DASH); ?></p>
|
|
<img class="hbmon-logo" src="img/HBLINK_logoV2.png?v=<?php echo hbmon_sys_h(rawurlencode(DASH)); ?>" alt="HBlink Logo" />
|
|
</div>
|
|
<div class="hbmon-shell">
|
|
<p class="hbmon-report-name" style="text-align:center;"><span style="color:#000;font-size: 18px; font-weight:bold;"><?php echo hbmon_sys_h(REPORT_NAME);?></span></p>
|
|
</div>
|
|
<?php include_once 'buttons.html'; ?>
|
|
<main class="hbmon-shell">
|
|
<fieldset class="hbmon-panel hbmon-system-info" style="background-color:#e0e0e0; font-size:14px; border-radius: 10px;">
|
|
<legend><b><span style="color:#000;"> .: System Info :. </span></b></legend>
|
|
<p class="hbmon-sys-status"><?php echo hbmon_sys_h($sys['host']['hostname']); ?> · up <?php echo hbmon_sys_h($sys['uptime']['human']); ?> · sampled <?php echo hbmon_sys_h($sys['host']['sampled']); ?></p>
|
|
<div class="hbmon-sys-grid">
|
|
<article class="hbmon-sys-card">
|
|
<h3>CPU</h3>
|
|
<p class="hbmon-sys-value"><?php echo hbmon_sys_h(number_format($sys['cpu']['load1'], 2)); ?></p>
|
|
<p class="hbmon-sys-meta"><?php echo hbmon_sys_h($sys['cpu']['cores']); ?> cores · load <?php echo hbmon_sys_h(number_format($sys['cpu']['load1'], 2).' / '.number_format($sys['cpu']['load5'], 2).' / '.number_format($sys['cpu']['load15'], 2)); ?></p>
|
|
<?php hbmon_sys_bar($sys['cpu']['percent'], $sys['cpu']['level']); ?>
|
|
</article>
|
|
<article class="hbmon-sys-card">
|
|
<h3>Memory</h3>
|
|
<p class="hbmon-sys-value"><?php echo (int)$sys['memory']['percent']; ?>%</p>
|
|
<p class="hbmon-sys-meta"><?php echo hbmon_sys_h($sys['memory']['human']); ?></p>
|
|
<?php hbmon_sys_bar($sys['memory']['percent'], $sys['memory']['level']); ?>
|
|
</article>
|
|
<article class="hbmon-sys-card">
|
|
<h3>Disk</h3>
|
|
<p class="hbmon-sys-value"><?php echo (int)$sys['disk']['percent']; ?>%</p>
|
|
<p class="hbmon-sys-meta"><?php echo hbmon_sys_h($sys['disk']['human']); ?> · <?php echo hbmon_sys_h($sys['disk']['path']); ?></p>
|
|
<?php hbmon_sys_bar($sys['disk']['percent'], $sys['disk']['level']); ?>
|
|
</article>
|
|
<article class="hbmon-sys-card">
|
|
<h3>Temperature</h3>
|
|
<?php if ($sys['temp'] !== null) { ?>
|
|
<p class="hbmon-sys-value"><?php echo hbmon_sys_h($sys['temp']['human']); ?></p>
|
|
<p class="hbmon-sys-meta">CPU thermal zone</p>
|
|
<?php hbmon_sys_bar($sys['temp']['percent'], $sys['temp']['level']); ?>
|
|
<?php } else { ?>
|
|
<p class="hbmon-sys-value hbmon-sys-muted">N/A</p>
|
|
<p class="hbmon-sys-meta">No thermal sensor reported</p>
|
|
<?php } ?>
|
|
</article>
|
|
</div>
|
|
<div class="hbmon-sys-services">
|
|
<?php foreach ($sys['services'] as $svc) {
|
|
$up = !empty($svc['up']);
|
|
$state = $up ? 'up' : 'down';
|
|
$mark = $up ? '✓' : '✕';
|
|
?>
|
|
<span class="hbmon-sys-chip is-<?php echo $state; ?>">
|
|
<?php echo hbmon_sys_h($svc['name']); ?>: <?php echo $state; ?>
|
|
<span class="hbmon-sys-mark" aria-hidden="true"><?php echo $mark; ?></span>
|
|
</span>
|
|
<?php } ?>
|
|
</div>
|
|
<table class="hbmon-sys-table">
|
|
<tbody>
|
|
<tr><th>Operating system</th><td><?php echo hbmon_sys_h($sys['host']['os']); ?></td></tr>
|
|
<tr><th>Kernel</th><td><?php echo hbmon_sys_h($sys['host']['kernel'].' / '.$sys['host']['arch']); ?></td></tr>
|
|
<tr><th>CPU</th><td><?php echo hbmon_sys_h($sys['cpu']['model']); ?></td></tr>
|
|
<tr><th>Swap</th><td><?php echo $sys['memory']['swap_total'] > 0 ? hbmon_sys_h(hbmon_sys_bytes($sys['memory']['swap_used']).' / '.hbmon_sys_bytes($sys['memory']['swap_total']).' ('.$sys['memory']['swap_percent'].'%)') : 'None'; ?></td></tr>
|
|
</tbody>
|
|
</table>
|
|
<?php if ($sys['network']) { ?>
|
|
<table class="hbmon-sys-table hbmon-sys-net">
|
|
<thead>
|
|
<tr><th>Interface</th><th>Received</th><th>Transmitted</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
<?php foreach ($sys['network'] as $iface) { ?>
|
|
<tr>
|
|
<td><?php echo hbmon_sys_h($iface['name']); ?></td>
|
|
<td><?php echo hbmon_sys_h($iface['rx_human']); ?></td>
|
|
<td><?php echo hbmon_sys_h($iface['tx_human']); ?></td>
|
|
</tr>
|
|
<?php } ?>
|
|
</tbody>
|
|
</table>
|
|
<?php } ?>
|
|
</fieldset>
|
|
</main>
|
|
<br>
|
|
<?php include_once 'elements/footer.php'; ?>
|
|
</div>
|
|
</body>
|
|
</html>
|