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

    Программы мониторинга

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    Программы мониторинга, RouterOS
     
    N2TheFire
    Guest
    #1
    0
    21.05.2010 16:58:00
    Я изменил заголовок этой темы из-за внесённых мной изменений... Пожалуйста, прочтите последние ответы и добавьте свои комментарии, если можете помочь. Спасибо!
     
     
     
    lebowski
    Guest
    #2
    0
    21.06.2010 19:38:00
    Все исполняемые файлы перечислены, если сделать snmpwalk по 1.3.6.1.2.1.25.4.2.1.2. Судя по всему, ты скопировал точно тот же OID, который использовал notepad в конкретный момент времени. Закрытие и повторное открытие notepad даст ему другой ID процесса и, соответственно, другой SNMP OID. Так что твоя проверка может свести тебя с ума.

    Строка available не обязательно должна быть условием if. К тому же, if с возвращаемым значением «-1» при ошибке работает некорректно... в случае ошибки условие if должно возвращать 0, а не -1. Например: if(x, "", 0).

    Строка available используется для определения, будет ли проверка автоматически установлена на устройстве (если это разрешено) с помощью автодетекта и также должна возвращать true, чтобы проверка считалась активной. Проблема в том, что многие делают ошибку в этой строке, и она никогда не становится false.

    Это работает на версии 4.1 beta (должно работать и на 3.6)... Я не смог заставить проверку подняться просто повторным запуском, но закрытие и открытие notepad вызывало постоянное поднятие и падение проверки.

    Вот хорошие строки для проверки без функции:  
    available: array_find(oid_column("1.3.6.1.2.1.25.4.2.1.2",10,29), "notepad.exe")  
    Error: if(array_find(oid_column("1.3.6.1.2.1.25.4.2.1.2",10,29), "notepad.exe")<>-1, "", "notepad не запущен")  

    Лучшие записи в available основаны на функциях. array_find — возвращает индекс в массиве элемента, который соответствует критериям, или -1, если не найден. (Первый параметр — массив, второй — искомый элемент). Так что, если notepad запущен, вы получите индекс массива, а не имя программы. Если не запущен — будет -1, поэтому просто проверяйте, что OID не равен -1.

    Я также написал функцию и проверку для этого, но работает примерно так же. Хотя считаю, что это лучший способ сделать то, что тебе нужно.

    Функция:  
    name: find_notepad  
    Description: Находит индекс массива для notepad или возвращает False  
    if(array_size(oid_column("1.3.6.1.2.1.25.4.2.1.2",10,29)), array_find(oid_column("1.3.6.1.2.1.25.4.2.1.2",10,29), "notepad.exe"), "False")

    Проверка:  
    Available: find_notepad()<>"False"  
    Error: if(find_notepad()<>"False", if(find_notepad()<>-1, "", "Внимание: notepad не запущен"), "Не удалось прочитать список запущенных программ")

    Что я заметил — список запущенных приложений обновляется очень медленно. Если проверка падает, а ты запускаешь notepad, пройдет пара минут, прежде чем она поднимется, как бы ты ни строил проверку, потому что in SNMP он некоторое время не отображается.

    Надеюсь, поможет, Lebowski.
     
     
     
    N2TheFire
    Guest
    #3
    0
    18.06.2010 20:15:00
    Хорошо, я включил SNMP и настроил профиль. Теперь нужна помощь… Кто-нибудь может пошагово объяснить, что мне нужно сделать, если я хочу мониторить «notepad.exe» на определённом компьютере, где запущен SNMP? Искал информацию, но ничего не нашёл. Буду признателен за вашу помощь!
     
     
     
    lebowski
    Guest
    #4
    0
    19.06.2010 01:19:00
    Я не совсем понял твой вопрос, потому что думал, что Windows отображает только сервисы в SNMP. Сейчас мне нужно проверить это на практике. Может быть, в понедельник найдется время, чтобы взглянуть. Кстати, поздравляю со SNMP. Если ты еще не видел, вот это — http://wiki.mikrotik.com/wiki/MikroTik_Dude
     
     
     
    N2TheFire
    Guest
    #5
    0
    21.06.2010 15:02:00
    Да, я прочитал это, в частности раздел про probes и функции. Всё равно довольно запутанно. Кто-то сделал probe, который может определить, работает ли (в его примере) «Outlook.exe» на машине (в потоке probe). Я пытался воссоздать его probe, но безуспешно. В своём примере я использую «notepad.exe» для теста. Я использовал snmp walk, чтобы найти правильный OID. Изменил его код, подставив нужный OID и имя процесса («notepad.exe»). Но у меня оно остаётся серым (статус неизвестен), и при наведении мыши показывает «notepad @ xxx.xxx.xxx.xxx (Running)», независимо от того, запущен процесс на целевой машине или нет. Вот точный код, который я использовал:

    Name: notepad  
    Type: Function  
    Agent: default

    Available: if(array_find(oid_column("1.3.6.1.2.1.25.4.2.1.2.2472"),"notepad.exe")>0, 1, -1)

    Error: if(array_find(oid_column("1.3.6.1.2.1.25.4.2.1.2.2472"),"notepad.exe")>0, "", "notepad.exe not running")

    Value: 1  
    Unit: Running  
    Rate: none

    Очень хотелось бы это заставить работать — было бы очень полезно иметь карту наших важных приложений, чтобы сразу видеть, когда что-то у нас закрылось.

    -EDIT-  
    Огромное спасибо за помощь!
     
     
     
    N2TheFire
    Guest
    #6
    0
    21.06.2010 21:05:00
    Lebowski, отличный пост, очень признателен. К сожалению, это у меня тоже не работает — ни создание функции «find_notepad», ни использование твоих хороших строк без функции. Я использую версию 3.6. Знаю, что SNMP настроен правильно, потому что могу сделать walk на обеих тестовых машинах и получить полный список. Если у тебя это работает, значит, где-то я ошибаюсь, так что вот краткий обзор того, что я сделал (исходя из твоего поста)…

    Я зашёл в раздел «Function» и добавил новую функцию:  
    Имя: find_notepad  
    Описание: найти индекс массива для notepad или вернуть false  
    Код: if(array_size(oid_column(“1.3.6.1.2.1.25.4.2.1.2”,10,29)), array_find(oid_column(“1.3.6.1.2.1.25.4.2.1.2”,10,29),“notepad.exe”),“False”)

    Дальше я создал пробу…  
    Имя: notepad  
    Тип: Function  
    Агент: default  
    Доступность: find_notepad()<>“False”  
    Ошибка: if(find_notepad()<>“False”,if(find_notepad()<>-1, “”, “Warning: notepad not running”), “Failed to read running programs”)  
    Значение: 1  
    Единица измерения: Running  
    Частота: none

    Это единственная проба, прикреплённая к этим устройствам. Я открывал notepad и оставлял всё как есть примерно на 15 минут — никаких изменений. Обрати внимание, что оба устройства всегда отображаются серыми (статус: неизвестен), а при наведении мыши всегда пишется, что notepad запущен (даже когда его на самом деле нет).

    Является ли ошибка в коде выше? Имеют ли вообще значение поля «Value», «Unit» и «Rate»?  
    Также видел, что в функции у тебя было «notepad++.exe» вместо «notepad.exe» — это потому что ты использовал другой блокнот или «++» имеет какое-то особое значение?  
    Ещё заметил, что после открытия notepad на целевой машине, snmp walk показывает «notepad» в списке только спустя несколько минут.
     
     
     
    lebowski
    Guest
    #7
    0
    21.06.2010 21:16:00
    О, ++ — это на самом деле notepad++, отличный редактор, я давно забросил обычный notepad, так что лучше просто убери эти ++. Тебе нужно точное имя исполняемого файла, который ты ищешь в функции. Обычно устройства, которые серые, имеют отключённый опрос. Похоже, что функция и настройка пробника у тебя сделаны правильно. Где именно ты видишь это сообщение о статусе? Значения в полях «Value», «Unit» и «Rate» вообще важны? Я никогда не трогаю «Rate». Сомневаюсь, что ты хочешь строить график с 0 или 1, поэтому оставил «Value» пустым, а «Unit» — это описание значения для графика, например %, общее количество или пользователи... Но пробник всё равно будет строить сплошные нули, если не отключить историю графика для сервиса на вкладке истории, сняв галочку с «graph poll times».
     
     
     
    lebowski
    Guest
    #8
    0
    21.06.2010 22:26:00
    Так ты смотришь статус на вкладке «general»? Просто поставь ping, чтобы функция заработала и статус изменился... Проверь вкладку polling, убедись, что включено (enabled). Наведи курсор на устройство и проверь, появляется ли дополнительная информация во всплывающем окне. Там должен быть uptime, а в описании — детали по ОС. Это доказывает, что SNMP тоже работает, я знаю, что у тебя оно включено, просто прогоняю шаги. Кликни правой кнопкой на устройстве, выбери appearance, нажми на стрелку выпадающего меню label (справа). Появится стандартная метка, вставь в неё функцию ниже: [find_notepad()] <---- вот эту вставь в label для внешнего вида устройства, показывает ли -1 или число. Открой блокнот, подожди пару минут — должно поменяться на значение индекса позиции в массиве. Закрой блокнот и жди, пока значение снова не станет -1.
     
     
     
    N2TheFire
    Guest
    #9
    0
    21.06.2010 22:57:00
    Интересные предложения, завтра попробую их, когда вернусь в офис. Спасибо, что уделили время.
     
     
     
    N2TheFire
    Guest
    #10
    0
    22.06.2010 14:36:00
    Ок, очень интересно. Вставив этот код в метку для отображения, я вижу, что он действительно обнаруживает, открыт ли блокнот или закрыт. Я добавил ping-пробу, но статус всё равно не меняется с серого. Странно то, что если добавить новое устройство и вставить ping-пробу ДО настройки проверки блокнота, тогда статус меняется на зелёный/красный (для ping), но статус блокнота всё равно не отображается зелёным или красным. Теперь, когда я точно знаю, что приложение запущено или нет, я хочу, чтобы иконка была зелёной, когда блокнот работает, и красной — когда нет. Я уверен, что это возможно, пару месяцев назад я тестировал, и тогда всё работало (в виртуальной сети на той же машине). Добавляя ping-пробу, статус по-прежнему серый (и да, во вкладке General в разделе статус написано «Unknown»). По-моему, раньше при тестах ping-проба не была обязательна. Мне нужно менять цвет именно потому, что так проще сразу увидеть проблему. У нас есть монитор на стене между нами. На нашей карте отображаются все серверы (с помощью только ping-пробы, чтобы видеть, когда система в сети или нет). Мы не ведём историю или логи, карта нужна только чтобы быстрее заметить проблему — надеюсь, раньше пользователей. Так что мой следующий вопрос: есть ли способ менять цвет иконки в зависимости от статуса блокнота?
     
     
     
    lebowski
    Guest
    #11
    0
    22.06.2010 14:47:00
    У меня так же, какой у тебя тип устройства? Во вкладке "Общие" выбери тип устройства, это не так уж важно какой именно... Может, удалишь старые тестовые устройства, создашь их заново и поставишь хотя бы один встроенный датчик на каждое устройство. Как-то странно, что эти устройства выделены серым цветом.
     
     
     
    N2TheFire
    Guest
    #12
    0
    22.06.2010 15:00:00
    Вот вкладка General, которую я вижу… Я удалил все устройства из своей тестовой карты и начал с чистого листа. Добавил устройство, которое видно на изображении, и поставил только пинг-зонд. Понаблюдал немного, статус зелёный, всё работает нормально. Потом добавил зонд notepad, статус остался зелёным (пинг), а notepad по-прежнему серый. Иконка на карте зелёная (независимо от того, открыт notepad или нет). Такое ощущение, что именно этот зонд для Dude «неизвестен», он не понимает, работает приложение или нет. Не знаю, как объяснить свою логику, но по сути все остальные зонды меняют статус (и на самой иконке тоже), кроме зонда notepad. Однако, если использовать метку, о которой ты говорил ранее, она действительно показывает -1, когда notepad закрыт, и какое-то число, когда открыт, то есть статус приложения определяется. Очень странно.
     
     
     
    lebowski
    Guest
    #13
    0
    22.06.2010 15:16:00
    Не знаю, в чём там проблема… поменяй SNMP с дефолтного на свой конкретный, тип — на Windows-компьютер? Я в полном замешательстве… вот как у меня выглядит.
     
     
     
    lebowski
    Guest
    #14
    0
    22.06.2010 15:24:00
    Вот что происходит, когда я отключаю SNMP на своей тестовой машине… RDP — это просто подключение к порту RDP, и обычно работает безупречно, но перестаёт работать, когда я его отключаю.
     
     
     
    N2TheFire
    Guest
    #15
    0
    22.06.2010 15:41:00
    Лол, я тоже в тупике, и ты был просто классным во всём этом безумии. Честно не понимаю, что происходит, вот скрины моих настроек и самой функции, и зонда… Я выставил тип «Windows Computer», опрос с дефолтных значений, SNMP сменил с дефолтного на актуальный профиль. Если что-то придёт в голову — дай знать, а так я просто продолжу и буду пробовать разные варианты. Ещё раз спасибо за твоё время!
     
     
     
    lebowski
    Guest
    #16
    0
    22.06.2010 16:02:00
    Убери Running из своей линии единиц, нельзя строить график по единице без указания значения. У тебя есть место, куда можно поставить другой встроенный зонд? Попробуй процессор или диск. Наверняка что-то простое упускаешь…
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры