Postgres and pipeline monitoring
Know when Postgres or a pipeline breaks, before your customers do.
Is every Postgres you run healthy right now? Control gives each database one status: serving, near limit, down or unreachable. You see the database that needs you, not a wall of charts.
A single view for the whole fleet.
Data, SRE and ops teams run one database per customer, region or service. Control lists every database in your fleet.
Check 1
Is it reachable?
dbhealth connects to your database every minute. Control shows the share of probes that answered, and marks each one that failed.

Check 2
Is it doing its work successfully?
Transactions per second, with rollbacks and deadlocks beside them. A database can answer a probe and still fail the work you give it.

Check 3
How long is the work taking?
The round trip of each probe, and the longest query running now.

Check 4
Does it have room to keep working?
Connections against the maximum, size on disk, replication lag and the oldest open transaction. The status turns near limit at 90% of max_connections.

Check 5
Are its tables current?
The newest row in each table you name, stalest first. Your cloud console shows CPU. It won't tell you orders stopped getting rows two hours ago. Data quality →

Easy to start.
Three steps, about two minutes.
Sign up for a free account.
Generate a key.
On your Keys page. Your browser makes it, and Control keeps only the public half.
Start dbhealth.
docker run -d \ -e DBHEALTH_DSN='postgres://dbhealth:…@pg:5432/billing' \ -e DBHEALTH_KEY="$DBHEALTH_KEY" \ turbolytics/dbhealth:latest run
Your database appears on its first report.
Statuses, not metrics. No dashboard to build.
Datadog and Grafana give you numbers, then you build the dashboard and choose every threshold. Control arrives knowing what near limit means, and gives each database a status: serving, near limit, down or unreachable. It notices silence too: a database is unreachable when its reports stop, rather than a flat line on a chart.
Built for the minute.
dbhealth sends one signed report a minute for each database, over outbound HTTPS. The report format, TurboStats, was built for devices on cellular links, where every byte costs. Small reports keep the cost of watching a fleet predictable: a database costs the same each month, however busy it is.
Read-only, outbound only, no rows.
Every minute, dbhealth runs one SELECT 1, six catalog reads, and one
max() per table you name. It sends counts, timings and table names. It never sends
rows, query text or your connection string. It is MIT licensed:
read the source.
Free for one cluster.
Free covers 1 cluster: 2 endpoints, 3 watched tables, 3 pipelines, 2 alerts and 7 days of history. Paid plans cover up to 50 clusters, with 31 days of history.
Running a larger fleet? Pick the plan that covers your clusters, or talk to us about fleet pricing. Pricing →
Running SQLFlow or Kafka Connect? Control watches pipelines and connector tasks too: a pipeline is up, idle, unknown, degraded, failed, unreachable or exited. SQLFlow →
Free covers 1 cluster: 2 endpoints, 3 watched tables, 3 pipelines, 2 alerts and 7 days of history. Sign up, create a key, and get a private dashboard for your own pipelines and databases.