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

    CCR Health Monitoring

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    CCR Health Monitoring, RouterOS
     
    stam
    Guest
    #1
    0
    22.01.2018 13:56:00
    Всем привет, я написал простой скрипт для мониторинга температуры CCR (я выбрал system<50°C и CPU<60°C) и состояния блока питания. Если что-то пойдет не так, роутер отправит предупреждающее письмо с дополнительной информацией об устройстве. Чтобы не засорять вашу почту, разрешено отправлять только одно письмо в день. Конечно, можно мониторить устройства с помощью Dude или SNMP, но мне больше нравится этот способ. Также не забудьте настроить параметры почтового клиента. [/tools email] Буду рад любым исправлениям, предложениям и улучшениям!

    Формат письма  
    Тема: Warning from CCR-name IP:X.X.X.X  
    Текст:  
    Warning Indicators Measurements  
    Sys.Temp: 31C  
    CPU Temp: 52C  
    PSU1 state: ok  
    PSU2 state: false  

    Device Details  
    Identity: CCR-name  
    Model: CCR1009-7G-1C-1S+  
    Serial Number: XXXXXXXXXXXXX  
    ROS Version: 6.37.1 (stable)  
    Firmware: 3.33  
    Free Memory: 1737MiB  
    System Uptime: 7w4d10:31:01

    # Скрипт мониторинга состояния роутера (только для CCR)  
    # Версия скрипта 1.0  
    # Адрес получателя предупреждающих писем  
    :local toEmail "RECIPIENT@ADDRESS.COM";

    # Целочисленное значение температуры  
    :local systemTemp [:tonum [/system health get temperature]];
    :local cpuTemp [:tonum [/system health get cpu-temperature]];

    # Состояние блоков питания (ok / false)  
    :local PSU1state [/system health get psu1-state];
    :local PSU2state [/system health get psu2-state];

    #DEBUG  
    #:set PSU2state "false";

    # ЗАДАЕМ МАКСИМАЛЬНЫЕ ЗНАЧЕНИЯ ТЕМПЕРАТУРЫ  
    if ($systemTemp>=50 || $cpuTemp>=60 || $PSU1state!="ok" || $PSU2state!="ok") do={

    # Получаем имя устройства, модель, серийник, версию ROS и прошивку  
    :local deviceName [/system identity get name];
    :local model [/system routerboard get model];
    :local serialNum [/system routerboard get serial-number];
    :local rosVersion [/system resource get version];
    :local deviceFirmware [/system routerboard get current-firmware];

    # Свободная ОЗУ (МБ)  
    :local freeRam (([:tonum [/system resource get free-memory]]/1024)/1024)

    # Время работы системы  
    :local sysUptime [/system resource get uptime];

    # Публичный IP-адрес  
    :local currentIP [:resolve myip.opendns.com server=208.67.222.222];

    #DEBUG  
    #:log info $systemTemp;  
    #:log info $cpuTemp;

    # Тема письма  
    :local mailSubject ("Warning from ".$deviceName." IP:".$currentIP);  
    # Текст письма  
    :local mailBody ("Warning Indicators Measurements  
    Sys.Temp: ".$systemTemp."C  
    CPU Temp: ".$cpuTemp."C  
    PSU1 state: ".$PSU1state."  
    PSU2 state:  ".$PSU2state."\n\n  
    Device Details  
    Identity: ".$deviceName."  
    Model: ".$model."  
    Serial Number: ".$serialNum."  
    ROS Version: ".$rosVersion."  
    Firmware: ".$deviceFirmware."  
    Free Memory: ".$freeRam."MiB  
    System Uptime: ".$sysUptime);

    #DEBUG  
    #:log info $mailSubject;  
    #:log info $mailBody;

    :global mailDate;  
    :local currentDate [/system clock get date;];

       if ($mailDate != $currentDate) do={  
        # Отправляем письмо с предупреждением  
       /tool e-mail send body=$mailBody start-tls=yes subject=$mailSubject to=$toEmail  
       :set mailDate $currentDate;  
       }  
    }

    Планировщик — каждый час, скрипт, настройка почтового клиента  
    # jan/22/2018 12:28:17 by RouterOS 6.33.3  
    # software id = XXXX-XXXX  

    /system scheduler  
    add interval=1h name=HealthMonitor on-event=CCR-HealthMonitor policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive start-time=startup  

    /system script  
    add name=CCR-HealthMonitor owner=admin policy=ftp,reboot,read,write,policy,test,password,sniff,sensitive source="# Router Health Monitor Script (for CCR ONLY)\r\n# Script V1.0\r\n# WARNING EMAIL RECIPIENT ADDRESS\r\n:local toEmail \"RECIPIENT@ADDRESS.com\";\r\n\r\n# integer temperature\r\n:local systemTemp [:tonum [/system health get temperature]];\r\n:local cpuTemp [:tonum [/system health get cpu-temperature]];\r\n\r\n# ok / false\r\n:local PSU1state [/system health get psu1-state];\r\n:local PSU2state [/system health get psu2-state];\r\n\r\n#DEBUG\r\n#:set PSU2state \"false\";\r\n\r\n# SET MAXIMUM TEMPERATURE VALUES\r\nif (\$systemTemp>=50 || \$cpuTemp>=60 || \$PSU1state!=\"ok\" || \$PSU2state!=\"ok\") do={\r\n\r\n# Get system name,model,serial,ros version,firmware\r\n:local deviceName [/system identity get name];\r\n:local model [/system routerboard get model];\r\n:local serialNum [/system routerboard get serial-number];\r\n:local rosVersion [/system resource get version];\r\n:local deviceFirmware [/system routerboard get current-firmware];\r\n\r\n# Free Ram (MB)\r\n:local freeRam (([:tonum [/system resource get free-memory]]/1024)/1024)\r\n\r\n# System Uptime \r\n:local sysUptime [/system resource get uptime];\r\n\r\n#Public IP address\r\n:local currentIP [:resolve myip.opendns.com server=208.67.222.222];\r\n\r\n#DEBUG\r\n#:log info \$systemTemp;\r\n#:log info \$cpuTemp;\r\n\r\n#Email Subject\r\n:local mailSubject (\"Warning from \".\$deviceName.\" IP:\".\$currentIP);\r\n#Email Body\r\n:local mailBody (\"Warning Indicators Measurements\r\nSys.Temp: \".\$systemTemp. \"C\r\nCPU Temp: \" . \$cpuTemp.\"C\r\nPSU1 state: \".\$PSU1state.\"\r\nPSU2 state: \".\$PSU2state.\"\\n\\n\r\nDevice Details\r\nIdentity: \".\$deviceName. \"\r\nModel: \".\$model. \"\r\nSerial Number: \".\$serialNum. \"\r\nROS Version: \".\$rosVersion.\"\r\nFirmware: \".\$deviceFirmware. \"\r\nFree Memory: \".\$freeRam. \"MiB\r\nSystem Uptime: \".\$sysUptime);\r\n\r\n#DEBUG\r\n#:log info \$mailSubject;\r\n#:log info \$mailBody;\r\n\r\n:global mailDate;\r\n:local currentDate [/system clock get date;];\r\n\r\n if (\$mailDate!=\$currentDate) do={\r\n #Send warning email\r\n /tool e-mail send body=\$mailBody start-tls=yes subject=\$mailSubject to=\$toEmail\r\n :set mailDate \$currentDate;\r\n }\r\n}\r\n"

    /tool e-mail  
    set address=smtp.office365.com from=your@email.com password="yourpassword" port=587 start-tls=yes user=yourUsername
     
     
     
    petertosh
    Guest
    #2
    0
    07.05.2018 19:00:00
    Большое спасибо!
     
     
     
    tomislav91
    Guest
    #3
    0
    05.09.2019 18:18:00
    Не могу получить состояние блока питания, поле пустое.
     
     
     
    eworm
    Guest
    #4
    0
    05.09.2019 20:39:00
    Извиняюсь за захват темы, но хочу предложить альтернативу. У меня были дополнительные требования: интеграция с моими скриптами RouterOS, чтобы переиспользовать базовый функционал, например, уведомления (включая Telegram); поддержка всех устройств RouterOS с датчиками здоровья; уведомления о резких перепадах напряжения (что может сигнализировать о неисправном блоке питания после подключения ИБП); отправка уведомлений при срабатывании тревоги и восстановлении (причем не только один раз в день после восстановления); настраиваемые пороги. Чтобы использовать это, необходимо установить и настроить базовые скрипты, см. RouterOS scripts. Затем установить check-health и добавить планировщик. Пороги настраиваются через глобальную конфигурацию. Если есть вопросы, отсутствуют датчики или есть пожелания — пишите без стеснения.
     
     
     
    vaio
    Guest
    #5
    0
    18.10.2019 15:37:00
    Мне нужен скрипт, который будет следить за напряжением на Mikrotik и отправлять данные в Telegram. У кого-нибудь есть такой?
     
     
     
    eworm
    Guest
    #6
    0
    19.10.2019 20:13:00
    Да, ты отправил свой вопрос в ответ на ответ. Смотри ссылки в моём сообщении выше…
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры