Logs & Diagnostics
The logs
Logs in the header opens both, in two tabs: System and Executions.
| Log | Where | Contains | Permission |
|---|---|---|---|
| System logs | Logs → System | Service-level events, errors, startup | View system logs |
| Execution logs | Logs → Executions | Pipeline runs, per-execution outcome | View execution logs |
| Node executions | Logs → Executions, expanded | Per-node results within an execution | View execution logs |
| Startup detail | The startup screen | What happened during boot | shown automatically |
| Audit journal | Settings → Audit Log | Security-relevant actions | View the audit journal |
| Diagnostic reports | log/ in the data directory | Structured NDJSON | filesystem |
A module you do not own is absent, not stopped or failed, and nothing about it is written to the logs or counted as degraded health. If a capability is missing and the logs say nothing at all, check Licensing before treating it as a fault.
Logs can be cleared (needs Clear system logs or Clear execution logs). The audit journal cannot — that is the distinction between diagnostics and accountability.
A systematic approach
Work outward from the smallest scope that explains the symptom.
Common symptoms
A screen shows no data
- Is the tag good quality? Look at it in the namespace panel. Bad quality is a binding or connection problem, not a screen problem.
- Is the connection healthy? The Connections list, or the Status panel.
- Is the binding correct? Check the address; use Browse to confirm it exists.
- Is it a permission? "Works in the Designer, not in LiveView" is nearly always the project's access policy or the runtime role.
A pipeline is not running
- Is it started? Check the pipeline's state in the workspace.
- Is the project enabled? A disabled project stops its pipelines.
- Is the trigger firing? For Inject, check the schedule; for REST, check the route; for a tag subscription, check the tag is changing.
- Read the execution log and drill into the failing execution.
Values are stale
- Check quality. A stale-after setting turns silence into visible
Uncertain. - Check the connection. A down connection means bad quality on everything bound to it.
- Check the deadband. A large deadband makes a slow value look frozen.
- Check the sampling rate against the device's own scan time.
History has gaps
- Was the connection down? Compare the gap with connection history.
- Is the deadband too large? A stable value produces no points unless a store interval is set.
- Is the historian healthy? Look for schema-drift, suspension or ownership alarms.
- Did retention drop it? Compare the gap's age with the retention window.
- Is it an epoch boundary? A retired store's epoch may no longer be readable.
Writes are rejected
- Is the tag writable?
- Does the operator's level meet the tag's write level?
- Is the device accepting writes? Some registers and OPC-UA nodes are read-only on the device.
- Check the audit journal — the rejection is recorded with the reason.
Performance has degraded
- Host resources — the Status panel's system view.
- Store-and-forward buffers — a growing buffer means a slow or unreachable destination.
- Polling rates — the usual cause is everything polling at 100 ms.
- Alarm rate — an alarm flood loads the whole telemetry path.
- Screen complexity — many high-rate bindings on one view.
Store-and-forward diagnostics
The Status panel shows each connection's buffer depth and its quarantine, and is where you retry or drop quarantined items — reading needs View connections, acting needs Edit connections.
A buffer-pressure alarm means a destination has been unreachable long enough to matter. Quarantine means items failed permanently — investigate the cause (usually a schema mismatch, a constraint violation or a credential change) before retrying, or they will simply re-quarantine.
Protocol-specific diagnostics
| Protocol | Tool |
|---|---|
| OPC-UA | Endpoint discovery, address-space browse, node quarantine |
| MQTT / Sparkplug | Sparkplug discovery, broker connection state |
| Modbus | One-shot register read from the connection's editor |
| SNMP | Agent walk from the connection's editor, and the trap feed |
| SQL / Mongo / QuestDB | Schema, table and collection browse from the connection's editor |
Each of these answers "is it the device or is it QUBIQ?" faster than reading logs.
Log levels and retention
Every system-log row carries a level, and the toolbar filters on it.
| Level | Means | Look here when |
|---|---|---|
DEBUG | Detail for diagnosis | You turned verbosity up on purpose |
INFO | Routine progress | Reconstructing what happened, in order |
SUCCESS | Something completed | Confirming a run finished |
RETRYING | An attempt failed and another one is coming | Watching a flaky connection settle |
WARN 1.0.4 | Something went wrong and was handled. Nothing further will happen | Looking for problems without wading through INFO or hiding among ERROR |
ERROR | A failure nothing handled | Triage |
WARN is what a pipeline node routing its failure out of an error
socket writes, along with the report scheduler, the
batch-drop summary and a console password reset. Earlier builds showed
those rows as RETRYING, which told a reader to expect an attempt that was never coming.
Log retention lives in Settings → System Health (needs Configure system logging).
- Raise verbosity while diagnosing, and lower it again. Debug logging on a busy gateway generates volume that itself becomes a problem.
- Diagnostic reports under
log/are rotated NDJSON. - The system log is pruned to a ceiling, so it is diagnostics rather than evidence. Anything that must survive a busy day belongs in the audit journal.
Escalating
When you need help, gather:
- What the startup screen reported, if the gateway did not come up cleanly
- System logs covering the incident window
- The failing execution with its node results, if a pipeline is involved
- Connection status for the affected connections
- The licence status from
/licensing— it is always in the support snapshot, and it settles "did they buy this?" before anyone spends an hour on "is it broken?" - Version and platform
- What changed recently — nearly every incident has a recent change behind it