Установка и настройка 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 — приоритет работы в режиме реального времени.

Наши услуги и сервисы

ХостингРаботает на сверхбыстрых NVMe дисках. Подходит для сайтов любой сложности.
Заказать
VPSМожно динамически менять параметры и гибко настраивать ОС. Бесплатное администрирование включено.
Заказать
Выделенные серверыДоступны различные сборки на базе Supermicro с процессорами Intel и AMD на борту.
Заказать

Пример настройки с 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

Помощь

Если у вас возникли вопросы или требуется помощь, пожалуйста, свяжитесь с нами через систему тикетов — мы обязательно вам поможем!

Нужна помощь?Наши инженеры бесплатно помогут с любым вопросом за считанные минутыНаписать нам