Updated hostname

Hostname sollte jetzt statt 127.0.0.1 den tatsächlichen Hostnamen anzeigen
This commit is contained in:
GraegelTh 2025-12-11 15:24:13 +01:00
parent a639cd68e3
commit 9746881492
3 changed files with 15 additions and 7 deletions

View File

@ -67,7 +67,12 @@ class SnmpServerStatusService
// Hilfsfunktion: SNMP-Werte bereinigen (z.B. "INTEGER: 123" -> 123)
$cleanSnmpValue = fn($v) => (int)filter_var($v, FILTER_SANITIZE_NUMBER_INT);
// --- 2. Uptime abfragen ---
// --- 2. Hostname abfragen (dynamisch, nicht hardcoded) ---
$hostnameOid = $oids['hostname'] ?? '1.3.6.1.2.1.1.5.0'; // sysName OID
$hostnameResult = @snmpget($host, $community, $hostnameOid, $timeout, $retries);
$hostnameFromSnmp = $hostnameResult ? trim(str_ireplace('STRING:', '', $hostnameResult), ' "') : $host;
// --- 3. Uptime abfragen ---
$uptimeOid = $oids['uptime'] ?? '1.3.6.1.2.1.1.3.0';
$uptimeResult = @snmpget($host, $community, $uptimeOid, $timeout, $retries);
if ($uptimeResult === false) {
@ -86,7 +91,7 @@ class SnmpServerStatusService
(int)($uptimeSeconds % 60)
);
// --- 3. CPU (Durchschnitt über alle Kerne) ---
// --- 4. CPU (Durchschnitt über alle Kerne) ---
$cpuTable = $oids['cpu_table'] ?? '1.3.6.1.2.1.25.3.3.1.2';
$cpuValues = @snmpwalk($host, $community, $cpuTable, $timeout, $retries);
@ -97,7 +102,7 @@ class SnmpServerStatusService
$cpuValues = array_map($cleanSnmpValue, $cpuValues);
$cpuAvg = (int)round(array_sum($cpuValues) / count($cpuValues));
// --- 4. Storage-Tabellen (RAM + Disks) ---
// --- 5. Storage-Tabellen (RAM + Disks) ---
$descrOid = $oids['storage_descr'] ?? '1.3.6.1.2.1.25.2.3.1.3';
$unitsOid = $oids['storage_units'] ?? '1.3.6.1.2.1.25.2.3.1.4';
$sizeOid = $oids['storage_size'] ?? '1.3.6.1.2.1.25.2.3.1.5';
@ -118,7 +123,7 @@ class SnmpServerStatusService
$size = array_map($cleanSnmpValue, $size);
$used = array_map($cleanSnmpValue, $used);
// --- 5. RAM mit Fallback-Logik ---
// --- 6. RAM mit Fallback-Logik ---
$ramPercent = null;
$memTotalBytes = null;
@ -163,7 +168,7 @@ class SnmpServerStatusService
throw new RuntimeException("Konnte 'Physical Memory' in der SNMP Storage-Tabelle nicht finden.");
}
// --- 6. Disk C: / Root mit Fallback-Logik ---
// --- 7. Disk C: / Root mit Fallback-Logik ---
$diskCPercent = null;
// Heuristik 1: Suche nach C:\
@ -212,9 +217,9 @@ class SnmpServerStatusService
throw new RuntimeException("Konnte Laufwerk 'C:\\' oder Root-Partition in der SNMP Storage-Tabelle nicht finden.");
}
// --- 7. Status-Array zusammenbauen ---
// --- 8. Status-Array zusammenbauen ---
$status = [
'hostname' => $host,
'hostname' => $hostnameFromSnmp,
'os' => 'Windows Server', // TODO: OS dynamisch per SNMP abfragen (OID 1.3.6.1.2.1.1.1.0)
'uptime' => $uptimeFormatted,
'cpu_usage' => $cpuAvg,

View File

@ -36,6 +36,7 @@ return [
// Platzhalter für OIDs später können wir die auf echte Werte setzen
'oids' => [
'hostname' => '1.3.6.1.2.1.1.5.0', // sysName - Hostname des Servers
'uptime' => '1.3.6.1.2.1.1.3.0',
// CPU pro Kern

View File

@ -153,6 +153,7 @@ declare(strict_types=1);
<script>
document.addEventListener('DOMContentLoaded', function(){
const hostnameEl = document.querySelector('.col-xl-3:first-child .h5.mb-0'); // Hostname card (first card)
const diskEl = document.getElementById('disk_usage_text');
const uptimeEl = document.getElementById('uptime_text');
const cpuEl = document.getElementById('cpu_card_value');
@ -161,6 +162,7 @@ document.addEventListener('DOMContentLoaded', function(){
function updateUI(data){
if(!data) return;
if(hostnameEl) hostnameEl.textContent = data.hostname || 'n/a';
if(diskEl) diskEl.textContent = (data.disk_usage_c !== null && data.disk_usage_c !== undefined) ? Math.round(data.disk_usage_c) : 'n/a';
if(uptimeEl) uptimeEl.textContent = data.uptime || 'n/a';
if(cpuEl) cpuEl.textContent = (data.cpu_usage !== null && data.cpu_usage !== undefined) ? Math.round(data.cpu_usage) : 0;