Logs
Browse structured server text logs, live thread stack traces, and historical crash reports without SSH access.
Read server-level diagnostics — structured text logs, live thread stack traces, and historical crash reports — straight from the dashboard, with no SSH access or log-file parsing.
Prop
Type
What it does
The Logs section surfaces server-level diagnostic information that would otherwise require SSH access or log file parsing.
- Text Log queries
system.text_logto show structured server log entries with level, logger name, query context, and message. Filter by log level or message text to narrow down issues. - Stack Traces queries
system.stack_tracefor live stack traces of all running threads. Useful for diagnosing a hung or slow server without restarting it. - Crashes queries
system.crash_logto show historical crash reports with diagnostics. The table is small — it only grows when the server crashes.
Pages
| Page | Route | What it shows | System tables |
|---|---|---|---|
| Text Log | /logs/text-log | Server log entries with level, context, message | system.text_log |
| Stack Traces | /logs/stack-traces | Live thread stack traces | system.stack_trace |
| Crashes | /logs/crashes | Historical crash reports with diagnostics | system.crash_log |
Using it
- Open
/logs/text-logto read structured server log entries; filter by log level or message text to narrow down issues. On busy servers, apply a log-level or time filter to reduce scan size. - Open
/logs/stack-tracesto capture live stack traces of all running threads — a way to diagnose a hung or slow server without restarting it. - Open
/logs/crashesfor historical crash reports. An empty table is the normal state for a healthy server.
Permissions & access
All three Logs pages share the logs feature id.
Exposes server internals
This section exposes detailed server internals. Consider gating it in production.
CHM_FEATURE_LOGS_ACCESS=authenticatedCHM_FEATURE_LOGS_ENABLED=false[features.logs]
enabled = true
access = "authenticated"Configuration
No feature-specific configuration. All three tables must be enabled in the ClickHouse server config to produce data.
Notes & limitations
Some tables are optional or empty by design
system.text_log and system.crash_log may be empty depending on server config and crash history — an empty state here is often normal.
system.text_logis optional. It requires<text_log>to be configured in the ClickHouse server config. Without it the Text Log page shows no rows. The table's retention TTL is also server-configured (default 30 days).system.crash_logis optional. It exists on all ClickHouse servers but only contains rows after an actual crash. An empty table is the normal state for a healthy server.system.stack_traceis always available on a running ClickHouse server (it is a live in-memory table). It shows the current state of all threads at the moment of the query; results are not historical.system.error_log(historical error event log, distinct fromsystem.errorsin-memory counts) is surfaced under the Operations > Errors page rather than here. It also requires explicit server-side enablement.- Text log queries on busy servers can be slow if
system.text_logis large. Apply log-level or time filters to reduce scan size.