Databases & Storage

Dasha 1.10 adds Patroni auto-discovery, wait analysis, and replication slot forecasts for PostgreSQL

Key Takeaway

Dasha 1.10 introduces agentless Patroni cluster auto-discovery via etcd or Consul, live wait-event analysis, and predictive replication slot invalidation forecasting without requiring extensions on database hosts.

Summary

Dasha, an open source PostgreSQL fleet performance dashboard, has released version 1.10 with substantial operational tooling for database administrators running high-availability clusters. The release adds automatic discovery of Patroni-managed clusters by reading etcd v3 or Consul distributed configuration stores, with read-only access that never writes to the DCS. New visualization capabilities include live Activity & Waits charts sampling pg_stat_activity every 1-10 seconds, standby cluster link mapping on Summary and Replication pages, and replication slot invalidation forecasts that measure WAL rates to predict time-to-failure for each slot.

The release also expands Health Score compatibility to work with stock Prometheus exporters (postgres_exporter, node_exporter, pgbouncer_exporter) without custom instrumentation, adds COPY progress monitoring for PostgreSQL 14+, and introduces cold-table awareness so inactive tables no longer penalize health scores for vacuum-related metrics. A Maintenance page now filters tables by activity status, and a separate recommendation engine identifies tables needing VACUUM (FREEZE, ANALYZE).

What changes in Dasha 1.10

  • Patroni auto-discovery: Dasha reads Patroni's DCS keys from etcd v3 or Consul to automatically construct cluster topologies, mapping scopes to clusters and members to hosts with per-scope overrides for credentials, ports, database filters, and mutual-TLS client certificates; the DCS is read-only and never modified.
  • Activity & Waits visualization: A live chart classifies active sessions by CPU, wait event type (IO, Lock, LWLock), and idle-in-transaction state, sampled from pg_stat_activity at 1-10 second intervals; statements are grouped by query_id with drill-down to query reports and lock trees, with each Dasha instance throttled to at most one read per second per host regardless of viewer count.
  • Replication slot forecasting: WAL rate is measured over configurable windows (30 seconds to 5 minutes) using two LSN samples by server clock with no persistent connection; the dashboard displays retained WAL, remaining max_slot_wal_keep_size reserve, and projected time until slot invalidation for each slot.
  • Health Score from stock exporters: Time-series Health Score computation now operates with unmodified postgres_exporter, node_exporter, and pgbouncer_exporter against existing Prometheus or VictoriaMetrics deployments, with automatic metric mapping by Patroni scope and member name.
  • Cold table handling: Tables with no writes exceeding a configurable threshold (default 7 days) are excluded from dead-row and missing-vacuum health score penalties; a distinct recommendation flags tables needing one-time VACUUM (FREEZE, ANALYZE), and the Maintenance page supports filtering by all, active, or cold table status.

Why it matters

For PostgreSQL operators running Patroni-based high-availability clusters, Dasha 1.10 eliminates manual cluster configuration maintenance by consuming existing DCS state, reducing operational toil in dynamic environments where replicas are frequently added or removed. The agentless architecture preserves the security model of read-only external observation while the replication slot forecast and live wait analysis provide proactive capacity planning capabilities previously requiring custom scripting or expensive commercial tooling. The expanded exporter compatibility lowers the barrier to adoption for organizations already standardized on Prometheus ecosystems, making Dasha a viable drop-in enhancement rather than a parallel monitoring stack.

Original reference: www.postgresql.org →