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

Пройдите викторину

Для завершения урока необходимо пройти викторину