ntk148v/clicklens

ClickLens provides a comprehensive suite of tools for developers, analysts, and administrators to interact with their ClickHouse clusters efficiently.

46

stars

527

commits

TypeScript

primary language

Jul 26, 2026

updated

ntk148v.github.io/clicklens
bun
clickhouse
clickhouse-ui
database
database-management
database-ui
nextjs
tailwind

README

ClickLens

A modern, powerful web interface for managing and monitoring ClickHouse databases.

License GitHub stars

1. Introduction

ClickLens provides a comprehensive suite of tools for developers, analysts, and administrators to interact with their ClickHouse clusters efficiently.

1.1. Why ClickLens?

ClickHouse is an incredible analytical database, but managing it via CLI or basic tools can be challenging. ClickLens bridges the gap by offering:

  • Discover - Flexible, Kibana-like data exploration for any table
  • SQL Console - Write, execute, and analyze queries with syntax highlighting and streaming results
  • Real-time Monitoring - Keep an eye on your cluster's health, query performance, and resource usage
  • Schema Explorer - Navigate databases, tables, columns, parts, and more
  • Access Control - Manage users and roles directly from the UI
  • Native RBAC - Your UI permissions are derived directly from your ClickHouse grants
  • Multi-Cluster - Manage multiple ClickHouse clusters from a single UI

2. Features

FeatureDescription
DiscoverKibana-style exploration with time filtering, field selection, and histograms
SQL ConsoleMulti-tab editor with autocomplete, EXPLAIN, saved queries, and streaming
Table ExplorerBrowse schemas with parts, merges, mutations, and DDL views
Monitoring8 dashboards for metrics, cluster, disks, Keeper, and replication
Query AnalyticsRunning queries, history, performance analysis, and cache stats
LoggingServer logs, session logs, and crash logs
Access ControlUser and role management with feature roles
SettingsView server and session settings
Multi-ClusterManage multiple ClickHouse clusters from a single login screen

3. Multi-Cluster Support

ClickLens supports connecting to multiple independent ClickHouse clusters from a single instance. Each cluster is registered in the CLICKHOUSE_CLUSTERS environment variable, and users select which cluster to log into from the login page.

Quick Start (Docker Compose)

cp env.sample .env.local
# Edit .env.local with your cluster definitions
docker compose -f docker-compose.multi-cluster.yml up --build -d

Each cluster entry in CLICKHOUSE_CLUSTERS requires:

FieldDescription
idUnique identifier for the cluster
labelDisplay name shown in the UI
hostClickHouse HTTP host
portHTTP port (default 8123)
lensUserService account for metadata ops
lensPasswordService account password

Once logged in, every authenticated request is pinned to the selected cluster — queries, monitoring, schema browsing, and access control all operate against that cluster.

4. Documentation

Full documentation is available at https://ntk148v.github.io/clicklens.

SectionDescription
Getting StartedInstallation and first login
FeaturesAll features with usage instructions
ArchitectureTech stack, data flow, internals
DeploymentConfiguration, Docker, RBAC setup
ContributingDevelopment setup, code guidelines

AI generated documentation:

4. Screenshots

Discovery

OverviewFilterExpandable Row
discovery-overviewdiscovery-filterdiscovery-expandable-row

SQL Console

OverviewRun QueryResults
sql-overviewsql-runsql-run-result
HistoryTime RangeTable Preview
sql-historysql-time-range-selectorsql-table-preview-data

Monitoring

OverviewMetricsAsync Metrics
monitoring-overviewmonitoring-metricsmonitoring-async-metrics
DisksZooKeeper
monitoring-diskmonitoring-zookeeper

Queries

HistoryHistory FilterRunningAnalytics
queries-historyqueries-history-filterqueries-runningqueries-analytics

Access Control

UsersCreate UserEdit User
access-user-overviewaccess-user-createaccess-user-edit
RolesCreate RoleFeature Role
access-role-overviewaccess-role-createaccess-role-feature-role

Settings

Server SettingsServer ExpandableSession SettingsSession Expandable
settings-serversettings-server-expandable-rowsettings-sessionsettings-session-expandable-row

Tables

ColumnsParts
tables-columnstables-parts

Logging

Server LogsCrash Logs
logging-serverlogging-crash

Profile

User Profile
profile

6. License

MIT

Contributors

ntk148v

525 commits

ntk148v/clicklens

