This commit is contained in:
e025532
2024-11-26 09:37:10 +01:00
parent d339cb10d8
commit d1f7f5f313
11 changed files with 320 additions and 117 deletions

168
Hyper-V/VMs-Backups.php Normal file
View File

@@ -0,0 +1,168 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Page Title -->
<title>Web Infra Reports IT</title>
<link rel="shortcut icon" type="image/png" href="/include/favicon-32x32.png">
<!-- JQuery -->
<script src="/js/jquery-3.6.1.min.js"></script>
<!-- Bootstrap -->
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" href="/css/bootstrap-icons/bootstrap-icons.css">
<link rel="stylesheet" href="/css/preloader.css">
<script src="/js/bootstrap.bundle.min.js"></script>
<!-- Bootstrap-tables -->
<link rel="stylesheet" href="/css/bootstrap-table.min.css">
<script src="/js/bootstrap-table.min.js"></script>
<script src="/js/bootstrap-table-fr-FR.min.js"></script>
<script src="/js/tableExport.min.js"></script>
<script src="/js/bootstrap-table-export.min.js"></script>
<script src="/js/libs/js-xlsx/xlsx.core.min.js"></script>
</head>
<body class="bg-light text-dark">
<?php include $_SERVER['DOCUMENT_ROOT'] . "/include/all.php"; ?> <!-- Include All -->
<?php // DATA
$answers = Invoke_WebInfraReports("SELECT a.VM, a.LastBackup, a.Result, a.LastGoodBackup, a.Host, b.OS
FROM netbackup_vms a
left join globalcrossover b on a.VM = b.Server
where a.vm not like 'WS%' order by a.VM");
?>
<!-- HTML -->
<div class="container-fluid" id="content">
<div class="row flex-nowrap">
<!-- Left NAVBAR -->
<div class="col-auto col-md-2 col-xl-2 px-sm-2 px-0 bg-dark" style="-ms-flex: 0 0 230px;flex: 0 0 230px;">
<?php include $_SERVER['DOCUMENT_ROOT'] . "/navbar.html"; ?>
</div>
<!-- Display -->
<div class="col py-3">
<!-- Page Title -->
<h1><span class="badge text-bg-secondary font-weight-bold" style="width:100%;" id="ERR"></span></h1>
<!-- Main content -->
<div class="container-fluid">
<!-- MODAL WAIT -->
<div class="modal fade bs-example-modal-sm" id="wait" tabindex="-1" role="dialog" aria-hidden="true" data-backdrop="static" style="padding-top: 15%;">
<div class="modal-dialog modal-sm">
<div class="modal-content">
<div class="modal-header">
<h4 class="modal-title mb-1 text-dark text-uppercase">
<center><i class="bi bi-hourglass-split"></i><br> Work in progress ...</center>
</h4>
</div>
<div class="modal-body">
<div class="progress">
<div class="progress-bar progress-bar-secondary progress-bar-striped progress-bar-animated" style="width: 100%"></div>
</div>
</div>
</div>
</div>
</div>
<!-- TABLE -->
<div>
<table class='table table-bordered table-hover table-sm' id='t1' data-height="620" data-toggle="table" data-search="true" data-show-columns="true" data-export-types="['xlsx','csv','json']" data-show-export="true" data-sortable="true" data-sort-name="VM">
<thead> <!-- Header -->
<th data-field='vm' data-sortable='true'>VM</th>
<th data-field='Last Backup' data-sortable='true'>Last Backup</th>
<th data-field='LastGood' data-sortable='true'>Last Good Backup</th>
<th data-field='OS' data-sortable='true'>OS</th>
<th data-field='Host' data-sortable='true'>Host</th>
</thead>
<tbody> <!-- Body -->
<?php
$er = 0;
foreach ($answers as $row) {
$ok = 1;
if($row['LastBackup'] == 0){
echo '<tr class="table-primary">';
echo '<td><b>'.$row['VM'].'</b></td>';
echo '<td>Excluded via VMM</td>';
echo '<td></td><td>'.$row['OS'].'</td><td>'.$row['Host'].'</td>';
}else{
echo '<tr>';
$date1 = date_create($row['LastGoodBackup']);
$diff = date_diff($date1, date_create(date("Y-m-d")));
if ($diff->format("%R%a") > 3 || $row['LastGoodBackup'] == ""){
echo '<td class="table-danger"><b>'.$row['VM'].'</b></td>';
$ok = 0;
}else{
echo '<td class="table-success"><b>'.$row['VM'].'</b></td>';
}
if($row['Result'] === "0"){
echo '<td class="table-success">OK</td>';
}else{
$ok = 0;
if($row['Result'] == " : FAILED"){
echo '<td class="table-danger"> SNAPSHOT FAILED</td>';
}else{
echo '<td class="table-warning"> ERROR '.$row['Result'].'</td>';
}
}
if ($diff->format("%R%a") > 3 || $row['LastGoodBackup'] == ""){
echo '<td class="table-danger">'.$row['LastGoodBackup'].'</td>';
$ok = 0;
}else{
echo '<td class="table-success">'.$row['LastGoodBackup'].'</td>';
}
echo '<td>'.$row['OS'].'</td>';
echo '<td>'.$row['Host'].'</td>';
echo '</tr>' ;
}
if($ok ==0){$er++;}
}
?>
</tbody>
</table>
<br>
</div>
</div>
<!-- End of main content -->
</div>
</div>
</div>
</body>
<script src="/js/switch.js"></script>
</HTML>
<SCRIPT>
$(document).ready(function() {
$('#t1').DataTable({
scrollY: '50vh',
scrollCollapse: true,
paging: false,
});
});
$(function () {
var options = $('#t1').bootstrapTable('getOptions');
options.height= document.getElementById('content').clientHeight-170;
$('#t1').bootstrapTable('refreshOptions',options);
});
function tableresize() {
var options = $('#t1').bootstrapTable('getOptions');
options.height= document.getElementById('content').clientHeight-170;
$('#t1').bootstrapTable('refreshOptions',options);
};
window.addEventListener("resize", tableresize);
document.getElementById("ERR").innerHTML = "<?php echo 'VMs backups ('.$er.' issues)'; ?>";
</script>
</SCRIPT>

View File

@@ -15,8 +15,7 @@ $(function() {
if ((dateDiffInDays($data[$i]['SCCMlu'].split(" ")[0]) > 7 || $data[$i]['SCCMlu'] == 'Missing') && $data[$i]['SCCM'] !== 'Missing'){ $nSCCM-- ;} if ((dateDiffInDays($data[$i]['SCCMlu'].split(" ")[0]) > 7 || $data[$i]['SCCMlu'] == 'Missing') && $data[$i]['SCCM'] !== 'Missing'){ $nSCCM-- ;}
if ($data[$i]['GLPI'] !== 'Missing') { $nGLPI++ ; } if ($data[$i]['GLPI'] !== 'Missing') { $nGLPI++ ; }
if ((dateDiffInDays($data[$i]['GLPIlu'].split(" ")[0]) > 7 || $data[$i]['GLPIlu'] == 'Missing') && $data[$i]['GLPI'] !== 'Missing'){ $nGLPI-- ;} if ((dateDiffInDays($data[$i]['GLPIlu'].split(" ")[0]) > 7 || $data[$i]['GLPIlu'] == 'Missing') && $data[$i]['GLPI'] !== 'Missing'){ $nGLPI-- ;}
if ($data[$i]['EPO'] !== 'Missing') { $nEPO++ ; } if ($data[$i]['NESSUS'] !== 'Missing') { $nEPO++ ; }
if ((dateDiffInDays($data[$i]['EPOlu'].split(" ")[0]) > 7 || $data[$i]['EPOlu'] == 'Missing') && $data[$i]['EPO'] !== 'Missing'){ $nEPO-- ;}
if ($data[$i]['Backup'] !== 'Missing') { $nNBU++ ; } if ($data[$i]['Backup'] !== 'Missing') { $nNBU++ ; }
if ((dateDiffInDays($data[$i]['NBUlu'].split(" ")[0]) > 30 || $data[$i]['NBUlu'] == 'Missing') && $data[$i]['Backup'].split(" ")[0] !== 'Missing'){ $nNBU-- ;} if ((dateDiffInDays($data[$i]['NBUlu'].split(" ")[0]) > 30 || $data[$i]['NBUlu'] == 'Missing') && $data[$i]['Backup'].split(" ")[0] !== 'Missing'){ $nNBU-- ;}
if (($data[$i]['OS'].includes('XP') || $data[$i]['OS'].includes('2000') || $data[$i]['OS'].includes('2003') || $data[$i]['OS'].includes('2008') || $data[$i]['OS'].includes('2012') || $data[$i]['OS'].includes('7') || $data[$i]['OS'].includes('Windows NT')) == false && $data[$i]['OS'] !=='&nbsp;') { $nOS++ ;} if (($data[$i]['OS'].includes('XP') || $data[$i]['OS'].includes('2000') || $data[$i]['OS'].includes('2003') || $data[$i]['OS'].includes('2008') || $data[$i]['OS'].includes('2012') || $data[$i]['OS'].includes('7') || $data[$i]['OS'].includes('Windows NT')) == false && $data[$i]['OS'] !=='&nbsp;') { $nOS++ ;}

View File

@@ -188,8 +188,8 @@
echo "<div class='col-md-4'></div>"; echo "<div class='col-md-4'></div>";
echo "</div><br>"; echo "</div><br>";
// EPO // Nessus
echo "<h3><span class='font-weight-bold'>EPO</span></h3>" ; echo "<h3><span class='font-weight-bold'>Nessus</span></h3>" ;
echo "<div class='row'>"; echo "<div class='row'>";
if(isset($row['EPO'])){ if(isset($row['EPO'])){
if($row['EPO']=="Y"){ if($row['EPO']=="Y"){
@@ -198,24 +198,9 @@
echo "<div class='col-md-3'><input type='text' class='form-control bg-secondary text-white' disabled value='".$row['EPO']."'></div>"; echo "<div class='col-md-3'><input type='text' class='form-control bg-secondary text-white' disabled value='".$row['EPO']."'></div>";
} }
}else{ }else{
echo "<div class='col-md-3'><div class='input-group'><span class='input-group-text'><i class='bi bi-pencil-square text-primary'></i></span><input type='text' class='form-control' id='EPO' name ='EPO' Placeholder='Missing' maxlength = '20'></div></div>"; echo "<div class='col-md-3'><div class='input-group'><span class='input-group-text'><i class='bi bi-pencil-square text-primary'></i></span><input type='text' class='form-control' id='EPO' name ='EPO' placeholder='Missing' maxlength = '20'></div></div>";
} }
if(isset($row['EPOlu'])){ echo "<div class='col-md-9'></div>";
echo "<div class='col-md-2 text-end text-bottom'><b>Last Update</b></div>";
$date1=date_create($row['EPOlu']);
$diff=date_diff($date1,date_create(date("Y-m-d")));
if($diff->format("%R%a") > 7){
echo "<div class='col-md-3'><input type='text' class='form-control bg-danger text-white' disabled value='".$row['EPOlu']." (".abs($diff->format("%R%a"))." days)'></div>";
}else{
echo "<div class='col-md-3'><input type='text' class='form-control bg-success text-white' disabled value='".$row['EPOlu']." (".abs($diff->format("%R%a"))." days)'></div>";
}
}else{
if(!(isset($row['EPO']) && $row['EPO'] !=="Y")){
echo "<div class='col-md-2 text-end text-bottom'><b>Last Update</b></div>";
echo "<div class='col-md-3'><input type='text' class='form-control bg-warning' disabled value='Missing'></div>";
}
}
echo "<div class='col-md-4'></div>";
echo "</div><br>"; echo "</div><br>";
// NBU // NBU

View File

@@ -40,7 +40,7 @@
<!-- Display --> <!-- Display -->
<div class="col py-3"> <div class="col py-3">
<!-- Page Title --> <!-- Page Title -->
<h1><span class="badge text-bg-secondary font-weight-bold" style="width:100%;">Global Crossover</span></h1> <h1><span class="badge text-bg-secondary font-weight-bold" style="width:100%;">Global Crossover <small>(Updated every 15mn)</small></span></h1>
<!-- Main content --> <!-- Main content -->
<div class="row" style="zoom: 80%"> <div class="row" style="zoom: 80%">
@@ -66,9 +66,9 @@
$result = $conn->query("select * from GlobalCrossover where SCCM is null or (SCCMlu is not null and DATEDIFF(now(),SCCMlu) > 7) order by server"); $result = $conn->query("select * from GlobalCrossover where SCCM is null or (SCCMlu is not null and DATEDIFF(now(),SCCMlu) > 7) order by server");
echo "<h2><center><span class='badge text-bg-danger font-weight-bold'>Filter : SCCM non compliant</span></center></h2>"; echo "<h2><center><span class='badge text-bg-danger font-weight-bold'>Filter : SCCM non compliant</span></center></h2>";
break; break;
case "EPO": case "NESSUS":
$result = $conn->query("select * from GlobalCrossover where EPO is null or (EPOlu is not null and DATEDIFF(now(),EPOlu) > 7) order by server"); $result = $conn->query("select * from GlobalCrossover where EPO is null order by server");
echo "<h2><center><span class='badge text-bg-danger font-weight-bold'>Filter : EPO non compliant</span></center></h2>"; echo "<h2><center><span class='badge text-bg-danger font-weight-bold'>Filter : NESSUS non compliant</span></center></h2>";
break; break;
case "NBU": case "NBU":
$result = $conn->query("select * from GlobalCrossover where NBU is null or (NBUlu is not null and DATEDIFF(now(),NBUlu) > 30) order by server"); $result = $conn->query("select * from GlobalCrossover where NBU is null or (NBUlu is not null and DATEDIFF(now(),NBUlu) > 30) order by server");
@@ -107,8 +107,7 @@
Inventory</th> Inventory</th>
<th data-field="SCCM" data-sortable="true">SCCM<br></th> <th data-field="SCCM" data-sortable="true">SCCM<br></th>
<th data-field="SCCMlu" data-sortable="true" data-visible="false">SCCM Last Heartbeat</th> <th data-field="SCCMlu" data-sortable="true" data-visible="false">SCCM Last Heartbeat</th>
<th data-field="EPO" data-sortable="true">EPO</th> <th data-field="NESSUS" data-sortable="true">NESSUS</th>
<th data-field="EPOlu" data-sortable="true" data-visible="false">EPO Last Update</th>
<th data-field="Backup" data-sortable="true">Backup</th> <th data-field="Backup" data-sortable="true">Backup</th>
<th data-field="NBUlu" data-sortable="true" data-visible="false">Last Backup</th> <th data-field="NBUlu" data-sortable="true" data-visible="false">Last Backup</th>
<th data-field="SCOM" data-sortable="true">SCOM</th> <th data-field="SCOM" data-sortable="true">SCOM</th>
@@ -128,7 +127,7 @@
$nSCCM = 0; $nSCCM = 0;
$nGLPI = 0; $nGLPI = 0;
$nFI = 0; $nFI = 0;
$nEPO = 0; $nNESSUS = 0;
$nNBU = 0; $nNBU = 0;
$nDPM = 0; $nDPM = 0;
$nS1 = 0; $nS1 = 0;
@@ -148,7 +147,7 @@
$nOS++; $nOS++;
echo "<td>" . $row['OS'] . "</td>"; echo "<td>" . $row['OS'] . "</td>";
} else { } else {
echo "<td class='bg-warning'>" . $row['OS'] . "</td>"; echo "<td class='bg-warning text-black'>" . $row['OS'] . "</td>";
} }
} else { } else {
echo "<td class='bg-warning'>&nbsp;</td>"; echo "<td class='bg-warning'>&nbsp;</td>";
@@ -176,7 +175,7 @@
echo "<td class='bg-secondary text-secondary'>&nbsp;</td>"; echo "<td class='bg-secondary text-secondary'>&nbsp;</td>";
$nSCCM++; $nSCCM++;
} else { } else {
echo "<td class='bg-warning text-warning'>Missing</td>"; echo "<td class='bg-warning text-black'>Missing</td>";
echo "<td class='bg-warning text-warning'>&nbsp;</td>"; echo "<td class='bg-warning text-warning'>&nbsp;</td>";
} }
} }
@@ -195,7 +194,7 @@
echo "<td class='bg-success text-white'>" . $row['GLPIlu'] . "</td>"; echo "<td class='bg-success text-white'>" . $row['GLPIlu'] . "</td>";
} else { } else {
echo "<td class='text-white' style='background: linear-gradient(90deg, rgba(25,135,84,1) 50%, rgba(255,193,7,1) 100%);'>OK</td>"; echo "<td class='text-white' style='background: linear-gradient(90deg, rgba(25,135,84,1) 50%, rgba(255,193,7,1) 100%);'>OK</td>";
echo "<td class='bg-warning text-warning'>Missing</td>"; echo "<td class='bg-warning text-black'>Missing</td>";
} }
} }
$nGLPI++; $nGLPI++;
@@ -205,7 +204,7 @@
echo "<td class='bg-secondary text-secondary'>&nbsp;</td>"; echo "<td class='bg-secondary text-secondary'>&nbsp;</td>";
$nGLPI++; $nGLPI++;
} else { } else {
echo "<td class='bg-warning text-warning'>Missing</td>"; echo "<td class='bg-warning text-black'>Missing</td>";
echo "<td class='bg-warning text-warning'>&nbsp;</td>"; echo "<td class='bg-warning text-warning'>&nbsp;</td>";
} }
} }
@@ -228,31 +227,20 @@
echo "<td class='bg-secondary text-secondary'>&nbsp;</td>"; echo "<td class='bg-secondary text-secondary'>&nbsp;</td>";
$nSCCM++; $nSCCM++;
} else { } else {
echo "<td class='bg-warning text-warning'>Missing</td>"; echo "<td class='bg-warning text-black'>Missing</td>";
echo "<td class='bg-warning text-warning'>&nbsp;</td>"; echo "<td class='bg-warning text-warning'>&nbsp;</td>";
} }
} }
// EPO // NESSUS
if ($row['EPO'] == 'Y') { if (strpos($row['EPO'], '.') !== false ) {
$date1 = date_create($row['EPOlu']); echo "<td class='bg-success text-white'>".$row['EPO']."</td>";
$diff = date_diff($date1, date_create(date("Y-m-d")));
if ($diff->format("%R%a") > 7) {
echo "<td class='text-white' style='background: linear-gradient(90deg, rgba(25,135,84,1) 50%, rgba(220,53,69,1) 100%);'>OK</td>";
echo "<td class='bg-danger text-white'>" . $row['EPOlu'] . " (" . $diff->format("%R%a") . " days)</td>";
} else { } else {
echo "<td class='bg-success text-white'>OK</td>"; if (isset($row['EPO']) && $row['EPO'] != 'Y' && $row['EPO'] != 'N') {
echo "<td class='bg-success text-white'>" . $row['EPOlu'] . "</td>";
$nEPO++;
}
} else {
if (isset($row['EPO'])) {
echo "<td class='bg-secondary'><small>" . $row['EPO'] . "</small></td>"; echo "<td class='bg-secondary'><small>" . $row['EPO'] . "</small></td>";
echo "<td class='bg-secondary text-secondary'>&nbsp;</td>";
$nEPO++;
} else { } else {
echo "<td class='bg-warning text-warning'>Missing</td>"; echo "<td class='bg-warning text-black'>Missing</td>";
echo "<td class='bg-warning text-warning'>&nbsp;</td>"; $nNESSUS++;
} }
} }
@@ -289,7 +277,7 @@
echo "<td class='bg-secondary'><small>" . $row['DPM'] . "</small></td>"; echo "<td class='bg-secondary'><small>" . $row['DPM'] . "</small></td>";
echo "<td class='bg-secondary text-secondary'>&nbsp;</td>"; echo "<td class='bg-secondary text-secondary'>&nbsp;</td>";
} }
echo "<td class='bg-warning text-warning'>Missing</td>"; echo "<td class='bg-warning text-black'>Missing</td>";
echo "<td class='bg-warning text-warning'>&nbsp;</td>"; echo "<td class='bg-warning text-warning'>&nbsp;</td>";
} }
} }
@@ -302,41 +290,42 @@
if (isset($row['SCOM'])) { if (isset($row['SCOM'])) {
echo "<td class='bg-secondary'><small>" . $row['SCOM'] . "</small></td>"; echo "<td class='bg-secondary'><small>" . $row['SCOM'] . "</small></td>";
} else { } else {
echo "<td class='bg-warning text-warning'>Missing</td>"; echo "<td class='bg-warning text-black'>Missing</td>";
} }
} }
// zabbix // zabbix
if ($row['zabbix'] == 'Y') { if ($row['zabbix'] == 'Y' || strpos($row['zabbix'], '.') !== false ) {
echo "<td class='bg-success text-white'>OK</td>"; echo "<td class='bg-success text-white'>".str_replace('Y','OK',$row['zabbix'])."</td>";
} else { } else {
if (isset($row['zabbix'])) { if (isset($row['zabbix'])) {
echo "<td class='bg-secondary'><small>" . $row['zabbix'] . "</small></td>"; echo "<td class='bg-secondary'><small>" . $row['zabbix'] . "</small></td>";
} else { } else {
echo "<td class='bg-warning text-warning'>Missing</td>"; echo "<td class='bg-warning text-black'>Missing</td>";
} }
} }
// S1 // S1
if ($row['S1'] == 'Y') { if ($row['S1'] == 'Y' || strpos($row['S1'], '.') !== false) {
$date1 = date_create($row['S1lu']); $date1 = date_create($row['S1lu']);
$diff = date_diff($date1, date_create(date("Y-m-d"))); $diff = date_diff($date1, date_create(date("Y-m-d")));
if ($diff->format("%R%a") > 7) { if ($diff->format("%R%a") > 7) {
echo "<td class='text-white' style='background: linear-gradient(90deg, rgba(25,135,84,1) 50%, rgba(220,53,69,1) 100%);'>OK</td>"; echo "<td class='text-white' style='background: linear-gradient(90deg, rgba(25,135,84,1) 50%, rgba(220,53,69,1) 100%);'>".str_replace('Y','OK',$row['S1'])."</td>";
echo "<td class='bg-danger text-white'>" . $row['S1lu'] . " (" . $diff->format("%R%a") . " days)</td>"; echo "<td class='bg-danger text-white'>" . $row['S1lu'] . " (" . $diff->format("%R%a") . " days)</td>";
} else { } else {
echo "<td class='bg-success text-white'>OK</td>"; echo "<td class='bg-success text-white'>".str_replace('Y','OK',$row['S1'])."</td>";
echo "<td class='bg-success text-white'>" . $row['S1lu'] . "</td>"; echo "<td class='bg-success text-white'>" . $row['S1lu'] . "</td>";
$nS1++; $nS1++;
} }
} else { } else {
if (isset($row['S1'])) { if (isset($row['S1'])) {
if($row['S1'] == "N"){$row['S1'] = "Non Supported OS";}
echo "<td class='bg-secondary'><small>" . $row['S1'] . "</small></td>"; echo "<td class='bg-secondary'><small>" . $row['S1'] . "</small></td>";
echo "<td class='bg-secondary text-secondary'>&nbsp;</td>"; echo "<td class='bg-secondary text-secondary'>&nbsp;</td>";
$nS1++; $nS1++;
} else { } else {
echo "<td class='bg-warning text-warning'>Missing</td>"; echo "<td class='bg-warning text-black'>Missing</td>";
echo "<td class='bg-warning text-warning'>&nbsp;</td>"; echo "<td class='bg-warning text-black'>&nbsp;</td>";
} }
} }
echo "</tr>"; echo "</tr>";
@@ -401,8 +390,8 @@
</div> </div>
<div class="col"> <!-- CARTE EPO --> <div class="col"> <!-- CARTE EPO -->
<div class="card border-secondary mb-3"> <div class="card border-secondary mb-3">
<div class="card-header text-dark"><b>EPO</b></div> <div class="card-header text-dark"><b>NESSUS</b></div>
<a href="/crossover/GlobalCrossover.php?filter=EPO"> <a href="/crossover/GlobalCrossover.php?filter=NESSUS">
<div class="card-body"> <div class="card-body">
<h2><span class="badge text-bg-secondary font-weight-bold" id="KPIEPO"></span></h2> <h2><span class="badge text-bg-secondary font-weight-bold" id="KPIEPO"></span></h2>
</div> </div>

