All posts

chmonitor now monitors PeerDB

Snapshot progress, CDC batch history, fleet-wide lag triage, a logs feed, and replication slot health — read-only, in the same dashboard as your ClickHouse cluster.

If you move data from Postgres into ClickHouse, there’s a good chance PeerDB is doing the moving — it’s the CDC engine ClickHouse acquired in 2024 and the connector behind ClickPipes for Postgres.

chmonitor’s PeerDB section is now a real operating surface, not just a status list.

chmonitor PeerDB Mirrors: fleet status tiles (running, snapshotting, paused, failed), rows-synced trends per mirror, peer topology, pipeline phase and peer info
Snapshot progressPer-table initial-load progress — partitions completed, rows synced, average time per partition, and fetch/consolidate phase.
CDC batch historyRecent batches with id, LSN range, rows, and duration, plus a rows-per-batch chart.
Operation mixPer-table insert/update/delete split, so you can see what kind of writes actually flow through a mirror.
Fleet lag triageThe 5 mirrors furthest behind, deep-linked straight to their detail page.
Fleet logs feedLogs and alerts across every mirror, filterable by error / warn / info.
Slot healthReplication slots across all Postgres peers, classified ok / warn / critical, worst-first.
chmonitor PeerDB mirror detail: throughput, replication lag, cumulative rows synced, partition sync history chart and per-partition QRep progress

Slot health is the one to watch. A logical replication slot holds Postgres WAL until every subscriber has consumed it, so a paused or lagging mirror can grow WAL until it takes the source database down with it — an outage on the source, not just the pipeline.

Read-only by construction

chmonitor proxies a read-only allowlist of the PeerDB REST API. Mutating calls (create, drop, pause, maintenance) are rejected with 403 at the proxy layer, the credential stays server-side, and secret-shaped peer config is masked before it reaches the browser.

Connect it

Set PEERDB_API_URL (and PEERDB_PASSWORD if your API needs auth), or add a PeerDB monitoring link in the connection form’s Advanced section. Setup, caching, and troubleshooting are in the PeerDB monitoring docs.

It pairs with Postgres as a monitored source (beta) — the source database and the mirror moving its data, in one dashboard.

Try it on the live dashboard, or open an issue on GitHub.