config = $config; $snmpConfig = $config['snmp'] ?? []; $this->snmpService = new SnmpServerStatusService($snmpConfig); } /** * Zeigt das Dashboard an. * * Beim initialen Laden wird der Service aufgerufen, um sofort Daten anzuzeigen. * Live-Updates erfolgen anschließend via JavaScript-Polling (api/snmp_status.php alle 5s). */ public function show(): array { $serverStatus = [ 'hostname' => 'n/a', 'os' => 'n/a', 'uptime' => 'n/a', 'cpu_usage' => 0, 'memory_usage' => 0, 'disk_usage_c' => 0, 'last_update' => date('d.m.Y H:i:s'), ]; try { $serverStatus = $this->snmpService->getServerStatus(); } catch (\RuntimeException $e) { error_log('DashboardController: SNMP-Fehler beim initialen Laden - ' . $e->getMessage()); } $viewPath = __DIR__ . '/../../public/views/dashboard.php'; return [ 'view' => $viewPath, 'data' => [ 'serverStatus' => $serverStatus, 'loginPage' => false, ], 'pageTitle' => 'Dashboard', 'activeMenu' => 'dashboard', ]; } }