Приведу пример простого скрипта для перезапуска сервисов если они не запущены и отправки уведомления на email:
Читать далее «Простой скрипт Watchdog»Архивы меток:watchdog
Настройка WatchDog от ABillS
В биллинговой системе ABillS можно настроить проверку состояния любых запущенных программ, и настроить автоматический запуск если какая либо из них не запущена.
Например для слежением за FreeRadius необходимо выполнять команду:
/usr/abills/libexec/billd check_programs PROGRAMS="radiusd:/etc/init.d/radiusd start"
Где «radiusd» — имя программы в процессах, а «/etc/init.d/radiusd start» команды для ее запуска.
Безопасная удаленная работа с 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
Установка и настройка Monit в Linux
Monit — средство мониторинга и перезапуска каких либо сервисов.
Читать далее «Установка и настройка Monit в Linux»Настройка 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 =
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