Установка и настройка Watchdog
Как защитить сервер от зависаний с помощью сторожевого таймера.
Watchdog (сторожевой таймер) — аппаратно-программный механизм защиты от зависаний системы. Он работает по простому принципу: контролируемая система периодически «сбрасывает» таймер, давая понять, что всё в порядке. Если сброс не происходит в течение заданного интервала — таймер инициирует перезагрузку. В зависимости от конфигурации это может быть программная перезагрузка через сигнал ОС или аппаратная — например, замыканием сигнального провода RST.
Watchdog полезен на выделенных серверах и VPS, где ручное вмешательство при зависании невозможно или нежелательно.
Установка на Ubuntu / Debian
sudo apt-get install watchdog
После установки в систему добавляются следующие файлы:
/etc/init.d/watchdog— скрипт управления службой/etc/watchdog.conf— основной файл конфигурации/etc/default/watchdog— параметры запуска/dev/watchdog— устройство watchdog/usr/sbin/watchdog— исполняемый файл
Основные параметры /etc/watchdog.conf
Интервалы и логирование:
interval— интервал между операциями записи в устройство watchdog. По умолчанию 10 секунд. Значения более 60 секунд требуют флага-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— путь к устройству watchdog (обычно/dev/watchdog).temperature-device— устройство для измерения температуры.
Мониторинг файлов и процессов:
fileиchange— мониторинг изменений файлов.changeзадаёт интервал проверки.pidfile— PID-файл процесса, который нужно контролировать. Например:pidfile = /var/run/apache2.pid. Если процесс не запущен — watchdog инициирует перезагрузку.
Сеть:
pingиinterface— проверка сетевой связности.interfaceуказывает сетевой интерфейс для мониторинга.
Пользовательские тесты:
test-binary— путь к скрипту или программе проверки.test-timeout— максимальное время выполнения теста в секундах (0— без ограничений).repair-binary— программа для автоматического устранения неполадок.
Уведомления и приоритеты:
admin— email для уведомлений о событиях. Оставьте пустым для отключения.realtime = Yes— запрещает выгрузку модуля из памяти.priority— приоритет работы в режиме реального времени.
Наши услуги и сервисы
Пример настройки с Intel TCO Watchdog
Загрузите модуль ядра:
sudo modprobe iTCO_wdt
В /etc/watchdog.conf раскомментируйте или добавьте:
watchdog-device = /dev/watchdog
interval = 10
В /etc/default/watchdog укажите имя модуля:
watchdog_module="iTCO_wdt"
Для отладки включите подробный вывод в syslog:
watchdog_options="-v"
Перезапустите службу:
sudo /etc/init.d/watchdog restart
Мониторинг событий в реальном времени:
tail -f /var/log/syslog
Помощь
Если у вас возникли вопросы или требуется помощь, пожалуйста, свяжитесь с нами через систему тикетов — мы обязательно вам поможем!