Написание скриптов для мониторинга соединения с провайдером

Тема в разделе "Скрипты", создана пользователем kleneva, 10 окт 2017.

  1. kleneva

    kleneva Новый участник

    Добрый день всем !

    Шеф поставил задачу...причем давно....и достает меня каждое утро...причем достает сильно...
    А суть задачи состоит в том чтобы у клиентов поставить программку или систему которая была бы необслуживаемой (или минимально обслуживаемой) которая позволяла бы проверить следующие параметры
    1. Есть ли интернет у клиента, если интернет пропал то сообщать ему по смс об этом. Причем интересует только его соединение с провайдером. Внутренняя его сеть мне не интересна....пусть этим занимаются у клиента люди которым он оплачивает работу техподдержки....
    2. Протрассировать соединение от клиента до меня и если трасса обрывается где-то до последнего хопа то сообщать об этом ему по смс...а если обрывается на последнем хопе то сообщать об это мне по смс..для чего это надо?....при трассировке проверяется еще и работа dns...
    3. Измерять скорость соединения клиента с его провайдером....и если она сильно упала то сообщать ему об этом по смс....для нормальной работы сервиса который я предоставляю нужно скорость не ниже определенной величины...иначе все начинает тормозить...
    4. Измерять загруженность его канала связи..только на внешнем интерфейсе которым он подключен к провайдеру...и если загруженность слишком велика больше определенной величины...то сообщать клиенту по смс об этом....чтобы мой сервис нормально работал......

    После долгих поисков такой программы и прочитав немало форумов...пришел к выводу что проще всего это дело реализовать написав скрипты, например для того же MikroTik, хотя я думаю что можно это сделать и для других маршрутизаторов, например того же Cisco.....

    Откликнулся Денис Друженков и указал на ссылки по документации при написании скриптов...за что ему очень большое спасибо...я эту документацию сейчас вкуриваю активно....многое конечно пока не понятно...поэтому любая помощь будет принята с благодарностью.....шеф даже говорит если не сможем сами...то если найдется человек который это сделает быстро то он готов заплатить....
     
  2. СМС кто у нас будет отправлять ? Внешний сервис какой-то ? Или 3G\4G модем у клиентов?
     
  3. kleneva

    kleneva Новый участник

    Денис привет еще раз !

    Да придется прикручивать внешний 3G/4G модем.....я думаю это не так просто будет сделать....хотя я вчера развернул эту RouterOS на виртуалке
    и когда ее устанавливал, то она предлагает выбрать пакеты для установкиююютак вот там был пакет GPS....может быть он как-то поможет в моем случае
    когда буду прикручивать внешний 3G/4G модем.....а сейчас я экспериментирую на реальной железке...интересная штука...но в ней такого пакета нет...
    Спасибо за ссылки...там действительно есть похожие примеры.....правда не совсем я понял как работает внутренний редактор у этой RouterOS....
    создаю скрипт. залаю имя его....система RouterOS ему присваивает номер...пытаюсь загрузить мной созданный скрипт в ее внутренний редактор...ругается
    пока не понял в чем дело.......приходится через winbox....править скрипт а потом его запускать с целью проверки........так неудобно.....
     
  4. Для 3G\4g доп. пакетов не нужно, просто подключаем к железке. Идем в tools в смс, там настраиваем отправку.
    Первую и вторую задачу я бы совместил. Нужен циклический скрипт опроса шлюзов по основному маршруту. К примеру пингуем ближайший шлюз от клиента, если down то отправить смс клиенту, далее идем на след. шлюз и так далее...
     
  5. Про третью и четвертую задачу. Может быть настроить приоритет тарафика для вашего сервиса ? У микротика есть поддержка очередей и HTB. Т.е гарантированно выделить определенную полосу под ваш сервис.
     
  6. kleneva

    kleneva Новый участник

    Денис, я вижу что в меню Mikrotik все что мне нужно есть.....я даже нащел по указанной Вами ссылке кусок скрипта который позволяет мне измерить bandwidth интерфейсов....
    сейчас вкуриваю как это адаптировать под мою задачу.....есть там и куски скриптов как измерить скорость инета....осталось найти хотя бы примерный скрипт как протрассировать...потоиму что он более важный нежеди просто пинг...в этом случае он мне сразу позволит одним махом убить двух зайцев....проверить есть ли инет соединение и проверить работает ли dns его провайдера...а заодно и dns моего провайдера.......что просто замечательно.....потому что простой ping мало что даст...ping например шлюза его провайдера может и проходить, но если завис у его провайдера dns то ничего работать не будет...поэтому лучше трассировать.....щас активно вкуриваю и пробую команды этого девайса....интересная штука
     
  7. kleneva

    kleneva Новый участник

    Не-не Денис это делать ни в коем случае не надо...по одной простой причине, что если что-то будет тупить у клиента то он будет доставать в первую очередь меня и может случиться так что все шишки будут сыпаться на меня не только от самих клиентов их админов но еще и от их руководства....поэтому эта идея разумная...но лучше пока ее не реализовывать....спасибо..да я знаю что сия железка может это делать...спасибо
     
  8. Для проверки DNS можно использовать команду :resolve. Если получиться работа с traceroute, опишите пожалуйста. Интересно )
     
  9. Ivan

    Ivan Участник

    Приветствую коллеги. Есть задача мониторинга соединения с провайдером 3g/lte сети с помощью lte модема (usb\ppp). К сожалению т.к оборудование находится на удаленной площадке, нет возможности посмотреть что именно является причиной пропадания соединения (отвал ppp , или физические проблемы модема), но мы точно знаем, что перезагрузка микротика попитанию (hap ac lite) помогает. Хотелось бы автоматизировать этот процесс. Сейчас использую такую конструкцию (спер где-то), однако она не работает и приходится просить людей на объекте перезагрузить устройство.


    {
    :if ([/ping 8.8.8.8 count=90] = 0) do={
    :log warning "4G DOWN";
    /system routerboard usb power-reset duration=15;
    } else={
    :log warning "4G UP";
    }
    }

    + в шедулере запуск раз в 10 мин. При этом счетчик шедулера увеличивается, а скрипта нет.
    Вопрос: где ошибка или может есть готовый простейший вариант мониторинга и перезапуска?


    Второй вопрос: как будет выглядеть такая конструкция , если мы хотим слать пинги с определенного интерфейса? (например если lte канал у нас резервный)
    Спасибо.
     
  10. Ivan

    Ivan Участник

    отбой, ошибка в имени скрипта, почему-то он не воспринимает ничего кроме scriptX