Streams live server metrics to the browser over a WebSocket at ws/monitor/, backed by the system agent's monitor.stats call polled every two seconds. The page is laid out as three tabs. Performance shows CPU, memory, disk, and network as continuously updating charts alongside numeric tiles: CPU percentage with core count and frequency, load averages, memory and swap usage, disk used/free, and uptime. Processes lists every process on the machine — because the data comes from the root agent, processes belonging to root and to other users are visible — sorted by memory, with a search box, optional auto-refresh, and a kill action. System reports the health of the VinzaPanel agent and the background worker, with restart and install controls.
Because monitor.stats is server-wide, the feature is admin-only: the consumer checks P_MONITOR and closes the socket with code 4003 for anyone without it, which matches how the HTTP page itself is gated — the tenant role deliberately lacks the permission. A failed agent poll is logged and retried on the next tick rather than ending the stream, so a transient agent hiccup does not leave a dead chart until the user reloads. This is a live view only: nothing is stored, so there is no history, no retention window, and no alerting or threshold notifications.
Use VinzaPanel's REST API to download and install this app programmatically.
POST /plugins/api/download/monitor/ Content-Type: application/json { "panel_version": "1.0.0" }
{
"success": true,
"plugin_id": "monitor",
"version": "1.0.1",
"download_url": "..."
}