Информация
Настройка
Новости
Контакты
Новинка
Распродажа
Оплата
Доставка
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • Changelogs
  • 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
    Disk Probe

    Disk Probe

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Disk Probe, RouterOS
     
    Maxoni
    Guest
    #1
    0
    19.02.2014 09:10:00
    Всем привет, я новичок на dude. Огромное спасибо за тему с пробами и всё такое, мне реально помогло. Пытаюсь сделать пробу для свободного места на диске, но столкнулся с небольшой проблемой. Вот моя проба:

    Function:  
    Name: hdd_gb  
    Code: (((((oid(“1.3.6.1.2.1.25.2.3.1.5.1”)-oid(“1.3.6.1.2.1.25.2.3.1.6.1”))*oid(“1.3.6.1.2.1.25.2.3.1.4.1”))/1024)/1024)/1024)

    Probe:  
    Nom: Free space left  
    Type: Function  
    Disponible: hdd_gb()<>“False”  
    Erreur: if(hdd_gb()<>“False”,if(hdd_gb() > 20, “”, concatenate(" Free space low C: =", hdd_gb(), “Gb Left”)), “Failed to read Drive”)

    Моя проблема в том, что результат приходит с числом типа 19.523645 Гб, когда свободного места меньше 20. А мне нужно, чтобы отображалось просто 19 Гб. Кто-нибудь может подсказать, как это сделать? Извиняюсь за мой английский.
     
     
     
    RichCowell
    Guest
    #2
    0
    17.03.2014 10:16:00
    Только что попытался добавить это, но постоянно выдает ошибку «Не удалось прочитать диск». Нужны ли какие-то дополнительные разрешения, чтобы так читать жесткие диски?
     
     
     
    lebowski
    Guest
    #3
    0
    17.03.2014 19:14:00
    Maxoni, функция, которую ты создал, не обрабатывает случай с «False». Это значит, что если функция не сработает, проба вернёт 0. Если добавить в твою функцию такой код: if(oid(x), return value, false), то можно определить, доступен ли oid, вернуть значение или false. Проверка на False в ошибке покажет, что устройство недоступно. А проверка на false в доступных значениях покажет, читается ли вообще oid. Оба варианта полезно обрабатывать в коде. Также результат, отличный от false, в доступных значениях — это то, как чувак определяет, ставить ли пробу, когда используешь автообнаружение для добавления проб.

    if(oid(“1.3.6.1.2.1.25.2.3.1.5.1”), round(((((oid(“1.3.6.1.2.1.25.2.3.1.5.1”)-oid(“1.3.6.1.2.1.25.2.3.1.6.1”))*oid(“1.3.6.1.2.1.25.2.3.1.4.1”))/1024)/1024)/1024), “False”)

    Rich, скорее всего, на компьютере, с которого хочешь получить данные, snmp не настроен.
     
     
     
    RichCowell
    Guest
    #4
    0
    18.03.2014 08:00:00
    Привет! Кажется, да — всё показывает: все сервера, находит все нужные сервисы (DNS, пинг, диск и так далее). Я создал сообщество специально для The Dude, и там всё работает именно так... Но я попробую тот код, который ты подправил.
     
     
     
    RichCowell
    Guest
    #5
    0
    19.03.2014 10:38:00
    Пробовал заменить функцию на ту, что ты прислал, но всё так же показывает одно и то же… В целом, это не такая уж большая проблема, потому что я изменил встроенную службу диска так, чтобы она показывала ошибку, если свободного места меньше 10 ГБ. Но было бы здорово иметь возможность сделать это и для дополнительных жёстких дисков, а не только для диска C…
     
     
     
    stmx38
    Guest
    #6
    0
    19.03.2014 13:26:00
    RichCowell На самом деле это не такая большая проблема, я изменил встроенный сервис диска так, чтобы он показывал статус "недоступен", если свободного места меньше 10 ГБ, но было бы здорово иметь возможность сделать это и для дополнительных жёстких дисков, а не только для диска C… В этом посте видно диски C и D. Всё зависит от используемого OID.
     
     
     
    Maxoni
    Guest
    #7
    0
    27.03.2014 07:42:00
    Привет, тебе просто нужно найти Oid диска, который хочешь мониторить (сделать snmpwalk устройства).
     
     
     
    lebowski
    Guest
    #8
    0
    07.04.2014 20:04:00
    Если в настройках dude стоит автообнаружение, и в строке AVAILABLE для false используется -1, то probe установится на любое устройство. AVAILABLE: if((oid(“1.3.6.1.2.1.25.2.3.1.6.1”)/oid(“1.3.6.1.2.1.25.2.3.1.5.1”))*100>0, 1, -1) Строка AVAILABLE предназначена для проверки, существует ли OID на конкретном устройстве, но -1 в AVAILABLE — это не false… Гораздо лучше создать функцию, которая возвращает значение или False, а потом вызывать эту функцию из probe.

    Функция disk03test  
    if(array_size(oid_column(“1.3.6.1.2.1.25.2.3.1.6”,10,5)), round((oid(“1.3.6.1.2.1.25.2.3.1.6.3”,10,5)/oid(“1.3.6.1.2.1.25.2.3.1.5.3”,10,5))*100), “False”)

    Другая функция берет имя диска, и если с ним проблема — в сообщении об ошибке возвращается буква диска или unix-имя.  
    Функция disk03name  
    oid(“1.3.6.1.2.1.25.2.3.1.3.3”,10,5)

    Теперь в probe строка AVAILABLE стала проще — проверяется на “False”. В строке ошибкок (Error) можно отследить, если probe не смог прочитать диск или диск заполнен...  
    Probe  
    AVAILABLE: disk03test() <> “False”  
    Error: if(disk03test()<>“False”, if(disk03test() < 90, “”, concatenate("Warning: ", disk03name(), " is ", disk03test(),“%”)), “Failed read 3rd disk”)  
    Value: disk03test()  
    unit: %

    Надеюсь, поможет, Lebowski
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2025 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры