count(); $avgResponseMs = (int) Site::avg('response_ms'); $updatesPending = (int) Site::sum('updates_pending'); $blocked24h = SecurityEvent::where('occurred_at', '>=', now()->subDay())->count(); $serversTotal = Server::count(); $sites = Site::query() ->with('server') ->orderByDesc('visitors_24h') ->limit(8) ->get(); $activities = Activity::query() ->orderByDesc('occurred_at') ->limit(8) ->get(); return compact( 'sitesTotal', 'sitesOk', 'avgResponseMs', 'updatesPending', 'blocked24h', 'serversTotal', 'sites', 'activities', ); } }; ?>
{{-- ───── Topbar ───── --}}

Dashboard

Acme Cluster · eu-central-1
Alle Systeme aktiv
{{-- ───── Metric tiles (4) ───── --}}
Sites Online
{{ $sitesOk }}/{{ $sitesTotal }}
● {{ number_format($sitesOk / max($sitesTotal, 1) * 100, 1, ',', '.') }}% uptime · 24h
Ø Response
{{ $avgResponseMs }}ms
↓ 8,4% vs. 7d
Updates ausstehend
{{ $updatesPending }}
{{ $serversTotal }} Server betroffen
Blocked / 24h
{{ $blocked24h }}
↑ 23% Brute-force
{{-- ───── 2-col: Sites table + Activity feed ───── --}}
{{-- Sites table --}}

Top Sites

Alle ansehen →
@foreach ($sites as $site) @endforeach
Site WP / PHP Besucher 24h Response Status
{{ mb_substr($site->domain, 0, 1) }}
{{ $site->domain }} {{ $site->server->name }} · {{ $site->server->region }}
WP {{ $site->wp_version }} · PHP {{ $site->php_version }} {{ number_format($site->visitors_24h, 0, ',', '.') }} {{ $site->response_ms }}ms {{ $site->status }}
{{-- Activity feed --}}

Aktivität

live
@foreach ($activities as $a)
{{ $a->message }}
{{ $a->subject ?? '—' }} · {{ $a->occurred_at?->diffForHumans() }}
@endforeach