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

ClickLens provides a comprehensive suite of tools for developers, analysts, and administrators to interact with their ClickHouse clusters efficiently.
ClickHouse is an incredible analytical database, but managing it via CLI or basic tools can be challenging. ClickLens bridges the gap by offering:
| Feature | Description |
|---|---|
| Discover | Kibana-style exploration with time filtering, field selection, and histograms |
| SQL Console | Multi-tab editor with autocomplete, EXPLAIN, saved queries, and streaming |
| Table Explorer | Browse schemas with parts, merges, mutations, and DDL views |
| Monitoring | 8 dashboards for metrics, cluster, disks, Keeper, and replication |
| Query Analytics | Running queries, history, performance analysis, and cache stats |
| Logging | Server logs, session logs, and crash logs |
| Access Control | User and role management with feature roles |
| Settings | View server and session settings |
| Multi-Cluster | Manage multiple ClickHouse clusters from a single login screen |
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.
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:
| Field | Description |
|---|---|
id | Unique identifier for the cluster |
label | Display name shown in the UI |
host | ClickHouse HTTP host |
port | HTTP port (default 8123) |
lensUser | Service account for metadata ops |
lensPassword | Service 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.
Full documentation is available at https://ntk148v.github.io/clicklens.
| Section | Description |
|---|---|
| Getting Started | Installation and first login |
| Features | All features with usage instructions |
| Architecture | Tech stack, data flow, internals |
| Deployment | Configuration, Docker, RBAC setup |
| Contributing | Development setup, code guidelines |
AI generated documentation:
| Overview | Filter | Expandable Row |
|---|---|---|
![]() | ![]() | ![]() |
| Overview | Run Query | Results |
|---|---|---|
![]() | ![]() | ![]() |
| History | Time Range | Table Preview |
|---|---|---|
![]() | ![]() | ![]() |
| Overview | Metrics | Async Metrics |
|---|---|---|
![]() | ![]() | ![]() |
| Disks | ZooKeeper |
|---|---|
![]() | ![]() |
| History | History Filter | Running | Analytics |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
| Users | Create User | Edit User |
|---|---|---|
![]() | ![]() | ![]() |
| Roles | Create Role | Feature Role |
|---|---|---|
![]() | ![]() | ![]() |
| Server Settings | Server Expandable | Session Settings | Session Expandable |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
| Columns | Parts |
|---|---|
![]() | ![]() |
| Server Logs | Crash Logs |
|---|---|
![]() | ![]() |
| User Profile |
|---|
![]() |
525 commits
2 commits
TypeScript
99.5%
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

ClickLens provides a comprehensive suite of tools for developers, analysts, and administrators to interact with their ClickHouse clusters efficiently.
ClickHouse is an incredible analytical database, but managing it via CLI or basic tools can be challenging. ClickLens bridges the gap by offering:
| Feature | Description |
|---|---|
| Discover | Kibana-style exploration with time filtering, field selection, and histograms |
| SQL Console | Multi-tab editor with autocomplete, EXPLAIN, saved queries, and streaming |
| Table Explorer | Browse schemas with parts, merges, mutations, and DDL views |
| Monitoring | 8 dashboards for metrics, cluster, disks, Keeper, and replication |
| Query Analytics | Running queries, history, performance analysis, and cache stats |
| Logging | Server logs, session logs, and crash logs |
| Access Control | User and role management with feature roles |
| Settings | View server and session settings |
| Multi-Cluster | Manage multiple ClickHouse clusters from a single login screen |
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.
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:
| Field | Description |
|---|---|
id | Unique identifier for the cluster |
label | Display name shown in the UI |
host | ClickHouse HTTP host |
port | HTTP port (default 8123) |
lensUser | Service account for metadata ops |
lensPassword | Service 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.
Full documentation is available at https://ntk148v.github.io/clicklens.
| Section | Description |
|---|---|
| Getting Started | Installation and first login |
| Features | All features with usage instructions |
| Architecture | Tech stack, data flow, internals |
| Deployment | Configuration, Docker, RBAC setup |
| Contributing | Development setup, code guidelines |
AI generated documentation:
| Overview | Filter | Expandable Row |
|---|---|---|
![]() | ![]() | ![]() |
| Overview | Run Query | Results |
|---|---|---|
![]() | ![]() | ![]() |
| History | Time Range | Table Preview |
|---|---|---|
![]() | ![]() | ![]() |
| Overview | Metrics | Async Metrics |
|---|---|---|
![]() | ![]() | ![]() |
| Disks | ZooKeeper |
|---|---|
![]() | ![]() |
| History | History Filter | Running | Analytics |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
| Users | Create User | Edit User |
|---|---|---|
![]() | ![]() | ![]() |
| Roles | Create Role | Feature Role |
|---|---|---|
![]() | ![]() | ![]() |
| Server Settings | Server Expandable | Session Settings | Session Expandable |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
| Columns | Parts |
|---|---|
![]() | ![]() |
| Server Logs | Crash Logs |
|---|---|
![]() | ![]() |
| User Profile |
|---|
![]() |
525 commits
2 commits
TypeScript
99.5%