Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Настройка
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Форум
    RouterOS
    Mikrotik тестирование пропускной способности скриптами

    Mikrotik тестирование пропускной способности скриптами

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Mikrotik тестирование пропускной способности скриптами, RouterOS
     
    cumhureren
    Guest
    #1
    0
    22.01.2020 11:37:00
    Привет всем! Я новый в скриптинге MikroTik и у меня есть проблема с этим скриптом. Код 1 работает хорошо, он отправляет мне сообщение в Telegram, но я пытаюсь переделать этот код так, чтобы если результат теста пропускной способности меньше 7, он отправлял сообщение, а если нет, то не отправлял. Я попробовал в Коде 2, но он не сработал. Есть идеи по этому поводу? Спасибо за вашу помощь.

    Код 1:
    ```plaintext
    :local rxta
    :local rxtaA
    :local rxtaB
    :local rxtaC
    /tool bandwidth-test 5.5.5.1 protocol=tcp direction=receive duration=10s user=cemil.bakir@mernet password=cemil.bakir do={
    :set rxtaA ($“rx-total-average” / 1000)
    :set rxtaB ($rxtaA / 1000 * 1000)
    :set rxtaC ($rxtaA - $rxtaB)
    :set rxtaB ($rxtaB / 1000)
    :set rxta “$rxtaB.$rxraC”
    /tool fetch keep-result=no url="https://api.telegram.org/xxxxxxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxx/sendMessage?chat_id=813083613&text=MERNET-TEPE-GURE-AP-MUSTERI-TEST $rxta Mbps"
    ```

    Код 2:
    ```plaintext
    :local rxta
    :local rxtaA
    :local rxtaB
    :local rxtaC
    /tool bandwidth-test 5.5.5.1 protocol=tcp direction=receive duration=10s user=cemil.bakir@mernet password=cemil.bakir do={
    :set rxtaA ($“rx-total-average” / 1000)
    :set rxtaB ($rxtaA / 1000 * 1000)
    :set rxtaC ($rxtaA - $rxtaB)
    :set rxtaB ($rxtaB / 1000)
    :set rxta “$rxtaB.$rxraC”
    :set hiz “8”
    :if ($rxta!<= ($hiz) do={
    /tool fetch keep-result=no url="https://api.telegram.org/xxxxxxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxx/sendMessage?chat_id=813083613&text=MERNET-TEPE-GURE-AP-MUSTERI-TEST $rxta Mbps"
    }
    ```
     
     
     
    cumhureren
    Guest
    #2
    0
    15.02.2020 09:14:00
    Нет, это не работает. У кого-то есть идеи?
     
     
     
    sopyan0807
    Guest
    #3
    0
    22.02.2020 13:43:00
    :local rxta  
    :local rxtaA  
    :local rxtaB  
    :local rxtaC  
    /tool bandwidth-test 192.168.5.1 protocol=udp direction=both duration=10s user=admin password=kuningan do={  
    :set rxtaA ($"rx-total-average" / 1000)  
    :set rxtaB ($rxtaA / 1000 * 1000)  
    :set rxtaC ($rxtaA - $rxtaB)  
    :set rxtaB ($rxtaB / 1000)  
    :set rxta "$rxtaB.$rxtaC"  
    }  

    :if ($rxta <= "7") do={  
    /tool fetch url="https://api.telegram.org/botXXXXXXXXXX/sendMessage?chat_id=XXXXXXXXXXX&text=$rxta Mbps" keep-result=no  
    } попробуй это, используя прием и отправку, но это не работает, а с использованием обоих работает. Я не понимаю, почему это не принимается и не отправляется, там ошибка в переменной, поэтому это не работает $ rxcaC должно быть $ rxtaC.
     
     
     
    SiB
    Guest
    #4
    0
    02.03.2020 02:21:00
    Я записываю результаты теста пропускной способности в логи, ваш скрипт был преобразован в функцию и теперь работает идеально. Планировщик выполняет "Тест пропускной способности" каждые x времени с длительностью 15 секунд и собирает данные о средних значениях rx/tx за 10 секунд, которые записываются в логи следующим образом: по скрипту: local speedtest [tool bandwidth-test [:resolve btserver.domain.tld] protocol=tcp user=btest password=******* direction=both duration=15s as-value];

    local MyFuncDataToMKbps do={ local DataOriginal $1 set DataOriginal ($DataOriginal / 1000) local Mbps ($DataOriginal / 1000 * 1000) local Kbps ($DataOriginal - $Mbps) set Mbps ($Mbps / 1000) return ($Mbps."M ".$Kbps."K - bps") }

    local Rx [$MyFuncDataToMKbps ($speedtest->"rx-10-second-average")] local Tx [$MyFuncDataToMKbps ($speedtest->"tx-10-second-average")] local Time ([/system clock get date]." ".[/system clock get time]) put "$Time | Rx: $Rx | Tx: $Tx" log warning "$Time | Rx: $Rx | Tx: $Tx" Я могу легко отображать отфильтрованные результаты в CLI / Terminal с помощью /log print где сообщение~" - bps "
     
     
     
    cumhureren
    Guest
    #5
    0
    12.05.2020 07:17:00
    Спасибо за сообщение, но мой первый код делает то же самое. Я хочу, чтобы если результат теста на пропускную способность ниже 7, он отправлял мне сообщение, а если нет — ничего не отправлял.
     
     
     
    SiB
    Guest
    #6
    0
    13.05.2020 22:35:00
    cumhureren Но это так просто, в конце моего скрипта я получаю в $Rx “18M 200K …”, затем я выбираю первые числа и сравниваю их, добавь это в конец моего скрипта: local DLMb [pick $Rx 0 [:find $Rx "M"]] если ($DLMb < 7) do={/tool fetch keep-result=no url="https://api.telegram.org/xxxxxxxxxxxxx: ... STERI-TEST $Rx "}
     
     
     
    cumhureren
    Guest
    #7
    0
    20.05.2020 09:56:00
    Спасибо, мой друг, это сработало.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры