6
Мониторинг
Встроенные представления, pg_stat_replication, алерты
30 минУрок 6 из 8
Прогресс0%
Теория
Мониторинг репликации критически важен для обеспечения отказоустойчивости.
Используйте pg_stat_replication для отслеживания состояния реплик.
Настройте алерты на задержку репликации (replication lag).
Регулярно проверяйте целостность данных на реплике.
Практика
1. Проверка состояния репликации
Получите детальную информацию о репликации:
Проверка состояния репликации
Команда
sudo -u postgres psql -c "SELECT application_name, state, sent_lsn, write_lsn, flush_lsn, replay_lsn FROM pg_stat_replication;"Вывод:
application_name | state | sent_lsn | write_lsn | flush_lsn | replay_lsn ------------------+-------+----------+-----------+-----------+------------ walreceiver | streaming | 0/1000000 | 0/1000000 | 0/1000000 | 0/1000000
2. Проверка задержки
Проверьте задержку репликации:
Проверка задержки
Команда
sudo -u postgres psql -c "SELECT CASE WHEN pg_last_wal_receive_lsn() = pg_last_wal_replay_lsn() THEN 0 ELSE EXTRACT(EPOCH FROM now() - pg_last_xact_replay_timestamp())::int END AS lag_seconds;"Вывод:
lag_seconds
-------------
0Проверка
Убедитесь, что задержка минимальна:
Проверка
Команда
sudo -u postgres psql -c "SELECT pg_last_wal_receive_lsn() = pg_last_wal_replay_lsn() AS is_synced;"Вывод:
is_synced ----------- t