chmonitor
Features

Tables

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

The Tables feature answers storage and replication questions across every database — sizes, parts, replica health, pending DDL, Kafka consumers, and dictionaries — without writing any SQL.

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.

Using it

Each question maps to a dedicated page.

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

OPTIMIZE TABLE privilege required

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.

Optional and environment-dependent tables

Several pages are only relevant in specific configurations and show an informational empty state when their backing table is absent.

PageCondition
Kafka ConsumersRequires at least one Kafka table engine to be configured
Replicated FetchesOnly present on servers running replicated tables
Dropped TablesRequires Atomic database engine (default since ClickHouse 20.6)
DDL QueueOnly meaningful on clusters using ON CLUSTER DDL
  • 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.

Permissions & access

All sub-routes share the tables feature id:

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"

The Data Explorer (/explorer) is also under the tables feature id, so gating tables also gates the explorer.

There is no feature-specific configuration. The global query timeout applies to all table queries:

CLICKHOUSE_MAX_EXECUTION_TIME=60

On this page