chmonitor

Inspect table storage, replication health, schema details, dictionaries, and background data-movement operations across all databases.

Routes/tables, /tables-overview, /replicas, /replication-queue, /replicated-fetches, /readonly-tables, /dropped-tables, /dictionaries, /kafka-consumers, /distributed-ddl-queue
Feature idtables
Default accesspublic
Requires authNo (set CHM_FEATURE_TABLES_ACCESS=authenticated to gate)
System tablessystem.tables, system.parts, system.replicas, system.replication_queue, system.replicated_fetches, system.dropped_tables, system.dictionaries, system.kafka_consumers, system.distributed_ddl_queue
ClickHouse grantsSELECT on the system tables above; OPTIMIZE TABLE grant for the optimize action

What it does

The Tables feature answers storage and replication questions without writing any SQL:

  • How large is each table, and how many parts does it have?
  • Are any replicated tables lagging or in read-only mode?
  • What DDL operations are pending across the cluster?
  • Which Kafka consumers are behind or erroring?
  • What dictionaries are loaded and how much memory do they use?

All pages are read-only except for the OPTIMIZE TABLE action on the tables list, which requires an extra grant.

Pages

PageRouteWhat it showsSystem tables
Tables/tablesTable list with engine, row count, size; OPTIMIZE actionsystem.tables, system.parts
Tables Overview/tables-overviewStorage statistics per table: part counts, compressed/uncompressed sizessystem.parts
Table Replicas/replicasReplicated table health: is_leader, queue depth, absolute_delay, last fetchsystem.replicas
Replication Queue/replication-queuePending and in-progress replication tasks from Keeper/ZooKeepersystem.replication_queue
Replicated Fetches/replicated-fetchesCurrently executing background part downloads between replicassystem.replicated_fetches
Readonly Tables/readonly-tablesTables whose replica is in read-only mode; filtered view of replicassystem.replicas
Dropped Tables/dropped-tablesTables awaiting async drop (Atomic database engine)system.dropped_tables
Dictionaries/dictionariesExternal dictionary status, source type, memory usagesystem.dictionaries
Kafka Consumers/kafka-consumersKafka table engine consumer lag, poll/commit counts, ingestion errorssystem.kafka_consumers
DDL Queue/distributed-ddl-queueCluster-wide DDL task queue status and execution historysystem.distributed_ddl_queue

Permissions & access

All sub-routes share the tables feature id:

## Gate to authenticated users
CHM_FEATURE_TABLES_ACCESS=authenticated

## Disable entirely
CHM_FEATURE_TABLES_ENABLED=false
## or
CHM_DISABLED_FEATURES=tables
## CHM_CONFIG_FILE (TOML)
[features.tables]
access = "authenticated"

Note: the Data Explorer (/explorer) is also under the tables feature id. Gating tables also gates the explorer.

Configuration

No feature-specific configuration. The global query timeout applies to all table queries:

CLICKHOUSE_MAX_EXECUTION_TIME=60

Notes & limitations

  • system.kafka_consumers — only exists when Kafka table engine is in use. If no Kafka tables are configured, the page shows a table-not-found notice. This is expected.
  • system.replicated_fetches — only present on servers running replicated tables. Empty if no replication is active.
  • system.dropped_tables — only available with the Atomic database engine (default since ClickHouse 20.6). Empty on servers using the Ordinary engine.
  • system.distributed_ddl_queue — only relevant on clusters using ON CLUSTER DDL. Single-node servers will see an empty table.
  • OPTIMIZE action — the Tables page can issue OPTIMIZE TABLE. The ClickHouse user must have ALTER TABLE ... OPTIMIZE (or broader ALTER) privilege. Without it the action returns an error.
  • Readonly Tables — a replica enters read-only mode when it cannot reach Keeper/ZooKeeper. The /readonly-tables page is a filtered view of system.replicas; it shows a zero-row table when all replicas are healthy.