Мониторинг "живой" проверки PostgreSQL имеет тенденцию завершаться ошибкой во время запуска pg_dump, есть ли лучший способ?

Я использую pg_dump для своей основной резервной копии, каждые три часа. Я также использую Монит. Когда monit проверяет, активен ли PostgreSQL во время выполнения pg_dump, он иногда отключается и перезапускает postgres. Это приводит к сбою резервного копирования.

Что делать? Переместить в запись-впереди-журналы? Отключить мониторинг во время резервного копирования? База данных в настоящее время обслуживает активный веб-сайт.

Монит конфиг.:

check process postgres with pidfile /usr/local/pgsql/data/postmaster.pid
group database
start program = "/etc/init.d/postgresql start"
stop program = "/etc/init.d/postgresql stop"
if failed unixsocket /tmp/.s.PGSQL.5432 protocol pgsql then restart
if failed host 127.0.0.1 port 5432      protocol pgsql then restart
if 5 restarts within 5 cycles then timeout

1 ответ

Так как то так?

if failed unixsocket /tmp/.s.PGSQL.5432 protocol pgsql for 5 cycles then restart
if failed host 127.0.0.1 port 5432      protocol pgsql for 5 cycles then restart
if 5 restarts within 25 cycles then timeout

Таким образом, проверка будет недоступна в течение 15 минут до перезапуска. Предполагая интервал в 180 секунд. Очевидно, что вы можете приспособиться к своим вкусам, но сброс после однократной неудачной проверки может привести к ложным срабатываниям, если ваш сервер занят или иным образом занят.

Другие вопросы по тегам