ClickLens provides a comprehensive suite of tools for developers, analysts, and administrators to interact with their ClickHouse clusters efficiently.

46

stars

527

commits

TypeScript

primary language

Jul 26, 2026

updated

ntk148v.github.io/clicklens
bun
clickhouse
clickhouse-ui
database
database-management
database-ui
nextjs
tailwind

README

ClickLens

A modern, powerful web interface for managing and monitoring ClickHouse databases.

License GitHub stars

1. Introduction

ClickLens provides a comprehensive suite of tools for developers, analysts, and administrators to interact with their ClickHouse clusters efficiently.

1.1. Why ClickLens?

ClickHouse is an incredible analytical database, but managing it via CLI or basic tools can be challenging. ClickLens bridges the gap by offering:

  • Discover - Flexible, Kibana-like data exploration for any table
  • SQL Console - Write, execute, and analyze queries with syntax highlighting and streaming results
  • Real-time Monitoring - Keep an eye on your cluster's health, query performance, and resource usage
  • Schema Explorer - Navigate databases, tables, columns, parts, and more
  • Access Control - Manage users and roles directly from the UI
  • Native RBAC - Your UI permissions are derived directly from your ClickHouse grants
  • Multi-Cluster - Manage multiple ClickHouse clusters from a single UI

2. Features

FeatureDescription
DiscoverKibana-style exploration with time filtering, field selection, and histograms
SQL ConsoleMulti-tab editor with autocomplete, EXPLAIN, saved queries, and streaming
Table ExplorerBrowse schemas with parts, merges, mutations, and DDL views
Monitoring8 dashboards for metrics, cluster, disks, Keeper, and replication
Query AnalyticsRunning queries, history, performance analysis, and cache stats
LoggingServer logs, session logs, and crash logs
Access ControlUser and role management with feature roles
SettingsView server and session settings
Multi-ClusterManage multiple ClickHouse clusters from a single login screen

3. Multi-Cluster Support

ClickLens supports connecting to multiple independent ClickHouse clusters from a single instance. Each cluster is registered in the CLICKHOUSE_CLUSTERS environment variable, and users select which cluster to log into from the login page.

Quick Start (Docker Compose)

cp env.sample .env.local
# Edit .env.local with your cluster definitions
docker compose -f docker-compose.multi-cluster.yml up --build -d

Each cluster entry in CLICKHOUSE_CLUSTERS requires:

FieldDescription
idUnique identifier for the cluster
labelDisplay name shown in the UI
hostClickHouse HTTP host
portHTTP port (default 8123)
lensUserService account for metadata ops
lensPasswordService account password

Once logged in, every authenticated request is pinned to the selected cluster — queries, monitoring, schema browsing, and access control all operate against that cluster.

4. Documentation

Full documentation is available at https://ntk148v.github.io/clicklens.

SectionDescription
Getting StartedInstallation and first login
FeaturesAll features with usage instructions
ArchitectureTech stack, data flow, internals
DeploymentConfiguration, Docker, RBAC setup
ContributingDevelopment setup, code guidelines

AI generated documentation:

4. Screenshots

Discovery

OverviewFilterExpandable Row
discovery-overviewdiscovery-filterdiscovery-expandable-row

SQL Console

OverviewRun QueryResults
sql-overviewsql-runsql-run-result
HistoryTime RangeTable Preview
sql-historysql-time-range-selectorsql-table-preview-data

Monitoring

OverviewMetricsAsync Metrics
monitoring-overviewmonitoring-metricsmonitoring-async-metrics
DisksZooKeeper
monitoring-diskmonitoring-zookeeper

Queries

HistoryHistory FilterRunningAnalytics
queries-historyqueries-history-filterqueries-runningqueries-analytics

Access Control

UsersCreate UserEdit User
access-user-overviewaccess-user-createaccess-user-edit
RolesCreate RoleFeature Role
access-role-overviewaccess-role-createaccess-role-feature-role

Settings

Server SettingsServer ExpandableSession SettingsSession Expandable
settings-serversettings-server-expandable-rowsettings-sessionsettings-session-expandable-row

Tables

ColumnsParts
tables-columnstables-parts

Logging

Server LogsCrash Logs
logging-serverlogging-crash

Profile

User Profile
profile

6. License

MIT

Contributors

ntk148v

525 commits

Languages

TypeScript

99.5%