Description
Добрый день.
Предлагаю реализовать метрику, которая будет со стороны реплики отслеживать наличие подключения к мастеру. На реплике можно определять через pg_stat_wal_receiver когда подключение к мастеру есть или него нет:
select * from pg_stat_wal_receiver;
Если с мастером есть соединение то запрос вернет данные, если, например, погасить мастер то данных этот запрос уже не вернет.
Суть отслеживания со стороны реплик в том, чтобы алертить с реплики когда пропадает соединение с мастером. У нас была ситуация когда мастер и реплика находились в разных ЦОД-ах, на ЦОД мастера возникли проблемы и он стал недоступен, в нем же был Zabbix который собирал метрики с мастера. В итоге алертов об отсутствии коннекта с репликой мы не получали (алерт по неактивному репликационному слоту).
А если со стороны реплики тоже будет отслеживание наличия коннекта с мастером, то мы сможем в подобной ситуации получить алерт от самой реплики о том что соединение было и пропало (Zabbix который был в ЦОД-е с репликой работал).
Только предварительно требуется определять что это реплика и метрика должна удаляться если роль сервера изменится на мастера в случае переключения.