Add VIO FC Status monitoring page and enhance server inventory filtering

- Introduced `Storage/VIO.php` for monitoring VIO Fibre Channel status with client balancing checks and table sorting.
- Updated `/include/en.php` and `/include/fr.php` to include new translations for ServiceNow and VIO-related navigation elements.
- Improved SQL query and filtering logic in `/X/Inventory.php` to exclude VIO entries and add XenSam version data.
- Enhanced `/reports/heartbeat.php` with a new mechanism for handling server heartbeat status, allowing better granularity and readability.
This commit is contained in:
2026-09-14 10:32:15 +02:00
parent 1f1b7dcd22
commit c185d099d6
25 changed files with 6646 additions and 437 deletions

View File

@@ -35,6 +35,7 @@
// Construction de la requête SQL
$base_sql = "SELECT * FROM x_inventory WHERE type IS NOT NULL and hostname not in ('DUNAPPDNIM51','DUNAPPDNIM52') ";
$base_sql = "SELECT * FROM x_inventory WHERE hostname not in ('DUNAPPDNIM51','DUNAPPDNIM52') AND hostname not like '%VIO%' ";
$conditions = [];
if ($show_aix) {
@@ -43,7 +44,7 @@
}
if ($show_linux) {
// D'après votre code, tout ce qui n'est pas 'AIX' est considéré comme Linux
$conditions[] = "type <> 'AIX'";
$conditions[] = "(type <> 'AIX' OR type IS NULL)";
}
if (!empty($conditions)) {
@@ -66,6 +67,7 @@
usort($versions, 'version_compare');
$UTDBES = end($versions);
$UTDFI = (Invoke_Infra("select max(Ver) as utd from X_cmdb_Product where Name = 'fi'"))[0]['utd'];
$UTDxs = (Invoke_Infra("select max(Ver) as utd from X_cmdb_Product where Name = 'xs'"))[0]['utd'];
?>
@@ -108,6 +110,7 @@
<th data-field="Zabbix" data-sortable="true">Zabbix</th>
<th data-field="BES" data-sortable="true" data-visible="false">BES</th>
<th data-field="FI" data-sortable="true" data-visible="false">Fusion Inv.</th>
<th data-field="xs" data-sortable="true" data-visible="false">XenSam</th>
</tr>
</thead>
@@ -319,6 +322,26 @@
} else {
echo "<td></td>";
}
//XenSam
$s1s = $s['xsState'];
$s1v = $s['xsVersion'];
if ($typ == "LINUX") {
if ($s1s == "Y") {
if ($s1v == $UTDxs) {
echo "<td class='table-success'>$s1v $s1s</td>";
} else {
echo "<td class='table-warning'><b>$s1v</b> $s1s</td>";
}
} else {
if ($s1v == "") {
echo "<td class='table-danger text-center'>MISSING</td>";
} else {
echo "<td class='table-danger'>$s1v <b>$s1s</b></td>";
}
}
} else {
echo "<td></td>";
}
echo "</tr>";
}