chmonitor
Features

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_log to 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_trace for live stack traces of all running threads. Useful for diagnosing a hung or slow server without restarting it.
  • Crashes queries system.crash_log to show historical crash reports with diagnostics. The table is small — it only grows when the server crashes.

Pages

PageRouteWhat it showsSystem tables
Text Log/logs/text-logServer log entries with level, context, messagesystem.text_log
Stack Traces/logs/stack-tracesLive thread stack tracessystem.stack_trace
Crashes/logs/crashesHistorical crash reports with diagnosticssystem.crash_log

Using it

  • Open /logs/text-log to 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-traces to capture live stack traces of all running threads — a way to diagnose a hung or slow server without restarting it.
  • Open /logs/crashes for 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=authenticated
CHM_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_log is 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_log is 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_trace is 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 from system.errors in-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_log is large. Apply log-level or time filters to reduce scan size.

On this page