Skip to content
OpenSmartRoute
Skillv1.0.0

clickhouse-prod-checklist

Production readiness checklist for ClickHouse — server tuning, backup, monitoring, and deployment verification. Use when launching a ClickHouse deployment, doing a go-live review, or auditing producti

by jeremylongshore(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from jeremylongshore/tons-of-skills-marketplace (plugins/saas-packs/clickhouse-pack/skills/clickhouse-prod-checklist/SKILL.md). Install upstream with npx skills add jeremylongshore/tons-of-skills-marketplace --skill clickhouse-prod-checklist. Copyright stays with the author (MIT).

ClickHouse Production Checklist

Overview

Comprehensive go-live checklist for ClickHouse covering schema and engine design, server tuning, backup configuration, monitoring, security, application integration, and operational readiness. Walk the eight sections top to bottom; each is a gate that must be green before production traffic is allowed. Deep configuration — server XML, backup SQL, and verification queries — lives in references/ so this file stays a fast operational scan.

Prerequisites

Before starting the checklist, confirm the following are in place:

  • A ClickHouse instance is provisioned (ClickHouse Cloud or self-hosted) and reachable from the environment you will run traffic from.
  • Application integration code has been exercised end-to-end in a staging environment against a ClickHouse of the same major version.
  • You have admin credentials able to read system.* tables and, for self-hosted, edit config.xml / users.xml.

Instructions

Work each section in order. Every box must be checked (or explicitly waived with a reason) before go-live.

1. Schema & Engine Design

  • Tables use MergeTree family engines (not Memory, Log, or TinyLog)
  • ORDER BY columns match primary filter/group patterns
  • PARTITION BY is coarse (monthly or weekly, never by ID)
  • TTL configured for data retention policy
  • LowCardinality(String) used for low-cardinality columns
  • CODEC(ZSTD) applied to large String/JSON columns
  • ReplacingMergeTree used with FINAL or dedup logic if upserts needed

2. Server Configuration (Self-Hosted)

Set memory to ~80% of RAM, cap per-query memory and execution time, and size the merge pools to the core count. ClickHouse Cloud manages these for you.

<max_server_memory_usage_to_ram_ratio>0.8</max_server_memory_usage_to_ram_ratio>
<max_concurrent_queries>150</max_concurrent_queries>
<max_execution_time>300</max_execution_time>  <!-- 5 min: cap runaway scans -->

Full annotated config.xml / users.xml block and tuning rationale: server configuration reference.

3. Backup Configuration

  • Backup schedule configured (daily minimum)
  • Backup restore tested and documented
  • Point-in-time recovery possible (incremental backups)
  • Backup stored in different region/account from primary

Native BACKUP ... TO S3 syntax, incremental base+delta backups, and recovery drill guidance: backup & recovery reference.

4. Monitoring & Alerting

  • Prometheus endpoint configured (/metrics via Exporter or Cloud endpoint)
  • Grafana dashboard with key panels (QPS, latency, memory, parts, merges)
  • Alerts on: error rate > 5%, p95 latency > 5s, parts > 300, disk < 20%
  • Query log monitoring for slow/failed queries

Health-check queries and the full metrics list: monitoring & verification reference.

5. Security

  • Default user password changed or user disabled
  • Application user has minimal privileges (see clickhouse-security-basics)
  • TLS enabled (HTTPS on port 8443)
  • IP allowlist configured
  • Secrets in environment variables or secret manager (not code)

6. Application Integration

  • Connection pooling configured (max_open_connections)
  • Graceful shutdown calls client.close()
  • Insert batching in place (10K+ rows per INSERT)
  • Retry logic for transient errors (see clickhouse-rate-limits)
  • Health check endpoint includes ClickHouse ping (see reference for the TypeScript /health handler)

7. Operational Readiness

  • Incident runbook documented (see clickhouse-incident-runbook)
  • On-call escalation path defined
  • Key rotation procedure documented
  • Schema migration process in place (see clickhouse-migration-deep-dive)
  • Load testing completed at expected peak traffic

8. Verification Queries

Immediately before flipping traffic, run the three go-live verification queries (part health, pending mutations, replication lag) from the monitoring & verification reference under "Go-live verification queries". A clean launch returns zero rows from the mutations and replicas queries.

Output

Completing this checklist produces a go / no-go readiness decision:

  • Section-by-section status — each of the eight gates marked pass, or failed with the specific unchecked item.
  • Verification query results — part-health, mutation, and replication-lag output captured as launch evidence.
  • Go-live decision — GO only when all eight sections are green and the verification queries return the expected clean-launch results; otherwise a NO-GO with the blocking items listed.

Error Handling

Issue Detection Action
Parts > 300 Monitoring alert Review insert patterns, wait for merges
Disk > 80% Disk alert Add storage, drop old partitions
Query p95 > 5s Latency alert Check system.query_log for slow queries
Replication lag Replica check Investigate network, merge backlog

Examples

Minimal health probe (load-balancer readiness check):

SELECT 1;

Go-live part-health check (fails the launch if any table exceeds its active-parts threshold):

SELECT database, table, count() AS parts, sum(rows) AS rows,
       formatReadableSize(sum(bytes_on_disk)) AS size
FROM system.parts WHERE active
GROUP BY database, table ORDER BY sum(bytes_on_disk) DESC;

For the full thorough health-check query, the incremental S3 backup example, and the annotated server-config block, see the references/ files linked from each section above.

Resources

Next Steps

After a clean go-live, keep the deployment healthy: schedule a periodic backup restore drill, wire the monitoring alerts into your on-call rotation, and review clickhouse-incident-runbook for response procedures. For SDK version upgrades, see clickhouse-upgrade-migration.

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/jeremylongshore-tons-of-skills-marketplace-clickhouse-pr-20f363/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

jeremylongshore-tons-of-skills-marketplace-clickhouse-pr-20f363.ocm.jsonjson
{
  "ocm": "1",
  "id": "jeremylongshore-tons-of-skills-marketplace-clickhouse-pr-20f363",
  "kind": "skill",
  "name": "clickhouse-prod-checklist",
  "description": "Production readiness checklist for ClickHouse — server tuning, backup, monitoring, and deployment verification. Use when launching a ClickHouse deployment, doing a go-live review, or auditing production readiness before flipping traffic. Trigger with \"clickhouse production\", \"clickhouse go-live\", \"clickhouse launch checklist\", \"production clickhouse\", \"clickhouse prod ready\".",
  "publisher": "jeremylongshore",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "coding"
    ],
    "tags": [
      "skill-md",
      "saas",
      "database",
      "analytics",
      "clickhouse",
      "olap",
      "skills-sh"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "Production readiness checklist for ClickHouse — server tuning, backup, monitoring, and deployment verification. Use when launching a ClickHouse deployment, doing a go-live review, or auditing production readiness before flipping traffic. Trigger with \"clickhouse production\", \"clickhouse go-live\", \"clickhouse launch checklist\", \"production clickhouse\", \"clickhouse prod ready\"."
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "skills.sh",
      "repository": "https://github.com/jeremylongshore/tons-of-skills-marketplace",
      "path": "plugins/saas-packs/clickhouse-pack/skills/clickhouse-prod-checklist/SKILL.md",
      "ref": "HEAD",
      "url": "https://github.com/jeremylongshore/tons-of-skills-marketplace/blob/HEAD/plugins/saas-packs/clickhouse-pack/skills/clickhouse-prod-checklist/SKILL.md",
      "key": "jeremylongshore/tons-of-skills-marketplace/plugins/saas-packs/clickhouse-pack/skills/clickhouse-prod-checklist/SKILL.md"
    },
    "compatibility": "Designed for Claude Code",
    "allowed_tools": [
      "Read,",
      "Bash(clickhouse-client:*),",
      "Bash(curl:*)"
    ],
    "license": "MIT"
  },
  "instructions": "# ClickHouse Production Checklist\n\n## Overview\n\nComprehensive go-live checklist for ClickHouse covering schema and engine design,\nserver tuning, backup configuration, monitoring, security, application\nintegration, and operational readiness. Walk the eight sections top to bottom;\neach is a gate that must be green before production traffic is allowed. Deep\nconfiguration — server XML, backup SQL, and verification queries — lives in\n`references/` so this file stays a fast operational scan.\n\n## Prerequisites\n\nBefore starting the checklist, confirm the following are in place:\n\n- A ClickHouse instanc",
  "cost": {
    "context_tokens": 1634
  }
}

Fetch it by URL: GET /api/v1/registry/jeremylongshore-tons-of-skills-marketplace-clickhouse-pr-20f363/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.