Настройка WatchDog от ABillS

В биллинговой системе ABillS можно настроить проверку состояния любых запущенных программ, и настроить автоматический запуск если какая либо из них не запущена.

Например для слежением за FreeRadius необходимо выполнять команду:

/usr/abills/libexec/billd check_programs PROGRAMS="radiusd:/etc/init.d/radiusd start"

Где «radiusd» — имя программы в процессах, а «/etc/init.d/radiusd start» команды для ее запуска.

Читать далее «Настройка WatchDog от ABillS»

Безопасная удаленная работа с MikroTik. Как не потерять связь с устройством

Включение Safe Mode (Безопасного режим) в оборудовании MikroTik позволяет, в случае потери связи с устройством, отменить последние сделанные изменения.
В консоли Safe Mode включается комбинацией клавиш CTRL+X, в интерфейсе Winbox вверху есть кнопка «Safe Mode». Если из-за неправильной настройки связь с устройством оборвется, то максимум через 9 минут изменения будут отменены.

Отменять неправильно выполненную конфигурацию можно также через скрипт.
Для начала сохраним текущую рабочую конфигурацию:

system backup save name=backup.cfg

Создадим скрипт:

/system script add name=имя_скрипта policy=\
    ftp,reboot,read,write,policy,test,winbox,password,sniff,sensitive,api \
    source="delay 900 \
/n system backup load name=backup.cfg"

После создания его необходимо запустить командой:

system script run имя_скрипта

и через 900 секунд (это 15 минут) он восстановит настройки из сохраненного ранее файла настроек. Если выполняя настройки связь с устройством не прервалась до истечения 15 минут, скрипт можно остановить командой:

system script job remove имя_скрипта

Вновь сохранить конфигурацию, запустить скрипт и продолжить настройку устройства.
Однако если перезагрузить устройство скрипт не будет выполнен.

На случай зависания также можно настроить Watchdog, который будет пинговать какой нибудь хост или сайт, и если с ним пропадет связь, то будет выполнена перезагрузка устройства. Однако неправильные введенные вами настройки из-за которых возможно пропала связь, останутся как были и устройство будет постоянно перезагружаться через указанное количество времени.
Приведу пример команды для его настройки:

system watchdog set no-ping-delay 20m automatic-supout yes watch-address=8.8.8.8

Настройка 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