View File

@@ -8,6 +8,7 @@
<!-- Page Title --> <!-- Page Title -->
<title>Web Infra Reports</title> <title>Web Infra Reports</title>
<link rel="shortcut icon" type="image/png" href="/include/favicon-32x32.png">
<!-- JQuery --> <!-- JQuery -->
<script src="/js/jquery-3.6.1.min.js"></script> <script src="/js/jquery-3.6.1.min.js"></script>
@@ -106,8 +107,6 @@
Inventory</th> Inventory</th>
<th data-field="SCCM" data-sortable="true">SCCM<br></th> <th data-field="SCCM" data-sortable="true">SCCM<br></th>
<th data-field="SCCMlu" data-sortable="true" data-visible="false">SCCM Last Heartbeat</th> <th data-field="SCCMlu" data-sortable="true" data-visible="false">SCCM Last Heartbeat</th>
<th data-field="EPO" data-sortable="true">EPO</th>
<th data-field="EPOlu" data-sortable="true" data-visible="false">EPO Last Update</th>
<th data-field="Backup" data-sortable="true">Backup</th> <th data-field="Backup" data-sortable="true">Backup</th>
<th data-field="NBUlu" data-sortable="true" data-visible="false">Last Backup</th> <th data-field="NBUlu" data-sortable="true" data-visible="false">Last Backup</th>
<th data-field="SCOM" data-sortable="true">SCOM</th> <th data-field="SCOM" data-sortable="true">SCOM</th>
@@ -127,7 +126,6 @@
$nSCCM = 0; $nSCCM = 0;
$nGLPI = 0; $nGLPI = 0;
$nFI = 0; $nFI = 0;
$nEPO = 0;
$nNBU = 0; $nNBU = 0;
$nDPM = 0; $nDPM = 0;
$nS1 = 0; $nS1 = 0;
@@ -232,28 +230,6 @@
} }
} }
// EPO
if ($row['EPO'] == 'Y') {
$date1 = date_create($row['EPOlu']);
$diff = date_diff($date1, date_create(date("Y-m-d")));
if ($diff->format("%R%a") > 7) {
echo "<td class='text-white' style='background: linear-gradient(90deg, rgba(25,135,84,1) 50%, rgba(220,53,69,1) 100%);'>OK</td>";
echo "<td class='bg-danger text-white'>" . $row['EPOlu'] . " (" . $diff->format("%R%a") . " days)</td>";
} else {
echo "<td class='bg-success text-white'>OK</td>";
echo "<td class='bg-success text-white'>" . $row['EPOlu'] . "</td>";
$nEPO++;
}
} else {
if (isset($row['EPO'])) {
echo "<td class='bg-secondary'><small>" . $row['EPO'] . "</small></td>";
echo "<td class='bg-secondary text-secondary'>&nbsp;</td>";
$nEPO++;
} else {
echo "<td class='bg-warning text-warning'>Missing</td>";
echo "<td class='bg-warning text-warning'>&nbsp;</td>";
}
}
// BACKUP // BACKUP
if ($row['NBU'] == 'Y') { if ($row['NBU'] == 'Y') {
@@ -306,8 +282,8 @@
} }
// zabbix // zabbix
if ($row['zabbix'] == 'Y') { if ($row['zabbix'] == 'Y' || strpos($row['zabbix'], '.') !== false ) {
echo "<td class='bg-success text-white'>OK</td>"; echo "<td class='bg-success text-white'>".str_replace('Y','OK',$row['zabbix'])."</td>";
} else { } else {
if (isset($row['zabbix'])) { if (isset($row['zabbix'])) {
echo "<td class='bg-secondary'><small>" . $row['zabbix'] . "</small></td>"; echo "<td class='bg-secondary'><small>" . $row['zabbix'] . "</small></td>";
@@ -398,16 +374,6 @@
</a> </a>
</div> </div>
</div> </div>
<div class="col"> <!-- CARTE EPO -->
<div class="card border-secondary mb-3">
<div class="card-header text-dark"><b>EPO</b></div>
<a href="/crossover/GlobalCrossover.php?filter=EPO">
<div class="card-body">
<h2><span class="badge text-bg-secondary font-weight-bold" id="KPIEPO"></span></h2>
</div>
</a>
</div>
</div>
<div class="col"> <!-- CARTE Backup (NBU + DPM) --> <div class="col"> <!-- CARTE Backup (NBU + DPM) -->
<div class="card border-secondary mb-3"> <div class="card border-secondary mb-3">
<div class="card-header text-dark"><b>Backup</b></div> <div class="card-header text-dark"><b>Backup</b></div>

View File

@@ -37,14 +37,14 @@
<!-- Display --> <!-- Display -->
<div class="col py-3"> <div class="col py-3">
<!-- Page Title --> <!-- Page Title -->
<h1><span class="badge text-bg-secondary font-weight-bold" style="width:100%;">EPO</span></h1> <h1><span class="badge text-bg-secondary font-weight-bold" style="width:100%;">NESSUS</span></h1>
<!-- Main content --> <!-- Main content -->
<div class="row"> <div class="row">
<!-- Get DATAs --> <!-- Get DATAs -->
<?php <?php
DB_ENTRY02(); DB_ENTRY02();
$result = $conn->query("SELECT * FROM GlobalCrossover where epo = 'Y' order by server"); $result = $conn->query("SELECT * FROM GlobalCrossover where epo like '%.%' order by server");
?> ?>
<table class='table table-bordered table-hover table-sm' <table class='table table-bordered table-hover table-sm'
@@ -53,7 +53,7 @@
> >
<thead> <thead>
<th data-field="Name" data-sortable="true">Name</th> <th data-field="Name" data-sortable="true">Name</th>
<th data-field="LastUpdate" data-sortable="true">Last Update</th> <th data-field="LastUpdate" data-sortable="true">Version</th>
</thead> </thead>
<tbody> <tbody>
<!-- Display DATAs --> <!-- Display DATAs -->
@@ -61,12 +61,7 @@
while ($row = mysqli_fetch_array($result)) { while ($row = mysqli_fetch_array($result)) {
echo "<tr>"; echo "<tr>";
echo "<td>".$row['Server']."</td>"; echo "<td>".$row['Server']."</td>";
$lu=date_create($row['EPOlu']); echo "<td class='bg-success'>".$row['EPO']."</td>";
$diff=date_diff($lu,date_create(date("Y-m-d")));
if($diff->format("%R%a") > 7){
echo "<td class='bg-warning'>".$row['EPOlu']."</td>";
}else{
echo "<td class='bg-success'>".$row['EPOlu']."</td>";
} }
echo "</tr>"; echo "</tr>";
} }

View File

@@ -0,0 +1,79 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Page Title -->
<title>Web Infra Reports</title>
<link rel="shortcut icon" type="image/png" href="/include/favicon-32x32.png">
<!-- JQuery -->
<script src="/js/jquery-3.6.1.min.js"></script>
<!-- Bootstrap -->
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" href="/css/bootstrap-icons/bootstrap-icons.css">
<script src="/js/bootstrap.bundle.min.js"></script>
<!-- Bootstrap-tables -->
<link rel="stylesheet" href="/css/bootstrap-table.min.css">
<script src="/js/bootstrap-table.min.js"></script>
<script src="/js/bootstrap-table-fr-FR.min.js"></script>
<script src="/js/tableExport.min.js"></script>
<script src="/js/bootstrap-table-export.min.js"></script>
<script src="/js/libs/js-xlsx/xlsx.core.min.js"></script>
</head>
<body class="bg-light text-dark>
<?php include $_SERVER['DOCUMENT_ROOT']."/include/db_connect.php" ; ?> <!-- Database connexion -->
<?php //include $_SERVER['DOCUMENT_ROOT']."/include/functions.inc.php" ; ?> <!-- Functions -->
<div class="container-fluid">
<div class="row flex-nowrap">
<!-- Left NAVBAR -->
<div class="col-auto col-md-2 col-xl-2 px-sm-2 px-0 bg-dark" style="-ms-flex: 0 0 230px;flex: 0 0 230px;">
<?php include $_SERVER['DOCUMENT_ROOT']."/navbar.html" ; ?> <!-- Left Navbar -->
</div>
<!-- Display -->
<div class="col py-3">
<!-- Page Title -->
<h1><span class="badge text-bg-secondary font-weight-bold" style="width:100%;">NESSUS</span></h1>
<!-- Main content -->
<div class="row">
<!-- Get DATAs -->
<?php
DB_ENTRY02();
$result = $conn->query("SELECT * FROM GlobalCrossover where epo like '%.%' order by server");
?>
<table class='table table-bordered table-hover table-sm'
data-toggle="table" data-search="true" data-show-columns="true" data-pagination="true" data-export-types="['xlsx','csv','json']"
data-page-list="[20, 50, 100, All]" data-page-size="Tout" data-height="820" data-show-export="true" data-sortable="true"
>
<thead>
<th data-field="Name" data-sortable="true">Name</th>
<th data-field="LastUpdate" data-sortable="true">Version</th>
</thead>
<tbody>
<!-- Display DATAs -->
<?php
while ($row = mysqli_fetch_array($result)) {
echo "<tr>";
echo "<td>".$row['Server']."</td>";
echo "<td class='bg-success'>".$row['EPO']."</td>";
echo "</tr>";
}
?>
</tbody>
</table>
<!-- End of main content -->
</div>
</div>
</div>
<script src="/js/switch.js"></script>
</body>

View File

@@ -44,7 +44,7 @@
<!-- Get DATAs --> <!-- Get DATAs -->
<?php <?php
DB_ENTRY02(); DB_ENTRY02();
$result = $conn->query("SELECT * FROM GlobalCrossover where S1 = 'Y' order by server"); $result = $conn->query("SELECT * FROM GlobalCrossover where S1 like '%.%' order by server");
?> ?>
<table class='table table-bordered table-hover table-sm' <table class='table table-bordered table-hover table-sm'
@@ -64,9 +64,9 @@
$lu=date_create($row['S1lu']); $lu=date_create($row['S1lu']);
$diff=date_diff($lu,date_create(date("Y-m-d"))); $diff=date_diff($lu,date_create(date("Y-m-d")));
if($diff->format("%R%a") > 7){ if($diff->format("%R%a") > 7){
echo "<td class='bg-warning'>".$row['EPOlu']."</td>"; echo "<td class='bg-warning'>".$row['S1lu']."</td>";
}else{ }else{
echo "<td class='bg-success'>".$row['EPOlu']."</td>"; echo "<td class='bg-success'>".$row['S1lu']."</td>";
} }
echo "</tr>"; echo "</tr>";
} }

View File

@@ -82,6 +82,26 @@ function Invoke_WebInfraTools($request)
} }
} }
// MySQL web-infra-tools sur DUN-SUP-S2ENTRY
function Invoke_WebInfraReports($request)
{
$user = "admin";
$pwd = "Arth3m1s&*0";
$server = "dun-sup-s2entry.armony.net:3306";
$database = "web-infra-reports";
$conn = new mysqli($server, $user, $pwd, $database);
if (!($conn)) {
echo "Pas de connexion";
}
$rs = $conn->query($request);
while ($row = mysqli_fetch_array($rs)) {
$answer[] = $row;
}
if (isset($answer)) {
return $answer;
}
}
//INFRA sur DUN-PRD-R1MSSQL\PRD //INFRA sur DUN-PRD-R1MSSQL\PRD
function Invoke_Infra($request) function Invoke_Infra($request)
{ {

View File

@@ -114,16 +114,16 @@
</div> </div>
</div> </div>
<div class="col"> <!-- CARTE EPO --> <div class="col"> <!-- CARTE NESSUS -->
<div class="card border-primary mb-3"> <div class="card border-primary mb-3">
<div class="card-header text-dark"><h5><i class="fs-4 bi-pc text-primary"></i> EPO</h5></div> <div class="card-header text-dark"><h5><i class="fs-4 bi-pc text-primary"></i> NESSUS</h5></div>
<div class="card-body"> <div class="card-body">
<?php <?php
DB_ENTRY02(); DB_ENTRY02();
$result = $conn->query("SELECT count(*) as nbepo FROM GlobalCrossover where epo = 'Y'"); $result = $conn->query("SELECT count(*) as nbnessus FROM GlobalCrossover where epo like '%.%'");
$nbepo = mysqli_fetch_array($result)['nbepo']; $nbnessus = mysqli_fetch_array($result)['nbnessus'];
?> ?>
<p class="card-text text-center"><b><a href="\dashboard\EPO-detail.php"><?php echo $nbepo; ?></b> Agents</a></p> <p class="card-text text-center"><b><a href="\dashboard\Nessus-detail.php"><?php echo $nbnessus; ?></b> Agents</a></p>
</div> </div>
</div> </div>
</div> </div>
@@ -133,7 +133,7 @@
<div class="card-header text-dark"><h5><i class="fs-4 bi-pc text-primary"></i> SentinelOne</h5></div> <div class="card-header text-dark"><h5><i class="fs-4 bi-pc text-primary"></i> SentinelOne</h5></div>
<div class="card-body"> <div class="card-body">
<?php <?php
$result = $conn->query("SELECT count(*) as nbS1 FROM GlobalCrossover where S1 = 'Y'"); $result = $conn->query("SELECT count(*) as nbS1 FROM GlobalCrossover where S1 like '%.%'");
$nbS1 = mysqli_fetch_array($result)['nbS1']; $nbS1 = mysqli_fetch_array($result)['nbS1'];
?> ?>
<p class="card-text text-center"><b><a href="\dashboard\S1-detail.php"><?php echo $nbS1; ?></b> Agents</a></p> <p class="card-text text-center"><b><a href="\dashboard\S1-detail.php"><?php echo $nbS1; ?></b> Agents</a></p>

View File

@@ -54,6 +54,8 @@
<ul class="collapse nav flex-column ms-1" id="HyperV" data-bs-parent="#menu"> <ul class="collapse nav flex-column ms-1" id="HyperV" data-bs-parent="#menu">
<li class="w-100"> <li class="w-100">
<a href="/Hyper-V/clusters.php" class="nav-link px-0"> <span class="d-none d-sm-inline text-white h7">- Hyper-V Clusters</span></a> <a href="/Hyper-V/clusters.php" class="nav-link px-0"> <span class="d-none d-sm-inline text-white h7">- Hyper-V Clusters</span></a>
<a href="/Hyper-V/VMs-Backups.php" class="nav-link px-0"> <span class="d-none d-sm-inline text-white h7">- VMs Backups</span></a>
</li> </li>
</ul> </ul>
</li> </li>