Use the SoAI WebUI to check SoAI's state, workload, hardware, and logs. The monitoring pages draw from the same live services, but each one answers a different operational question. Use the HTTP API reference when a script needs the compatible client APIs or the System API.
Choose a monitoring page
| Page | Use it for | Access condition |
|---|---|---|
| Dashboard | Instance status, request activity, plugins, models, hardware, network, storage, logs, and other configurable overview cards. |
System status access
(SYSTEM_STATUS_READ) opens the page.
Cards backed by protected resources also require their own access, including
MODEL_READ,
PLUGIN_READ,
HARDWARE_READ, or
LOG_ACCESS as applicable.
|
| Hardware | Current CPU, memory, storage, network, and GPU data, stored hardware history, export, and supported host controls. |
Hardware read access
(HARDWARE_READ). Process information requires
HW_PROCESS_VIEW, while GPU changes require
HW_GPU_TUNING.
|
| Metrics | Request, latency, token, queue, plugin, model, system, and frontend telemetry. |
Any signed-in account. API key usage appears only for an Administrator and requires
OPENAI_API_ADMIN.
|
| Logs | Current SoAI Core and available plugin log streams. | Log access (LOG_ACCESS) |
A Regular user account does not receive SYSTEM_STATUS_READ
or HARDWARE_READ by default, although an Administrator with
ACL_ADMIN can grant either action to the
Standard user ACL group. In the WebUI, select the Settings button at the right of the header,
select Settings, then ACL, expand Standard user in
Access control policy, enable the required action, and select Save.
LOG_ACCESS,
HW_PROCESS_VIEW, and
HW_GPU_TUNING remain administrator-only actions. See
Access control for the full access policy.
Use the monitoring pages
Dashboard
Open Dashboard from the side navigation for a broad view of the instance. Its movable sections can include
Status, Requests, Plugins, Models,
Hardware widgets, Network, Storage, Logs,
Image, Memo, Clock, Throughput, and
Quick actions. SoAI OS also adds Capabilities for host-level capability checks.
SYSTEM_STATUS_READ grants access to Dashboard but
does not override the permission required by an individual card, so a user may open the page without seeing every
protected card.
Select Edit layout in the page header to rearrange or hide sections. Hardware and Metrics use the same layout control. To disable layout editing, select Settings, Theme, Dashboard, then enable Lock layouts.
Open Plugins when a card identifies a problem with one backend or circuit, and open Models when the problem is limited to a model. Use Operational runbooks for recovery procedures after you identify the affected resource.
Hardware
- Open Hardware from the side navigation.
- Review the CPU, memory, storage, network, and GPU data reported by the host.
- In Chart, choose Device and Metric, then select a chart type and time range.
An OHLC or Heikin Ashi chart also provides Interval to choose how much time each candle represents. The page shows History is disabled by the backend. when history collection is off, while the values and controls that appear depend on the detected device, driver, and vendor tooling. Continue with Hardware monitoring for chart, history, and export details, or GPU setup and troubleshooting when telemetry or controls are missing.
GPU control appears only for an account with
HW_GPU_TUNING. It shows
No GPU controls available when no detected GPU reports an actionable control; otherwise each panel contains
only the controls supported by that GPU. Read GPU controls and tuning before changing
power, clocks, fan settings, or saved slots.
Metrics
Open Metrics from the side navigation. In Chart, select Requests,
Latency, Tokens, Token throughput, or
Queue depth, then choose the chart type and time range.
Request distribution, Plugin usage, Model usage,
System performance, and Frontend telemetry provide more focused views, while
More opens Advanced metrics. API key usage appears only for an Administrator,
and loading its data also requires
OPENAI_API_ADMIN.
Select Export to open a preview, then download the metrics-history CSV. Available history intervals and the metrics stored in history come from the server's current metrics configuration.
Drag or swipe the chart to move through time, and use the mouse wheel or a pinch gesture to inspect a different span. Moving into older history loads stored samples until the oldest available reading. The selected time range follows the visible span, including while earlier samples load.
Logs
- Open Logs from the Settings button at the right of the header. If Logs has been added to the sidebar, that link opens the same page.
- Select Core or an available plugin source.
- Choose the number of visible entries, then use Increase text size or Decrease text size if needed.
The visible-line choices are 100, 250, 500, 1,000, 2,000, and 5,000. With no saved preference, the page defaults to 250 lines, and the browser remembers the selected source and line count. Clear empties the browser view but does not delete a log file, and new stream entries continue to arrive. The page follows incoming entries while you remain at the bottom of the view. If server logging is disabled, no log sources are available.
The main log directory and file name come from
OBSERVABILITY.LOGGING.LOGS_PATH and
OBSERVABILITY.LOGGING.MAIN_LOG.
By default, SoAI rotates the main log daily at local midnight, retains 5 rotated files, and leaves compression off. The
settings are
OBSERVABILITY.LOGGING.MAIN_LOG_BACKUP_COUNT
and
OBSERVABILITY.LOGGING.LOGGING_SYSTEM.MAIN_LOG_COMPRESS_LOGS.
Connection freshness and recovery
Live monitoring uses the authenticated WebSocket at /api/v1/system/ws, with no polling fallback. During a
disconnect or recovery, the WebUI can retain the last valid snapshot while its connection state changes and it requests
fresh data. Treat retained values as last-known state, not current state, until an update arrives. Logs shows
Reconnecting to log stream... while its stream reconnects.
If live data does not recover, check the browser's WebSocket connection and any proxy or firewall that handles the WebUI connection. Use Troubleshooting for the WebUI and real-time diagnostic checks.
Sampling, history, and retention
To change these settings, an Administrator with
CONFIG_PATCH selects the Settings button
at the right of the header, selects Settings, then Advanced. Metrics and logging settings are
under Observability, while hardware collection is under System and
Hardware. Select Save after an edit, then select Restart SoAI when the WebUI
reports that the change requires a restart.
| Collection | Factory default | Configuration |
|---|---|---|
| Hardware collection and history | Sampled every 3 seconds, history enabled, retained for 168 hours |
SYSTEM.HARDWARE.MONITORING_INTERVAL_MS,
SYSTEM.HARDWARE.HARDWARE_HISTORY_ENABLED, and
SYSTEM.HARDWARE.DB_RETENTION_HOURS
|
| Metrics broadcasts to the WebUI | Every 1 second |
OBSERVABILITY.METRICS.BROADCAST_INTERVAL_MS
|
| Metrics history |
Enabled, sampled every 3 seconds, retained for 168 hours. The configured result limit is 50,000 points. The
WebUI uses WebSocket snapshots and respects that configured limit, while the REST history endpoint accepts a
points parameter of at most 25,000.
|
OBSERVABILITY.METRICS.METRICS_HISTORY.ENABLED,
OBSERVABILITY.METRICS.METRICS_HISTORY.LOGGING_INTERVAL_MS,
OBSERVABILITY.METRICS.METRICS_HISTORY.DB_RETENTION_HOURS,
OBSERVABILITY.METRICS.METRICS_HISTORY.MAX_POINTS,
OBSERVABILITY.METRICS.METRICS_HISTORY.SUPPORTED_INTERVALS_MS, and
OBSERVABILITY.METRICS.METRICS_HISTORY.TRACKED_METRICS
|
Live broadcasts and stored history are independent, so disabling metrics history does not stop current Metrics updates.
An empty OBSERVABILITY.METRICS.METRICS_HISTORY.TRACKED_METRICS
list uses SoAI's built-in history set for total, completed, and failed requests, generated tokens, request latency,
queue size, and effective token throughput.