33 lines
799 B
PHP
33 lines
799 B
PHP
<?php
|
|
require_once __DIR__.'/../helpers/json.php';
|
|
|
|
// DB quick check
|
|
$db_ok = null;
|
|
try {
|
|
require_once __DIR__.'/../db.php';
|
|
$pdo = getPDO();
|
|
$pdo->query('SELECT 1');
|
|
$db_ok = true;
|
|
} catch (Throwable $e) {
|
|
$db_ok = false;
|
|
}
|
|
|
|
// Rounded loadavg as STRINGS to avoid jq float parsing edge cases
|
|
$loadavg_raw = function_exists('sys_getloadavg') ? sys_getloadavg() : null;
|
|
$loadavg = null;
|
|
if (is_array($loadavg_raw)) {
|
|
$loadavg = array_map(function($v){
|
|
return number_format((float)$v, 2, '.', ''); // string "6.03"
|
|
}, $loadavg_raw);
|
|
}
|
|
|
|
json_ok([
|
|
'time' => gmdate('c'),
|
|
'php_version' => PHP_VERSION,
|
|
'memory_used_bytes' => memory_get_usage(true),
|
|
'db' => $db_ok ? 'ok' : 'down',
|
|
'system' => [
|
|
'loadavg' => $loadavg,
|
|
'uptime' => @trim(shell_exec('uptime')),
|
|
],
|
|
]); |