PostgreSQL replication lag alert
Нужно ловить момент, когда реплика начала отставать от мастера больше чем на 10 секунд.
Рецепт
sql
-- На standby-реплике; экспонировать как HTTP endpoint и мониторить
SELECT
CASE WHEN pg_is_in_recovery()
AND EXTRACT(EPOCH FROM (now() - pg_last_xact_replay_timestamp())) > 10
THEN 'lag'
ELSE 'ok'
END AS status;
То же самое в Enterno.io
Оберните SQL в HTTP-эндпойнт (/replication-status → "ok"/"lag") и направьте HTTP-монитор Enterno на него — alert-правило "не 200 или тело ≠ ok".