Настройка watchdog в Linux

Установка в 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, получится 600 секунд, то есть в логируемый файл будет добавляться запись не чаще одного раза в 10 минут.

max-load-1 =
Максимально разрешенное значение загрузки системы за 1 минуту при превышении которого система перезагрузится. 0 — отключает проверку.

max-load-5 =
Максимально разрешенное значение загрузки системы за 5 минуту при превышении которого система перезагрузится. 0 — отключает проверку.

max-load-15 =
Максимально разрешенное значение загрузки системы за 15 минуту при превышении которого система перезагрузится. 0 — отключает проверку.

min-memory =
Установка минимального количества виртуальной памяти которое должно быть свободно. 0 — проверка отключено.

max-temperature =
Установка максимально разрешенной температуры.

watchdog-device =
Установка имени устройства.

temperature-device =
Установка имени устройства температуры.

file =
Файловый режим, проверка файлов.

change =
Интервал времени для файлового режима.

pidfile = Имя pid файла. Можно добавить отслеживаемый процесс, например «pidfile = /var/run/apache2.pid». В случае невозможности запуска процесса watchdog будет постоянно перезагружать систему.

ping =
Режим пинга, для проверки сетевых соединений. Опция может быть использована более одного раза.

interface =
Установка имени сетевого интерфейса.

test-binary =
Выполнение пользовательского теста.

test-timeout =
Тест может выполняться указанное количество секунд. 0 — неограничено.

repair-binary =
Выполняется при невозможности перезагрузки системы.

admin =
Адрес email для уведомлений, можно оставить значение пустым для отключения.

realtime =
Yes для невозможности выгрузки watchdog из оперативной памяти.

priority =
Установка приоритета для режима realtime.

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

Мониторить в реальном времени записи syslog можно командой:

tail -f /var/log/syslog

Вливайтесь в общение

1 комментарий

Добавить комментарий

  1. Здравствуйте.
    Скажите пожалуйста, что лучше использовать iTCO_wdt или it87_wdt?
    Один другому работать мешает, т.е. пользоваться надо или-или.
    При загрузке модуля it87_wdt, в dmesg такое:
    it87_wdt: Chip IT8720 revision 8 initialized. timeout=60 sec (nowayout=0 testmode=0 exclusive=1 nogameport=0 nocir=0)
    Т.е. получается он настроен на таймаут 60 с. А что тогда выставлять в конфиге? Значение меньше чем 60? Просто я сужу по АВРовскому wdt, где надо его сбросить раньше интервала, чем он тикает.