Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • 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
    Мониторинг напряжения

    Мониторинг напряжения

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Мониторинг напряжения, RouterOS
     
    Trezona
    Guest
    #1
    0
    22.01.2016 07:20:00
    Привет! Уже какое-то время успешно запускаю скрипт для мониторинга напряжения. Сейчас пытаюсь запустить этот же скрипт на последней прошивке (6.33.5), но он совсем не работает. Вот мой скрипт:

    #set lowvoltalarm — желаемое тревожное напряжение в десятых долях вольта. 125 = 12,5В  
    :global lowvoltalarm 200  
    :global highvoltalarm 280  
    :global highvolt  
    :global lowvolt  
    :global starttime  
    :global hivolttime  
    :global lovolttime  
    :global vh  
    :local thisbox [/system identity get name]
    :global voltage [/system health get voltage]
    :local thistime [/system clock get time]
    :local thisdate [/system clock get date]
    :local thishour [:pick $thistime 0 2]
    :local emessage ($thisbox . " voltage is: " . [:pick $voltage 0 2] . "." . [:pick $voltage 2 3])
    :if ([:len $lowvolt] < 1) do={:set lowvolt 999; :set highvolt 0}
    #set ваш email в следующей строке  
    :if ($voltage <= $lowvoltalarm) do={/tool e-mail send to="test@test.com" subject="$thisbox Voltage Statistics" body=$emessage}  
    :if ($voltage >= $highvoltalarm) do={/tool e-mail send to="test@test.com" subject="$thisbox Voltage Statistics" body=$emessage}  
    :if ($voltage > $highvolt) do={:set highvolt $voltage; :set hivolttime ($thistime . " " . $thisdate)}  
    :if ($voltage < $lowvolt) do={:set lowvolt $voltage; :set lovolttime ($thistime . " " . $thisdate)}  
    :if ([:len $vh] > 0) do={:set vh ([:toarray $voltage] + $vh)} else={:set vh [:toarray $voltage]}
    :if ([:len $starttime] < 1) do={:set starttime ($thistime . " " . $thisdate)}
    :if ($thishour = "23") do={:execute voltreport}

    Запускаю его каждые 30 минут. Кто-нибудь может подсказать, почему он теперь не работает на версиях выше 6.30? Спасибо!
     
     
     
    BobcatGuy
    Guest
    #2
    0
    07.07.2016 06:55:00
    Если кто-то умеет писать скрипты и готов помочь другу... Мне нужно как-то отслеживать напряжение, чтобы получать уведомление, если пропадёт питание. По сути, идея та же, что в обычных скриптах, но с парой нюансов. Главная задача — мониторить вольты: когда есть сеть, блок питания даёт ровно 13,5 вольт, а если сеть пропадает — переключается на 12-вольтовый аккумулятор и выдаёт примерно 12,8 вольт. Вот это сделать — несложно. Я могу раздробить этот скрипт и заставить это работать, но тогда он будет присылать письмо каждый раз при запуске, а я могу поставить запускать его раз в 5 минут. А хотелось бы, чтобы письмо отправлялось лишь один раз, пока питание не восстановится, и как только напряжение снова поднимется — выслать новое письмо с сообщением, что питание вернулось. По сути, нужно сравнивать $lastvolts и $currentvolts: если текущие вольты ниже $alarmvolts, и при этом предыдущие тоже были ниже $alarmvolts — не отправлять письмо повторно. Вот в чём суть — если аккумулятор уже работает, чтобы не спамить письмами каждые 5 минут, это быстро надоедает. Было бы неплохо ещё задать порог «критически низкого» уровня, например 11,0 вольт, по достижении которого тоже отправлять письмо — чтобы знать, что батарея на грани и, возможно, дальше уведомления не присылать. Ещё нужна нотификация, когда напряжение вернулось до уровня зарядки — чтобы понять, что батарея заряжается и сеть снова подключена. Ещё, если у кого есть идеи поинтереснее — делитесь. Бюджетный UPS, можно сказать. Спасибо!
     
     
     
    n21roadie
    Guest
    #3
    0
    07.07.2016 22:06:00
    Поскольку вся наша сеть оснащена резервным питанием от батарей, мониторинг питания от AC с помощью routerboard не был лучшим решением. Однако мы нашли выход — простое GSM-устройство с тревожной сигнализацией и реле, которое выполняет две задачи: (1) автоматически отправляет SMS-сообщение при отключении и восстановлении питания AC, (2) встроенным реле можно отключать питание DC на зависших платах, чтобы они могли перезапуститься.
     
     
     
    BobcatGuy
    Guest
    #4
    0
    09.07.2016 07:43:00
    Хмм, нашёл простое решение. Добавил глобальную переменную :global lastvoltage и изменил две строки, как показано ниже:

    :if ($voltage <= $lowvoltalarm and $lastvoltage > $lowvoltalarm) do={/tool e-mail send to=“myemail@domain.com” subject=“$thisbox Voltage Statistics” body=$emessage}  
    :if ($voltage >= $lowvoltalarm and $lastvoltage < $lowvoltalarm) do={/tool e-mail send to=“myemail@domain.com” subject=“$thisbox Voltage Statistics” body=$emessage}

    Потом в конце добавил :set $lastvoltage $voltage, чтобы эти две строки сравнивали значения. По сути, если напряжение уже было низким в последний раз, когда скрипт запускался, письмо не отправится, потому что условие не выполнится.

    Я использую это на 12-вольтовой системе, поставил порог на 12,4 В. Когда питание от сети пропадает, переключается на батарею. Порог в 12,4 В выставлен, потому что на этом конкретном устройстве, где я тестировал, около 75 футов кабеля cat 5, и напряжение на плате MT было ниже. Настраивайте под своё нужное напряжение.

    Планирую немного доработать скрипт для своих задач и возможно выложу позже. Хочу сделать так, чтобы он ещё каждый час отправлял отчёт о напряжении при работе от батареи, чтобы следить за состоянием и знать, когда устройство выключится.

    #set lowvoltalarm на нужное напряжение тревоги в десятых долях вольта. 125 = 12,5 В  
    :global lowvoltalarm 124  
    :global highvoltalarm 280  
    :global highvolt  
    :global lowvolt  
    :global starttime  
    :global hivolttime  
    :global lovolttime  
    :global vh  
    :global lastvoltage  
    :local thisbox [/system identity get name]
    :global voltage [/system health get voltage]
    :local thistime [/system clock get time]
    :local thisdate [/system clock get date]
    :local thishour [:pick $thistime 0 2]
    :local emessage ($thisbox . " Voltage is: " . [:pick $voltage 0 2] . “.” . [:pick $voltage 2 3])
    :if ([:len $lowvolt] < 1) do={:set lowvolt 999; :set highvolt 0}

    Установите ваш email в следующей строке:

    :if ($voltage <= $lowvoltalarm and $lastvoltage > $lowvoltalarm) do={/tool e-mail send to=“myemail@domain.com” subject=“$thisbox Voltage Statistics” body=$emessage}  
    :if ($voltage >= $lowvoltalarm and $lastvoltage < $lowvoltalarm) do={/tool e-mail send to=“myemail@domain.com” subject=“$thisbox Voltage Statistics” body=$emessage}  
    :if ($voltage >= $highvoltalarm) do={/tool e-mail send to=“myemail@domain.com” subject=“$thisbox Voltage Statistics” body=$emessage}  
    :if ($voltage > $highvolt) do={:set highvolt $voltage; :set hivolttime ($thistime . " " . $thisdate)}  
    :if ($voltage < $lowvolt) do={:set lowvolt $voltage; :set lovolttime ($thistime . " " . $thisdate)}  
    :if ([:len $vh] > 0) do={:set vh ([:toarray $voltage] + $vh)} else={:set vh [:toarray $voltage]}
    :if ([:len $starttime] < 1) do={:set starttime ($thistime . " " . $thisdate)}
    :if ($thishour = “23”) do={:execute $voltreport}  
    :set $lastvoltage $voltage
     
     
     
    eliemacho
    Guest
    #5
    0
    11.05.2019 10:17:00
    @bobcatguy спасибо, чувак, всё отлично работает!
     
     
     
    plisken
    Guest
    #6
    0
    13.05.2019 13:35:00
    Спасибо, Bobcatguy, отличная работа, и я это ценю.
     
     
     
    vaio
    Guest
    #7
    0
    20.10.2019 06:39:00
    Всем привет… Хотел спросить, можно ли изменить скрипт вот так… Мне нужно отслеживать уровень напряжения и отправлять информацию в приложение Telegram… Конкретно: скрипт будет проверять напряжение XX_Volt. В случае отключения электроэнергии система работает от резервной батареи, и это определяется по падению напряжения до XX_Volt… Тогда нужно, чтобы мне приходило сообщение в Telegram (пример: «ВНИМАНИЕ — отключение питания, работает батарея»). Скрипт будет проверять напряжение каждую минуту и при падении на 0.5 Вольта будет отправлять сообщение с текущим значением напряжения. Когда питание восстановится и система зафиксирует напряжение XX_Volt, мне придёт сообщение (пример: «Питание восстановлено, текущее напряжение XX_Volt»), и дальше контроль напряжения продолжится, но новых сообщений уже не будет, кроме ситуации, когда напряжение снова упадёт до XX_Volt…
     
     
     
    flynno
    Guest
    #8
    0
    27.11.2019 11:30:00
    Отредактировал приведённый выше скрипт, чтобы добавить в Telegram команду #set lowvoltalarm для установки желаемого порога напряжения срабатывания в десятых долях вольта. 125 = 12,5 В.

    :global lowvoltalarm 233  
    :global highvoltalarm 280  
    :global highvolt  
    :global lowvolt  
    :global starttime  
    :global hivolttime  
    :global lovolttime  
    :global vh  
    :global lastvoltage  
    :global telegramBOT  
    :local thisbox [/system identity get name]
    :global voltage [/system health get voltage]
    :local thistime [/system clock get time]
    :local thisdate [/system clock get date]
    :local thishour [:pick $thistime 0 2]
    :local emessage ($thisbox . " Напряжение: " . [:pick $voltage 0 2] . "." . [:pick $voltage 2 3])

    :set telegramBOT [/tool fetch url=“https://api.telegram.org/bot&text=Time: $thistime Router: $thisbox Voltage: $voltage”]

    :if ([:len $lowvolt] < 1) do={:set lowvolt 999; :set highvolt 0}
    # В следующей строке укажите свой email  
    :if ($voltage <= $lowvoltalarm and $lastvoltage > $lowvoltalarm) do={/tool e-mail send to=“info@email.com” subject=“$thisbox Статистика напряжения” body=$emessage}  
    :if ($voltage >= $lowvoltalarm and $lastvoltage < $lowvoltalarm) do={/tool e-mail send to=“info@email.com” subject=“$thisbox Статистика напряжения” body=$emessage}

    # Отправка сообщения в Telegram  
    :if ($voltage >= $lowvoltalarm and $lastvoltage > $lowvoltalarm) do={:execute $telegramBOT}  
    :if ($voltage >= $highvoltalarm) do={/tool e-mail send to=“info@email.com” subject=“$thisbox Статистика напряжения” body=$emessage}  
    :if ($voltage > $highvolt) do={:set highvolt $voltage; :set hivolttime ($thistime . " " . $thisdate)}  
    :if ($voltage < $lowvolt) do={:set lowvolt $voltage; :set lovolttime ($thistime . " " . $thisdate)}  
    :if ([:len $vh] > 0) do={:set vh ([:toarray $voltage] + $vh)} else={:set vh [:toarray $voltage]}
    :if ([:len $starttime] < 1) do={:set starttime ($thistime . " " . $thisdate)}
    :if ($thishour = “23”) do={:execute $voltreport}  
    :set $lastvoltage $voltage
     
     
     
    Jotne
    Guest
    #9
    0
    28.11.2019 12:40:00
    Или используйте Splunk для Mikrotik, который я сделал здесь: http://forum.mikrotik.com/t/tool-using-splunk-to-analyse-mikrotik-logs-3-3-graphing-everything/121810/1. Получаются классные графики.
     
     
     
    plisken
    Guest
    #10
    0
    27.12.2019 12:31:00
    @Jotne, круто, но я ничего не понимаю в Splunk. У тебя есть какой-нибудь туториал по установке Splunk? Привет!
     
     
     
    eworm
    Guest
    #11
    0
    27.11.2019 15:58:00
    У меня есть решение, которое охватывает большинство запрашиваемого и даже больше. Чтобы его использовать, нужно установить и настроить базовые скрипты, см. RouterOS scripts. Затем установить check-health и добавить планировщик.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры