From 98ac25743bd502db2c9e6419518c3143bb584118 Mon Sep 17 00:00:00 2001 From: James Campbell Date: Sat, 19 Apr 2025 02:33:48 -0400 Subject: [PATCH] Add queries for replication slot monitoring --- sample-config/pgmon-metrics.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/sample-config/pgmon-metrics.yml b/sample-config/pgmon-metrics.yml index 3c38391..c72c786 100644 --- a/sample-config/pgmon-metrics.yml +++ b/sample-config/pgmon-metrics.yml @@ -8,6 +8,10 @@ metrics: type: set query: 0: SELECT client_addr || '_' || regexp_replace(application_name, '[ ,]', '_', 'g') AS repid, client_addr, state FROM pg_stat_replication + discover_slots: + type: set + query: + 0: SELECT slot_name, plugin, slot_type, database, temporary, active FROM pg_replication_slots # cluster-wide metrics version: @@ -43,3 +47,9 @@ metrics: type: value query: 0: SELECT now(), pg_sleep(5); + + # Per-slot metrics + slot_stats: + type: row + query: + 0: SELECT active_pid, xmin, pg_wal_lsn_diff(pg_current_wal_lsn(), restart_lsn) AS restart_bytes, pg_wal_lsn_diff(pg_current_wal_lsn(), confirmed_flush_lsn) AS confirmed_flush_bytes FROM pg_replication_slots WHERE slot_name = '{slot}'