Установка и настройка Watchdog
Инструкция по установке и настройке программы для безопасности вашего сервера - Watchdog
Сторожевой таймер (Watchdog timer) — это аппаратно реализованная схема контроля над зависанием системы. Он используется для предотвращения длительных сбоев и зависаний на выделенных серверах и VPS. Watchdog представляет собой таймер, который периодически сбрасывается контролируемой системой. Если сброс не происходит в течение заданного интервала времени, таймер инициирует принудительную перезагрузку системы. В некоторых случаях это может быть «мягкая» перезагрузка через сигнал операционной системе, а в других случаях — аппаратная перезагрузка, например замыканием сигнального провода RST или аналогичного ему.
Установка в Linux Ubuntu/Debian:
sudo apt-get install watchdog
После установки в систему добавляются следующие файлы и директории:
- /etc/init.d/watchdog
- /etc/init.d/wd_keepalive
- /etc/watchdog.conf
- /etc/default/watchdog
- /dev/watchdog
- /usr/sbin/watchdog
- /usr/sbin/wd_identify
- /usr/sbin/wd_keepalive
- /usr/share/doc/watchdog/
- /usr/share/man/man5/watchdog.conf.5.gz
- /usr/share/man/man8/watchdog.8.gz
- /usr/share/man/man8/wd_identify.8.gz
- /usr/share/man/man8/wd_keepalive.8.gz
Основные параметры конфигурации /etc/watchdog.conf:
interval =
Интервал между двумя операциями записи в устройство watchdog. По умолчанию составляет 10 секунд. Интервалы более одной минуты можно использовать только с параметром -f
из командной строки.
logtick =
Если включена запись логов, этот параметр задаёт пропуск некоторых интервалов между записями. Например, при logtick = 60
и interval = 10
события будут записываться в лог не чаще одного раза в 10 минут.
max-load-1 =
max-load-5 =
max-load-15 =
Максимально допустимая нагрузка на систему за 1, 5 и 15 минут соответственно. При превышении этих значений система будет перезагружена. Значение 0
отключает проверку.
min-memory =
Минимальный объём свободной виртуальной памяти. Значение 0
отключает проверку.
max-temperature =
Максимально допустимая температура.
watchdog-device =
temperature-device =
Имя устройства watchdog и устройства для измерения температуры.
file =
change =
Файловый режим проверки. Параметр change
задаёт интервал проверки файлов.
pidfile =
Имя PID-файла процесса, который нужно контролировать. Например, pidfile = /var/run/apache2.pid
. Если процесс не запущен, watchdog будет инициировать перезагрузку системы.
ping =
interface =
Проверка сетевых соединений с помощью пинга. Параметр interface
указывает сетевой интерфейс для проверки.
test-binary =
test-timeout =
repair-binary =
Параметры для выполнения пользовательских тестов и программ ремонта. test-timeout
задаёт максимальное время выполнения теста в секундах (0 — без ограничений).
admin =
Email для уведомлений о событиях. Можно оставить пустым для отключения уведомлений.
realtime =
priority =
Параметры для режима реального времени. realtime = Yes
запрещает выгрузку модуля watchdog из памяти, priority
задаёт приоритет работы.
Пример настройки с Intel TCO Watchdog Timer:
Загрузка модуля:
sudo modprobe iTCO_wdt
В /etc/watchdog.conf следует раскомментировать или добавить строки:
watchdog-device = /dev/watchdog
interval = 10
В /etc/default/watchdog указать имя модуля:
watchdog_module="iTCO_wdt"
Для отладки можно включить запись детальной информации в syslog:
watchdog_options="-v"
Перезапуск службы watchdog:
sudo /etc/init.d/watchdog restart
Мониторинг записей в реальном времени:
tail -f /var/log/syslog