System Monitoring
The System Dashboard is your real-time telemetry center for monitoring server health. It provides live metrics, historical charts, hardware inventory, diagnostic tools, and automated alert rules — all in a wide-format layout designed for at-a-glance server awareness.
The System Dashboard requires admin privileges (admin.system.dashboard permission). Navigate to it from the sidebar under Dashboard > System Dashboard.
Key features
Live Metrics
Real-time CPU, memory, swap, disk, and network utilization updated via server-sent events
Bandwidth History
Historical bandwidth charts powered by vnStat with configurable time ranges
Health Scoring
Deep-dive health cards for CPU, memory, and storage with status indicators
Quick Actions
Common system operations — memory cleanup, CPU governor, and more — accessible in one click
Software RAID
Live array status, member disk SMART health, rebuild progress, and mount point visibility for mdadm arrays
Monitor Rules
Create automated alert rules for CPU, memory, and disk thresholds with configurable actions
Diagnostics
Generate a diagnostic bundle for troubleshooting or download system logs
Streaming Maintenance
Run and monitor Plex Butler tasks and Emby/Jellyfin scheduled tasks from a single panel (shown when WSDashboard is enabled)
Overview metric strip
At the top of the System Dashboard, a row of KPI tiles gives you an instant snapshot of server health:
| Metric | What it shows |
|---|---|
CPU | Current CPU utilization as a percentage |
Memory | RAM usage relative to total capacity |
Swap | Swap space usage — elevated values may indicate memory pressure |
Disk | Storage consumption for your primary mount point |
Network In | Current inbound network throughput |
Network Out | Current outbound network throughput |
These tiles update in real time. A status indicator in the page header shows whether telemetry streaming is active.
Bandwidth history
The bandwidth history section occupies the largest area of the System Dashboard. It displays time-series charts showing network throughput for your selected interface, powered by vnStat.
Key capabilities:
- Time range selection — Choose from predefined ranges or use the timeseries player controls to scrub through historical data
- Multiple interfaces — If your server has more than one network interface, select which one to chart from the command bar
- Chart interaction — Hover over data points to see exact values. The chart updates in real time when viewing the current time window
The health sidebar next to the bandwidth chart shows a compact summary of CPU, memory, and storage health with status badges.
Network topology auto-heal
vnStat keeps its tracked interface list in sync with your server automatically. When a bond, bridge, team, or VLAN-aggregate interface appears or disappears - for example, after you bond two NICs or remove a virtual bridge - vnStat re-registers the new topology on its own. You no longer need to manually drop old interfaces and add the bond before bandwidth charts start working.
If you want to force a re-sync (for example, after hand-editing vnstat.conf or rebuilding network configuration outside QuickBox), use the Rebuild interfaces button in the Network Stats panel of the System Dashboard, or run qb manage vnstat —rebuild from the CLI. See Network Tracking for the full reference on triggers, the rebuild flow, and the —status / —dry-run options.
CPU and memory panels
Below the bandwidth chart, dedicated CPU and memory panels display:
- Real-time utilization — Live-updating charts showing current CPU and memory usage
- Historical data — Time-series charts with the same range controls as the bandwidth section
- Per-core breakdown — CPU charts show individual core utilization when expanded
- Thermal data — CPU temperature readings when hardware sensors are available
System inventory
The system inventory panel displays your server’s hardware and software details:
- Hardware — CPU model, core/thread count, total memory, disk capacity
- Operating system — Distribution, kernel version, hostname
- Service uptime — How long the server has been running since last reboot
- Mount points — Configured storage mount points with usage breakdown
Software RAID monitoring
On servers with Linux software RAID (mdadm) arrays, the System Dashboard displays a dedicated RAID panel with live array status, member disk health, and rebuild progress. The panel appears automatically when RAID arrays are detected — no configuration is required. On servers without software RAID, the panel is hidden entirely with zero overhead.
Array overview
Each detected array shows key identification and status information:
| Field | What it shows |
|---|---|
Array name | The md device name (e.g., md0, md1) |
RAID level | The array type — RAID 0, RAID 1, RAID 5, RAID 6, RAID 10, or linear |
State | Current array state: active, degraded, rebuilding, or inactive |
Mount point | Where the array is mounted on the filesystem (e.g., /, /home) |
Disk count | Total, active, working, failed, and spare disk counts |
Health status | Overall health assessment — healthy, warning, critical, or unknown |
Drive SMART health
For each member disk in an array, the panel collects S.M.A.R.T. data to assess drive health. SMART data refreshes every 5 minutes (independently of the 15-second array status updates) because the underlying smartctl probes are resource-intensive. Both SATA/SAS and NVMe drives are supported.
| SMART Metric | What it indicates |
|---|---|
Health | Overall self-assessment result — PASSED or FAILED |
Temperature | Current drive temperature in Celsius |
Reallocated sectors | Number of bad sectors remapped to spare area — non-zero values indicate drive wear |
Pending sectors | Sectors waiting to be remapped — non-zero values indicate developing problems |
Power-on hours | Cumulative hours the drive has been powered on |
SMART monitoring requires smartctl (part of the smartmontools package). If it is not installed, the RAID panel displays an install banner with a one-click Install button that provisions smartmontools via apt. After installation, drive health data begins flowing automatically on the next 5-minute SMART cycle — no page refresh needed.
Health indicators
The RAID panel uses a color-coded health system derived from array state, SMART data, and mismatch counts:
| Status | Color | Conditions |
|---|---|---|
Healthy | Green | Array is active, all disks report SMART PASSED, and the mismatch count is zero |
Warning | Amber | Any disk has reallocated or pending sectors greater than zero, or the array mismatch count is non-zero |
Critical | Red | Array is in degraded or rebuilding state, or any member disk reports SMART FAILED |
Unknown | Gray | SMART data is unavailable (no smartctl) and array state alone cannot determine health |
Rebuild progress
When an array is rebuilding, resyncing, reshaping, or running a consistency check, the panel displays a progress indicator with:
- Percentage complete — how far the operation has progressed (0–100%)
- Speed — current throughput of the rebuild operation (e.g., 185000K/sec)
- Estimated time remaining — projected finish time based on current speed
The array state changes to “rebuilding” and the health status is set to “critical” for the duration of the operation, ensuring visibility.
The RAID panel monitors /proc/mdstat at 15-second intervals and enriches the data with mdadm —detail for each array. You do not need to configure anything — if your server has software RAID arrays, the panel appears automatically. When arrays are removed, the panel disappears on the next poll cycle.
System users
This section shows Linux user accounts currently connected to the server and their active sessions. Each entry displays the username, terminal, connection time, and source IP address.
Health cards
The health cards provide deeper analysis for three key resource areas:
- CPU Health — Load averages, governor settings, per-core utilization, and thermal status
- Memory Health — Detailed breakdown of used, cached, buffered, and available memory plus swap usage
- Storage Health — Per-mount usage, inode consumption, and growth trends
Each card includes a status indicator (healthy, warning, or critical) based on current utilization thresholds.
Quick actions
The quick actions section provides one-click access to common system operations:
| Action | What it does |
|---|---|
Clean Memory Cache | Drops filesystem caches to free up memory. Equivalent to qb clean memory |
CPU Governor | View or change the CPU frequency scaling governor for performance optimization |
Database Health | Run integrity checks on the QuickBox Pro SQLite database |
Reboot and shutdown
The Reboot server and Shut down server controls appear in the Quick Actions widget only for system administrators. Standard users never see them.
These two power controls let an admin restart or fully power off the host directly from the dashboard:
| Control | What it does |
|---|---|
Reboot server | Restarts the host. The server is briefly unavailable while it restarts — the dashboard connection drops and reconnects automatically once the server is back online. |
Shut down server | Powers the host fully OFF. The server can only be powered back on from your host or provider console — <strong>not from this dashboard</strong>. |
Each control opens a confirmation dialog before anything happens. The reboot dialog offers a Reboot now option alongside scheduling controls (see Scheduling reboots below). Shutdown carries extra friction because it cannot be undone from the dashboard: you must type SHUTDOWN into the confirmation field before the Shut Down Server button activates. Shutdown is always immediate — there is no scheduling for power-off.
After you confirm a reboot-now or shutdown, the dashboard responds first and then the server reboots or powers off a few seconds later, so you receive a confirmation message before the connection drops.
A shutdown powers the server completely off. There is no dashboard control to turn it back on — you must use your hosting provider’s or hardware’s power console to start it again. Only use shutdown when you have console access to bring the server back.
Scheduling reboots
Administrators can schedule reboots for later instead of restarting immediately. Inside the reboot confirmation dialog, a timing selector offers three modes — Reboot now, One-time, and Recurring. The first restarts the host right away; the other two create a saved schedule that fires automatically at the time you choose. Scheduling is reboot-only — shutdown has no scheduling option.
| Mode | What it does |
|---|---|
Reboot now | Restarts the host immediately. This is the standard reboot — no schedule is created. |
One-time | Pick a date and time, and the server reboots once at that moment. The time must be at least one minute in the future. |
Recurring | Reboot on a repeating cadence — every N days (up to 365) or every N weeks (up to 52), at a chosen time of day. The schedule keeps firing until you cancel it. |
To create a one-time schedule, choose One-time, set the date and time, and select Schedule Reboot. For a recurring schedule, choose Recurring, set how often (the Every value and Days or Weeks unit) and the At time of day, then select Schedule Reboot.
All existing reboot schedules are listed in the same dialog under Scheduled reboots, each showing when it next fires. Select the trash icon beside a schedule to cancel it — its next run is removed and it will no longer reboot the server.
Scheduled reboots are backed by the operating system’s own timer service, not the dashboard. A schedule fires at the configured time even if the dashboard or your browser session is closed, and it survives the reboot it triggers. One-time schedules clean themselves up after firing, so a single scheduled reboot never loops or repeats.
Monitor rules
Monitor rules let you set up automated alerts when server resources cross defined thresholds. You can create rules for:
- CPU usage — Alert when CPU exceeds a percentage for a sustained period
- Memory usage — Alert when RAM usage crosses a threshold
- Disk usage — Alert when storage consumption reaches a warning level
Each rule can trigger configurable actions, such as sending a notification to admins.
APT runner
The APT Runner is a slide-out panel for managing operating system package updates:
- Pending updates — View a list of available system package updates
- Apply updates — Run package updates with live output streaming
- Update history — Review previously applied updates
APT updates affect the underlying operating system packages, not QuickBox Pro applications. To update QuickBox-managed applications, use the Package Management panel on the App Dashboard or the qb update command.
Diagnostics
The diagnostics section allows you to generate a comprehensive diagnostic bundle that captures system state, logs, and configuration information. This bundle is useful when troubleshooting issues with the QuickBox support team.
Click Generate Diagnostics to create the bundle, which can then be downloaded as a file.
You can also generate a diagnostic log from the command line with qb generate log.
Streaming Maintenance
The Streaming Maintenance panel is only visible to admin users when the WSDashboard feature is enabled on your server. If WSDashboard is not enabled, this section does not appear.
When WSDashboard is active, the System Dashboard includes a Streaming Maintenance panel directly below the RAID section. This panel gives admins a single place to trigger and monitor background maintenance tasks across all configured media servers — without leaving the system view.
What it shows
The panel renders one section per connected media server (Plex, Emby, and Jellyfin each appear separately when configured). Each section lists the maintenance tasks reported by that server, along with their current state, last-run time, and result status.
| Column | What it shows |
|---|---|
Task name | The maintenance task's display name and category label (Library, Database, Media Analysis, Maintenance, etc.) |
Last run | How long ago the task last completed (e.g., 2h ago, Never) |
Last result | Outcome of the previous run: OK, Failed, Cancelled, or — if never run |
Progress bar | A live progress bar that fills as the task runs. Updated in real time through the SSE event stream. |
Run / Cancel | Run enqueues the task immediately. Cancel stops a task that is currently running. Only one button is visible at a time. |
If a configured server returns no scheduled tasks, its section displays “No tasks reported” rather than being hidden entirely.
Task sources by server type
Emby and Jellyfin expose their maintenance operations through a standard Scheduled Tasks API. Plex uses a different subsystem called Butler — a set of named background jobs the Plex Media Server runs on its own schedule (library refreshes, database optimization, media analysis, bundle cleanup, and others). Butler task names and categories do not match Emby/Jellyfin task names, but the panel presents them in the same format.
On Plex, the panel also surfaces any active Activities — operations that are currently running rather than scheduled (for example, a library scan initiated from the Plex web interface). Active Activities appear alongside Butler tasks in the Plex section and can be cancelled if the activity supports cancellation.
Butler tasks on Plex use PascalCase internal names (for example, RefreshLibraries, OptimizeDatabase, CleanOldBundles). The panel displays these in a human-readable format. Last-run time is not available for Butler tasks — the Plex API does not expose it. Only the running/idle state and progress are tracked.
Running and cancelling tasks
Click Run on any idle task to enqueue it immediately. The task state changes to running and a progress bar appears. Click Cancel on a running task to stop it. For Plex, cancellation routes to the appropriate endpoint depending on whether the task is a Butler task or an active Activity.
Live progress updates arrive through the dashboard’s server-sent events stream (activity.update events), so you see scan/refresh/optimize progress without refreshing the page.
CLI equivalents
| Dashboard Action | CLI Command |
|---|---|
Clean memory cache | qb clean memory |
Generate diagnostics | qb generate log |
Check for QuickBox updates | qb update check |
Best practices
Do
- Check the System Dashboard regularly to catch resource trends before they become problems
- Set up monitor rules for disk usage to receive early warnings before storage fills up
- Use the bandwidth history charts to identify unexpected traffic patterns
- Generate a diagnostic bundle before contacting support — it helps the team resolve issues faster
- Review memory health when applications are running slowly — high swap usage often indicates insufficient RAM
- Install
smartmontoolson servers with software RAID to get full drive health visibility in the RAID panel
Don't
- Don't ignore sustained high CPU or memory readings — investigate which application is consuming resources
- Don't ignore warning or critical RAID health indicators — reallocated sectors and mismatch counts can precede drive failure
- Don't run memory cache cleanup constantly — the kernel manages caches efficiently under normal conditions
- Don't apply APT updates during heavy server usage — schedule maintenance during off-peak hours
- Don't confuse APT system updates with QuickBox application updates — they are separate operations
FAQ
vnstat.conf, click Rebuild interfaces in the Network Stats panel or run qb manage vnstat --rebuild.admin.system.dashboard permission. If you are an admin and still cannot see it, check your role's permissions in User Management./proc/mdstat for active arrays — if none exist, the panel is hidden entirely. Hardware RAID controllers that present virtual disks to the OS (without mdadm) will not show a RAID panel.smartctl from the smartmontools package. If it is not installed, the RAID panel shows an install banner with a one-click Install button that provisions the package automatically. After installation, drive health data begins flowing within 5 minutes.smartctl probes are resource-intensive. Between SMART refreshes, the most recent cached values are displayed./sys/block/mdX/md/mismatch_cnt) indicates data inconsistencies found during a scrub or check operation. A non-zero value triggers a warning health status. While small mismatch counts on RAID 1/10 can be benign (e.g., from swap partitions), they should be investigated on RAID 5/6 arrays as they may indicate silent data corruption.Related pages
Manage applications and view per-app system metrics
Configure network interfaces, mount points, and vnStat
How vnStat's tracked interface set stays in sync with your topology
View audit events and application log files
QuickBox and dashboard version management
WSDashboard overview — prerequisites, supported servers, and setup
Join the Community
Media server operators sharing configs, getting support, and shaping the future of QuickBox Pro.