selfhost.directory

The index of self-hostable projects — ranked, categorized and served with live updates.
Own your data and stop giving it to big tech.

chmonitor logo

Self-host chmonitor

chm-v0.1.5

Operational advisor for ClickHouse with AI recommendations

BetaOpen SourceGPL-3.0
Updated10 hours ago
LanguageTypescript
Setup difficultyModerate
MobileResponsive
ThemeDark mode
Stars
305
Port
3000 (HTTP dashboard)
Requires
ClickHouse
Docker
ghcr.io/chmonitor/chmonitor
Install with Docker
Overview charts showing query count, duration, and data written over timeCluster topology map with nodes, shards, replicas, and Keeper quorumCluster insights with findings, record-breaking queries, and storage statsAI agent interface for asking about schema, storage, queries, and healthSQL console with read-only SQL, history, and EXPLAIN

What is chmonitor?

chmonitor is a purpose-built dashboard and advisor for ClickHouse clusters. It connects directly to ClickHouse system tables over HTTP — no exporters or agents required — and provides real-time views of queries, merges, replication, storage, and cluster health. An integrated AI agent (with MCP server at /api/mcp) offers read-only recommendations for skip indexes, projections, PREWHERE rewrites, and TTL tuning. The dashboard supports multiple ClickHouse hosts from a single instance, includes alerting with webhooks to Slack, Discord, PagerDuty, Opsgenie, Matrix, Telegram, and more, and can also monitor PeerDB replication and Postgres (beta). It runs as a single Docker container, on Kubernetes via Helm, on Cloudflare Workers, or as a standalone Node.js binary. Licensed GPL-3.0 with optional commercial licenses for invoicing and support; all features are free in the community build.

Should you self-host chmonitor?

chmonitor scores 53/100 on selfhost.directory (how scoring works) and ranks #32 of 40 in Database Management. It has 305 GitHub stars.

It shipped 5 stable releases in the past year. The latest, chm-v0.1.5, came out on 24 October 2026.

Setup is moderate: expect some configuration beyond a single command. An official Docker image is available. It is GPL-3.0-licensed and written mostly in Typescript.

Its closest alternative on selfhost.directory is netdata (87/100, 81 201 stars). It scores higher overall, so compare the two before you pick. See chmonitor vs netdata side by side.

Features

  • AI advisor with MCP server
  • Alerting with webhooks
  • CLI tool (chm)
  • Cluster insights and findings
  • Cluster topology visualization
  • Data Explorer with SQL console
  • MCP Server
  • PostgreSQL monitoring (beta)Beta feature, free on every plan while in beta
  • Query monitoring and analysis
  • Schema compare and settings diff
  • TTL and partition health
  • Workspace roles

chmonitor README

How to install chmonitor

Install chmonitor with Docker

Docker installed and running. A reachable ClickHouse endpoint with a monitoring user (SELECT on system.*).
Environment variables
CLICKHOUSE_HOST, CLICKHOUSE_USER, CLICKHOUSE_PASSWORD

docker run -d --name chmonitor -p 3000:3000
-e CLICKHOUSE_HOST='http://localhost:8123'
-e CLICKHOUSE_USER='monitoring'
-e CLICKHOUSE_PASSWORD='change-me'
ghcr.io/chmonitor/chmonitor:X.Y.Z

Pin a version tag in production; use :latest only for rolling tip

