";
//name
$name = $s['hostname']; $heartbeat = $s['Heartbeat']; $statusClass = '';
$heartbeatDate = new DateTime($heartbeat);
$now = new DateTime();
$interval = $now->diff($heartbeatDate);
$diffInMinutes = ($interval->days * 24 * 60) + ($interval->h * 60) + $interval->i;
if ($diffInMinutes < 10) {
$statusClass = 'table-success';
} elseif ($diffInMinutes <= 30) {
$statusClass = 'table-warning';
} else {
$statusClass = 'table-danger';
}
echo "| ";
echo " {$name}";
echo " | ";
//heartbeat
echo "".$s["Heartbeat"]." | ";
//Host
echo "".$s['Owner']." | ";
//OS Type
$typ = match ($s['type'] ?? null) {
'AIX' => 'AIX',
null, '' => '',
default => 'LINUX',
};
echo "".$s['type']." | ";
//Distrib
$Distrib = "";
if($typ == "AIX"){
$Distrib = $s['osversion'];
}
if($typ == "LINUX"){
$Distrib = $s['osversion']." (".str_replace(".x86_64","",$s['kernel']).")";
}
echo "$Distrib | ";
//LastReboot
$lr = $s['lastboot'] ?? ""; $lrDate="";
try {
$lrDate = new DateTime($lr);
} catch (DateMalformedStringException $e) {}
$interval = (new DateTime())->diff($lrDate);
if($interval->days > 60){
echo "$lr | ";
}else{
if($interval->days > 1){
echo "$lr | ";
}else{
echo "$lr | ";
}
}
//LastBackup
$lr = explode(".",$s['backuplast'] ?? "")[0];
$size = 0;
if($s['backuplog'] != "") {
if (str_contains($s['backuplog'],"Length")) {
$size = explode(" ", $s['backuplog'])[1];
} else {
$size = explode(" ", $s['backuplog'])[3];
}
$size = floor($size / 1024 / 1024 / 1024);
}
if($size >= 15){
$size = "$size GB";
}else{
$size = "$size GB";
}
try {
$lrDate = new DateTime($lr);
} catch (DateMalformedStringException $e) {}
$interval = (new DateTime())->diff($lrDate);
if($interval->days > 7 || $s['backuplast'] == ""){
echo "$lr"." ".$size." | ";
}else{
if($interval->days > 1){
echo "".date_format($lrDate,"Y-m-d H:i:s")." - ".$size." | ";
}else{
echo "$lr"." - ".$size." | ";
}
}
//Auth
echo "".$s['auth']." | ";
//SentinelOne
$s1s = $s['S1State']; $s1v = $s['S1Version'];
if($typ == "LINUX"){
if($s1s == "YY"){
if($s1v == $UTDS1) {
echo "$s1v $s1s | ";
}else{
echo "$s1v $s1s | ";
}
}else{
if($s1v == "") {
echo "MISSING | ";
}else{
echo "$s1v $s1s | ";
}
}
}else{
echo " | ";
}
//Nessus
$s1s = $s['NessusState']; $s1v = $s['NessusVersion'];
if($typ == "LINUX"){
if($s1s == "YYY_YYY"){
if($s1v == $UTDNessus) {
echo "$s1v $s1s | ";
}else{
echo "$s1v $s1s | ";
}
}else {
if ($s1v == "") {
echo "MISSING | ";
} else {
echo "$s1v $s1s | ";
}
}
}else{
echo " | ";
}
//Zabbix
$s1s = $s['ZabbixState']; $s1v = $s['ZabbixVersion'];
if($s1s == "Y"){
if($s1v == $UTDZabbix) {
echo "$s1v $s1s | ";
}else{
echo "$s1v $s1s | ";
}
}else{
if($s1v == "") {
echo "MISSING | ";
}else{
echo "$s1v $s1s | ";
}
}
echo "";
}
?>