";
//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];
if(str_contains(strtolower($s['backuplog']), 'progress')){
$size = "In Progress";
}elseif (str_contains(strtolower($s['backuplog']), 'waiting')){
$size = "
".$s['backuplog']."";
}elseif (str_contains(strtolower($s['backuplog']), 'error')){
$size = " ERROR !!!";
}else {
$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 ($typ == "AIX" && str_starts_with($s['osversion'], '6')) {
echo " | ";
} else {
if ($s1s == "Y") {
if ($s1v == $UTDZabbix) {
echo "$s1v $s1s | ";
} else {
echo "$s1v $s1s | ";
}
} else {
if ($s1v == "") {
echo "MISSING | ";
} else {
echo "$s1v $s1s | ";
}
}
}
//BES
$s1s = $s['BESState'];
$s1v = $s['BESVersion'];
if ($s1s == "Y") {
if ($s1v == $UTDBES) {
echo "$s1v $s1s | ";
} else {
echo "$s1v $s1s | ";
}
} else {
if ($s1v == "") {
echo "MISSING | ";
} else {
echo "$s1v $s1s | ";
}
}
//FI
$s1s = $s['FIState'];
$s1v = $s['FIVersion'];
if ($typ == "LINUX") {
if ($s1s == "Y") {
if ($s1v == $UTDFI) {
echo "$s1v $s1s | ";
} else {
echo "$s1v $s1s | ";
}
} else {
if ($s1v == "") {
echo "MISSING | ";
} else {
echo "$s1v $s1s | ";
}
}
} else {
echo " | ";
}
echo "";
}
?>