Monitor your server's performance metrics and resource utilization over time.
|
Date & Time
|
Status
|
CPU
|
Memory
|
Disk
|
Network In
|
Network Out
|
Disk I/O
|
Uptime
|
Actions |
|---|---|---|---|---|---|---|---|---|---|
|
{{ $stat->DateTime->format('M d, Y') }}
{{ $stat->DateTime->format('H:i:s') }}
|
@if($stat->vmstatus) {{ ucfirst($stat->vmstatus) }} @else - @endif |
|
|
@if(($stat->diskmax ?? 0) > 0 && ($stat->diskused ?? 0) > 0)
|
{{ Illuminate\Support\Number::fileSize(bytes: (int)$networkStats['netin_rate']) }}/s
@endif
|
{{ Illuminate\Support\Number::fileSize(bytes: (int)$networkStats['netout_rate']) }}/s
@endif
|
|
@if($stat->uptime > 0) {{ $this->formatUptime($stat->uptime) }} @else - @endif | |
|
No statistics available Statistics are collected every 5 minutes automatically. |
|||||||||
|
Type
|
Status
|
Start Time
|
End Time
|
Duration
|
|
|---|---|---|---|---|---|
| {{ $task['type'] ?? 'N/A' }} | @if(isset($task['status'])) @if($task['status'] === 'OK') Success @else Failure @endif @else - @endif |
@if($startTime)
{{ $startTime->format('M d, Y') }}
{{ $startTime->format('H:i:s') }}
@else
-
@endif
|
@if($endTime)
{{ $endTime->format('M d, Y') }}
{{ $endTime->format('H:i:s') }}
@else
-
@endif
|
@if($duration !== null) {{ $this->formatUptime($duration) }} @else - @endif | |
|
|||||
|
No task history available Task history will appear here as tasks are executed on the server. |
|||||
|
Type
|
Status
|
Start Time
|
End Time
|
Duration
|
|
|---|---|---|---|---|---|
| {{ $event['label'] ?? 'N/A' }} | @if(isset($event['status'])) @if(strtolower($event['status']) === 'ok') Success @elseif(strtolower($event['status']) === 'running') Running @else Failure @endif @else - @endif |
@if($startTime)
{{ $startTime->format('M d, Y') }}
{{ $startTime->format('H:i:s') }}
@else
-
@endif
|
@if($endTime)
{{ $endTime->format('M d, Y') }}
{{ $endTime->format('H:i:s') }}
@else
-
@endif
|
@if($duration !== null) {{ $this->formatUptime($duration) }} @else - @endif | |
|
|||||
|
No lifecycle events available Lifecycle events will appear here as operations are performed on the server. |
|||||
| Metric |
|
|
Change |
|---|---|---|---|
|
|
{{ number_format($diff['cpu']['historical_percent'], 1) }}% | {{ number_format($diff['cpu']['current_percent'], 1) }}% | {{ $diff['cpu']['percent_change'] > 0 ? '+' : '' }}{{ number_format($diff['cpu']['percent_change'], 1) }}% |
|
|
{{ number_format($diff['memory']['historical_percent'], 1) }}% | {{ number_format($diff['memory']['current_percent'], 1) }}% | {{ $diff['memory']['percent_change'] > 0 ? '+' : '' }}{{ number_format($diff['memory']['percent_change'], 1) }}% |
|
|
{{ $this->formatBytes($diff['disk_read']['historical_rate']) }}/s | {{ $this->formatBytes($diff['disk_read']['current_rate']) }}/s | {{ $diff['disk_read']['percent_change'] > 0 ? '+' : '' }}{{ number_format($diff['disk_read']['percent_change'], 1) }}% |
|
|
{{ $this->formatBytes($diff['disk_write']['historical_rate']) }}/s | {{ $this->formatBytes($diff['disk_write']['current_rate']) }}/s | {{ $diff['disk_write']['percent_change'] > 0 ? '+' : '' }}{{ number_format($diff['disk_write']['percent_change'], 1) }}% |
|
|
{{ $this->formatBytes($diff['network_in']['historical_rate']) }}/s | {{ $this->formatBytes($diff['network_in']['current_rate']) }}/s | {{ $diff['network_in']['percent_change'] > 0 ? '+' : '' }}{{ number_format($diff['network_in']['percent_change'], 1) }}% |
|
|
{{ $this->formatBytes($diff['network_out']['historical_rate']) }}/s | {{ $this->formatBytes($diff['network_out']['current_rate']) }}/s | {{ $diff['network_out']['percent_change'] > 0 ? '+' : '' }}{{ number_format($diff['network_out']['percent_change'], 1) }}% |
{{ $historicalComparison['message'] }}
@if(isset($historicalComparison['total_stats']))Total statistics in database: {{ $historicalComparison['total_stats'] }} @if($historicalComparison['total_stats'] == 0) - Statistics are collected automatically every hour. You can also create manual statistics using the "Create Statistics" button above. @elseif($historicalComparison['total_stats'] < 2) - At least 2 statistics are needed for comparison. Wait for more data to be collected or create a manual statistic. @endif
@endifNo comparison data available
Please select periods with available statistics data.
Deep visibility into firewall sessions, security threats, and top consumers of bandwidth powered by the Core Router API.
Fetching data from Core Router... reload page
{{ $networkAnalysis['error'] }}
Ensure the Core Router API credentials are configured in your environment.
|
Direction
|
Protocol
|
Source
|
Destination
|
State
|
Traffic
|
|---|---|---|---|---|---|
|
@php
$direction = $connection['direction'] ?? '—';
@endphp
@if($direction !== '—')
{{ $direction }}
@else
—
@endif
|
@php
$protocol = $connection['protocol'] ?? '—';
@endphp
@if($protocol !== '—')
{{ $protocol }}
@else
—
@endif
|
@php
$sourceIP = $connection['source'] ?? '—';
$isSourcePublic = $sourceIP !== '—' && $this->checkIsPublicIP($sourceIP);
@endphp
{{ $sourceIP }}
@if($isSourcePublic)
@if(isset($connection['source_port']))
{{ $connection['source_port'] }}
@endif
|
@php
$destIP = $connection['destination'] ?? '—';
$isDestPublic = $destIP !== '—' && $this->checkIsPublicIP($destIP);
@endphp
{{ $destIP }}
@if($isDestPublic)
@if(isset($connection['destination_port']))
{{ $connection['destination_port'] }}
@endif
|
@php
$state = $connection['state'] ?? '—';
@endphp
@if($state !== '—')
{{ $state }}
@else
—
@endif
|
{{ $connection['bytes_human'] ?? '—' }}
@if(isset($connection['packets']))
{{ number_format($connection['packets']) }} packets
@endif
|
|
Endpoint
|
Port
|
Connections
|
Traffic
|
|---|---|---|---|
|
@php
$isEndpointPublic = $endpointIP !== '—' && $this->checkIsPublicIP($endpointIP);
@endphp
{{ $endpointIP }}
@if($isEndpointPublic)
|
@if(isset($row['port']) && $row['port'] !== '—')
{{ $row['port'] }}
@else
—
@endif
|
{{ number_format($row['count']) }} |
{{ $row['bytes_human'] }}
{{ number_format($row['packets']) }} packets
|
|
Port
|
Connections
|
Traffic
|
|---|---|---|
|
{{ $row['port'] }}
|
{{ number_format($row['connections']) }} |
{{ $row['bytes_human'] }}
{{ number_format($row['packets']) }} packets
|
{{ $warning['threat'] }} @if(isset($warning['quantity']) && $warning['quantity'] > 1) ({{ $warning['quantity'] }} similar connection{{ $warning['quantity'] > 1 ? 's' : '' }} detected) @endif
@php $threatIP = $warning['ip'] ?? '—'; $isThreatPublic = $threatIP !== '—' && $this->checkIsPublicIP($threatIP); @endphp