Случается , по неизвестной причине порт на микротике сваливается из 1Gb в 100mbt. Или из 100mbt в 10mbt. При этом падает пропускная способность порта а сам девайс остается в сети. Пингуется ... А о неисправности узнаеш только по звонку пользователей....
В неосяжном интернете нашел скрипт проверки скорости интерфейса. Доработал его под свои нужды, сделал уведомление на телеграмм. В принципе все заработало...
Скрипт один в раз в пять минут запускается, создает локальную переменную скорости порта, если скорость не соответсвует номинальной, перезапускает порт. И отправляет на телеграмм уведомление о скорости порта после его перезапуска... Но уведомление приходит с тем старым аварийным, значением скорости. Который был до перезапуска.
Возможно , локальная переменная монитора не обновляется? Пробовал ставить после перезапуска delay 20... Все равно скорость порта приходит старая...
Код: Выделить всё
#Получаем информацию об интерфейсе eth1-Local
:local info [/interface ethernet monitor eth1-Local once as-value];
#Присваиваем переменной $rate значение поля rate из массива данных
:local rate ($info->"rate")
#Выводим в лог информацию о скорости порта
:log info "Скорость интерфейса eth1-Local - $rate";
#Проверяем значение. Если скорость порта меньше 100Mbps - перезапускаем порт.
:if ($rate != "100Mbps") do={
:log info ("Скорость интерфейса eth1-Local меньше 100Mbps. Перезапускаем порт...");
/interface disable eth1-Local
/ delay 2s
/interface enable eth1-Local
/ delay 10s
:tool fetch url="https://api.telegram.org/bot14************text=760S+Port4- $rate"
:log info "Скорость порта после перезапуска - $rate";
}
