Инструменты пользователя

Инструменты сайта


mikrotik:rb951ui-2nd:routeros:tools:netwatch

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
mikrotik:rb951ui-2nd:routeros:tools:netwatch [2020/12/02 22:56]
Николай Солошин
mikrotik:rb951ui-2nd:routeros:tools:netwatch [2023/03/25 01:03] (текущий)
Николай Солошин
Строка 4: Строка 4:
 ====== Оповещение о восстановлении Интернет-соединения на MikroTik ====== ====== Оповещение о восстановлении Интернет-соединения на MikroTik ======
  
-Прошел тут у нас недавно [[goruimg>ледяной дождь во Владивостоке 2020|во Владивостоке ледяной дождь]]. Небывалых масштабов и разрушений! И, конечно же, пропал Интернет! Вовсе! Надолго!+Прошел тут у нас недавно во Владивостоке [[goruimg>ледяной дождь во Владивостоке 2020|ледяной дождь]]. Небывалых масштабов и разрушений! И, конечно же, пропал Интернет! Вовсе! Надолго!
  
 Первый день я иногда подключался к роутеру и смотрел, а не появился ли он, искомый. Во второй день уже что-то поднадоело! А на третий день появились эти скрипты. 8-) В итоге, через 5 дней мне на почту свалилось уведомление, что Интернет есть и можно расслабиться. Первый день я иногда подключался к роутеру и смотрел, а не появился ли он, искомый. Во второй день уже что-то поднадоело! А на третий день появились эти скрипты. 8-) В итоге, через 5 дней мне на почту свалилось уведомление, что Интернет есть и можно расслабиться.
  
-В отличии от [[mikrotik:rb3011uias:routeros:system:scripts:failover|полноценного фэйловера]], в данном случае я решил использовать утилиту ''Netwatch'' из пакета ''Advanced Tools'' -- во-первых, для разнообразия, а, во-вторых, чтобы не нагружать периодическим выполнением скриптов и так не очень мощный маршрутизатор ''hAP''.+В отличии от [[mikrotik:rb3011uias:routeros:system:scripts:failover|полноценного фэйловера]], в данном случае я решил использовать утилиту "Netwatchиз пакета "Advanced Tools-- во-первых, для разнообразия, а, во-вторых, чтобы не нагружать периодическим выполнением скриптов и так не очень мощный маршрутизатор "hAP". 
 + 
 +:!: //Другой вариант проверки доступности с использованием LibreNMS, [[raspberry_pi:pi_4_model_b:raspberry_pi_os:librenms:configuration:alerts:internet_ping_check|описан тут]].//
  
 ===== Логика работы ===== ===== Логика работы =====
  
-Утилита ''Netwatch'' периодически проверяет связь с указанным хостом и, если она пропадает, //один раз// выполняет инструкции из раздела ''Down'', а когда появляется -- //один раз// из раздела ''Up''.+Утилита "Netwatchпериодически проверяет связь с указанным хостом и, если она пропадает, //один раз// выполняет инструкции из раздела "Down", а когда появляется -- //один раз// из раздела "Up".
  
 Эти разделы ссылаются на соответствующие скрипты, которые: Эти разделы ссылаются на соответствующие скрипты, которые:
Строка 23: Строка 25:
 ==== Важное замечание ==== ==== Важное замечание ====
  
-В принципе, в разделах ''Up'' и ''Donw'' можно расположить сами скрипты, но! У ''Netwatch'' есть две проблемы((Подробнее в [[https://wiki.mikrotik.com/wiki/Manual:Tools/Netwatch|официальной wiki]] или на разных профильных форумах.)):+В принципе, в разделах "Upи "Donwможно расположить сами скрипты, но! У "Netwatchесть две проблемы((Подробнее в [[https://wiki.mikrotik.com/wiki/Manual:Tools/Netwatch|официальной wiki]] или на разных профильных форумах.)):
  
-  - Он не может нормально оперировать глобальными переменными, из-за чего приходится использовать файл для хранения значений. Для этого нужна политика ''ftp''+  - Он не может нормально оперировать глобальными переменными, из-за чего приходится использовать файл для хранения значений. Для этого нужна политика "ftp"
-  - Он строго ограничен четырьмя политиками -- ''read,write,test,reboot'', а нам нужна еще и ''ftp''!+  - Он строго ограничен четырьмя политиками -- "read,write,test,reboot", а нам нужна еще и "ftp"!
  
-Поэтому приходится размещать тексты скриптов отдельно и во всех обязательно включать ''Don't Require Permissions''!+Поэтому приходится размещать тексты скриптов отдельно и во всех обязательно включать "Don't Require Permissions"!
  
 ===== Комментарии к коду ===== ===== Комментарии к коду =====
  
-Вся эта затея сводится к настройке ''Netwatch'' и добавлению двух((Хотелось бы обойтись одним, но передача параметров, как, к примеру, [[mikrotik:rb3011uias:routeros:system:scripts:help|здесь]], тут, увы, невозможна!)) скриптов.+Вся эта затея сводится к настройке "Netwatchи добавлению двух((Хотелось бы обойтись одним, но передача параметров, как, к примеру, [[mikrotik:rb3011uias:routeros:system:scripts:help|здесь]], тут, увы, невозможна!)) скриптов.
  
 ==== netwatch ==== ==== netwatch ====
  
-Тут все просто -- что пингуем((Я предпочитаю Google DNS, но, вероятно, лучше было бы указать что-то поближе к вашему провайдеру.)), с какой периодичностью и название наших скриптов. Таймаут по умолчанию 1000 мс, но я поставил 300 и это нормально работает.+Тут все просто -- что пингуем((Я предпочитаю Google DNS, но, вероятно, лучше было бы указать что-то поближе к вашему провайдеру.)), с какой периодичностью и названия наших скриптов. Таймаут по умолчанию 1000 мс, но я поставил 300 и это нормально работает.
  
-<code>/tool netwatch +<code>host=8.8.8.8 
-add down-script=internet-down host=8.8.8.8 timeout=300ms up-script=internet-up interval=00:01:00</code>+interval=00:01:00 
 +timeout=300ms 
 +down-script=internet-down 
 +up-script=internet-up</code>
  
 ==== internet-down ==== ==== internet-down ====
Строка 98: Строка 103:
 :set timeToLog [/system clock get time];</code> :set timeToLog [/system clock get time];</code>
  
-Получаем в переменную ''internetStatus'' значение из файла, если его нет, создаем его и устанавливаем в значение ''none'', т.е. нет даты и времени предыдущего отключения Интернета -- это нужно, т.к. при запуске или перезагрузке устройства ''Netwatch'' сразу же проверяет соединение с хостом. По сути, это бонус, позволяющий отслеживать незапланированные перезагрузки роутера.+Получаем в переменную "internetStatusзначение из файла, если его нет, создаем его и устанавливаем в значение "none", т.е. нет даты и времени предыдущего отключения Интернета -- это нужно, т.к. при запуске или перезагрузке устройства "Netwatchсразу же проверяет соединение с хостом. По сути, это бонус, позволяющий отслеживать незапланированные перезагрузки роутера.
  
 <code>/file { <code>/file {
Последнее изменение: 2022/02/12 11:40 (внешнее изменение)