How to configure chmonitor

  • ANYROUTER_API_KEYAnyRouter API key

    AnyRouter API key

  • CHM_ALLOW_PRIVATE_HOSTSfalseAllow connections to private/loopback/link-local/Tailscale addresses

    Allow connections to private/loopback/link-local/Tailscale addresses

    values: true, false, cloud

  • CHM_API_KEY_SECRETSecret for signing API key tokens (chm_ prefix)

    Secret for signing API key tokens (chm_ prefix)

  • CHM_AUTH_PROVIDERnoneAuth provider: none, clerk, proxy, or trusted

    Auth provider: none, clerk, proxy, or trusted

    values: none, clerk, proxy, trusted

  • CHM_CLOUD_MODEfalseCloud mode flag (build-time)

    Cloud mode flag (build-time)

    values: true, false, cloud

  • CHM_EDITIONcommunityEdition: community or enterprise

    Edition: community or enterprise

    values: community, enterprise

  • CHM_FEATURE_CONVERSATION_DBEnable conversation database feature

    Enable conversation database feature

    values: true, false

  • CHM_FEATURE_PEERDB_ENABLEDEnable PeerDB monitoring

    Enable PeerDB monitoring

    values: true, false

  • CHM_FEATURE_POSTGRES_SOURCEEnable Postgres source (beta)

    Enable Postgres source (beta)

    values: true, false

  • CHM_FEATURE_USER_CONNECTIONS_DBEnable user connections database feature

    Enable user connections database feature

    values: true, false

  • CHM_TABLE_MAX_RESULT_ROWS10000Server-side row cap for table queries

    Server-side row cap for table queries

  • CLICKHOUSE_HOSThttp://localhost:8123Comma-separated ClickHouse host URLs

    Comma-separated ClickHouse host URLs

  • CLICKHOUSE_MAX_EXECUTION_TIME60Query timeout in seconds

    Query timeout in seconds

  • CLICKHOUSE_NAMEComma-separated display labels shown in the host selector

    Comma-separated display labels shown in the host selector

  • CLICKHOUSE_PASSWORDComma-separated passwords, one per host

    Comma-separated passwords, one per host

  • CLICKHOUSE_USERdefaultComma-separated usernames, one per host

    Comma-separated usernames, one per host

  • HEALTH_ALERT_HEALTHCHECKS_URLHealthchecks.io ping URL for alert sweeps

    Healthchecks.io ping URL for alert sweeps

  • HEALTH_ALERT_MATRIX_ENABLEDEnable Matrix alerts

    Enable Matrix alerts

    values: true, false

  • HEALTH_ALERT_NTFY_ENABLEDEnable ntfy alerts

    Enable ntfy alerts

    values: true, false

  • HEALTH_ALERT_OPSGENIE_ENABLEDEnable Opsgenie alerts

    Enable Opsgenie alerts

    values: true, false

  • HEALTH_ALERT_PAGERDUTY_ENABLEDEnable PagerDuty alerts

    Enable PagerDuty alerts

    values: true, false

  • HEALTH_ALERT_PUSHOVER_ENABLEDEnable Pushover alerts

    Enable Pushover alerts

    values: true, false

  • HEALTH_ALERT_TELEGRAM_ENABLEDEnable Telegram alerts

    Enable Telegram alerts

    values: true, false

  • HEALTH_ALERT_TWILIO_ACCOUNT_SIDTwilio account SID for SMS alerts

    Twilio account SID for SMS alerts

  • HEALTH_ALERT_WEBHOOK_URLWebhook URL for alert notifications

    Webhook URL for alert notifications

  • LLM_API_BASECustom LLM API base URL

    Custom LLM API base URL

  • LLM_API_KEYAPI key for LLM provider

    API key for LLM provider

  • LLM_MODELLLM model to use

    LLM model to use

  • NVIDIA_API_KEYNVIDIA API key

    NVIDIA API key

  • OPENROUTER_API_KEYOpenRouter API key

    OpenRouter API key

  • PEERDB_API_URLPeerDB API URL for replication monitoring

    PeerDB API URL for replication monitoring

  • POSTGRES_DATABASEPostgreSQL database

    PostgreSQL database

  • POSTGRES_HOSTPostgreSQL host for Postgres monitoring

    PostgreSQL host for Postgres monitoring

  • POSTGRES_PASSWORDPostgreSQL password

    PostgreSQL password

  • POSTGRES_USERPostgreSQL user

    PostgreSQL user

chmonitor releases & version history

More in Database Management

Rate this project

Click to rate — no account needed.

0 comments

Posting as guest
Loading comments…