SCROLL
Среднее время на прочтение: 1 мин.

Программа для мониторинга устройств по протоколу SNMP. Мониторинг сетевых принтеров.

Для простого и удобного мониторинга сетевых принтеров, была написана программа «Мониторинг состояния картриджей в принтерах». Данная программа имела ряд изъянов в функциональном плане, о чём свидетельствуют комментарии в статье к программе.

 

Учитывая тот факт, что программа так или иначе используется не только мной, после долгих обещаний пользователям, всё-таки было найдено время и программа переписана с нуля. Теперь она позиционируется не только как опросник сетевых принтеров, но, в принципе и как опросник любых устройств поддерживающих протокол SNMP.

 

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

 

Главное окно программы содержит вкладки «Мониторинг», «Шаблоны», «Настройки».
На вкладке «Мониторинг» находятся следующие элементы управления:
— кнопки управления записями (Добавление, Добавление копированием, Изменение, Удаление, Включение-Отключение опроса для устройства, Выгрузка и Загрузка данных, Опрос устройств, О программе);
— время опроса с индикатором мониторинга;
— список устройств;
— объекты принадлежащие конкретному устройству согласно выбранного шаблона.
Примечание: кнопки выгрузка и загрузка в файл позволяют в одном случае делать копии всех данных, а в другом, при необходимости, их загружать. Например, желательно делать копию данных перед установкой новой версии.
Клик правой кнопкой мыши на списке устройств выводит всплывающее меню, при помощи которого можно открыть в браузере IP-адрес выбранного устройства, таким же щелчком на списке объектов можно посмотреть техническую информацию о выбранном объекте.
Справа от поля «Время опроса» расположен индикатор мониторинга, который становится активным в случае, когда процесс опроса устройств запущен и ждёт срабатывания в зависимости от заданного периода.

 

 

Форма добавления нового устройства или корректировка уже существующего.

 

 

Вкладка «Шаблоны» содержит следующие элементы управления:
— кнопки управления записями шаблонов и объектов (Добавление, Добавление копированием, Изменение, Удаление);
— список шаблонов;
— список объектов шаблонов.

 

 

Форма добавления нового шаблона (объекта шаблона) или корректировка уже существующего.
Примечание: при добавлении нового шаблона или его изменении, также можно заполнить поля объекта. Хотя они и имеют неактивную окраску, однако доступны для редактирования.

 

 

Форма добавления нового объекта (шаблона) или корректировка уже существующего.
Примечание: так как устройства не всегда отдают данные в процентных показателях, а могут и в количественном виде,
(например: максимум тонера — 13000, а его остаток — 7600, что составляет 58%),
то для подобных случаев был создан отдельный тип «Составной объект», в который входят два идентификатора OID — остаток и максимум.
«Представление объекта» — то, как должно быть показано возвращённое опросом значение, как простой текст или в виде градиентного индикатора (прогресс-бара).
«Условия оповещений» — условия в процессе мониторинга, при выполнении которых будет отправлено письмо по эл. почте или СМС.

Примечание: так как устройства не всегда отдают данные в удобном для нас виде,
(например: температура возвращается в виде целого числа — 1687 градусов,
хотя на самом деле должно быть — 16,87 градусов, т.е. 1687 нужно разделить на 100, либо умножить на 0,01),

то для подобных случаев был создан отдельный тип «Вычисляемый объект (Формула)»,
при помощи которого можно создавать простые формулы в одно действие и задавать разрядность результата без округления.

 

Для оповещения о наступлении определённых событий,
(например при достижении температуры свыше 10 градусов или иных других),
можно задать одно или несколько условий, в случае срабатывания которых,
будут отправлены сообщения с помощью СМС или эл. почты.

 

 

Вкладка «Настройки», говорящее за себя название, содержит доступные для изменения параметры программы.

 

В программе предусмотрено несколько ключей командной строки:
-a или -auto используется для автоматического старта мониторинга после запуска программы, при условии, что периодичность опроса больше нуля минут;
-s или -silent используется для скрытого запуска с показом иконки программы в области уведомлений;
Пример: moust_32.exe -a -s позволяет запустить программу без показа главной формы с иконкой в трее и автоматическим стартом мониторинга.

 

Комплект утилиты состоит из следующих файлов:
— moust_32.exe — приложение 32 бита;
— moust.db — база данных;
модулей OpenSSL:
— libeay32.dll
— ssleay32.dll

 

[stextbox id=’warning’]Шаблон, изначально внесённый в базу, нужно воспринимать только как пример заполнения, он не будет работать на всех устройствах.[/stextbox]

 

[stextbox id=’alert’]В связи с многочисленными кардинальными изменениями в структуре данных, начиная с версии 1.0.0.6 программа не совместима с предыдущими версиями и просто заменить exe уже не получится. Приносим свои извинения за доставленные неудобства, можем помочь с переносом данных из предыдущих версий в последнюю.[/stextbox]

 

На 04.05.2021 г.
+ добавлена обработка составных объектов на случай отсутствия данных в ответе, по умолчанию минимум: 0, максимум: 100, т.е. если устройство вернёт пустой ответ, будет подставлено значение по умолчанию.
! база данных и модули OpenSSL не модифицировались, достаточно заменить exe-файл из архива.
Текущая версия: 1.0.0.8

 

На 24.06.2020 г.
+ добавлена настройка «Вид двоичных данных», при помощи которой бинарные данные отображаются как «HEX-строка» (по умолчанию) или как «ASCII-строка»;
! база данных и модули OpenSSL не модифицировались, достаточно заменить exe-файл из архива.
Текущая версия: 1.0.0.7

 

На 20.02.2020 г.:
— в процессе доработки система обновления базы данных;
+ добавлены простые формулы;
+ добавлены оповещения о событиях;
+ добавлено управление журналом мониторинга;
+ добавлена возможность сокрытия колонок «IP-адрес», «Порт», «Шаблон»;
+ доработан пинг для Win-систем снятых с поддержки;
+ обновлены модули OpenSSL.
Текущая версия: 1.0.0.6

 

На 02.12.2019 г.:
— в процессе доработки система автоматического информирования почтовыми и СМС-уведомлениями о событиях мониторинга;
— в процессе доработки система обновления базы данных;
— в процессе доработки управление журналом мониторинга.

 

Скачать “monitor_ustroystv_v1_alpha-8.7z” monitor_ustroystv_v1_alpha-8.7z – Загружено 962 раза – 4,76 МБ

 

Обсуждение

55 комментариев
  • Не ту почту указал

  • А скажите, на какое количество устройств рассчитана программа?
    Я смог только 7 устройств добавить.

  • Отличная, и достаточно простая программа!
    Сделал несколько профилей для разных моделей принтеров, МФУ, производителей.
    Можете добавить возможность опроса по выбору устройств — если все скопом, долго ждать.
    Например настраиваю одно устройство, и его опрашиваю.
    Еще, можно добавить логическую переменную по замятию бумаги и нет бумаги в лотке.
    И желательно возможность перемещать строки в шаблоне.
    Еще раз спасибо за программу

  • Спасибо за обновленную версию, только сейчас о ней узнал. Заработало на Windows XP, что однозначно хорошо, можно смотреть часть значений. Но есть проблемка, в аппаратах Kyocera информация о заполнености Waste toner вычисляется по формуле 100-100*oid_current_value/oid_max_value. Можно как-нибудь получить значение данной формулы на данный момент?

  • Здравствуйте!
    При изменении настройки «Хранение журналов» на значение: Только последний опрос, после закрытия программы возникает ошибка «Foreign key constraint fails». После чего программа перестает сохранять изменения и всё время открывается с этой ошибкой. Можете подсказать что делать?

    • Это ответ на комментарий Олег

      Ошибка возникала из-за отсутствия данных в составном объекте OID-максимум, не мог отрисоваться процентовый индикатор (прогресс-бар). Добавлена обработка этой ошибки в версии 1.0.0.8. Шаблон изначально внесённый в базу, нужно воспринимать только как пример заполнения, он не будет работать на всех устройствах.

  • Добрый день,
    при опросе сетевого принтера возникает ошибка.
    Заголовок окна «Монитор устройств [SNMP]»
    текст ошибки: «eri_Progress_Bar_No data.» is not a valid component name.

    Можете подсказать что не так?

    • Это ответ на комментарий Олег

      Здравствуйте. Это нужно смотреть в данных, что там не так. Можете файл базы moust.db прислать?

  • Добрый день, подскажите как можно сделать чтобы опрос устройств был каждую секунду?

    • Это ответ на комментарий Артём

      Можно добавить и секунду, не мало будет?

  • Добрый день! попытался использовать программу для снятия счетчиков с принтеров. Не хватает экспорта в CSV или XLSX. Не хватает массового импорта хостов из файла

    • Это ответ на комментарий Артем

      Добрый день. В принцмпе, экспорт в CSV можно добавить без особых сложностей, как и импорт хостов. Ожидайте.

      • Это ответ на комментарий ipc

        Добрый день. Экспорт отчетов в csv еще в процессе?

        • Это ответ на комментарий Евгений

          Пока нет физической возможности, потерпите, скоро сделаем.

  • При добавлении устройства есть только серый выбор SNMPv1.
    Другие версии протокола не поддерживаются? Хотя бы SNMPv2c.

    • Это ответ на комментарий Nic

      Пока был реализован только первый протокол, на данный момент физически нет возможности дописать все хотелки, дальше посмотрим, проект не заброшен.

  • Окно «Посмотреть информацию об авторах программы».

    Добавьте, пожалуйста, либо [x] к окну, либо закрытие любым кликом мыши. А лучше и то, и другое.
    Признаться, не сразу догадался как избавиться от открытого окна.

    • Это ответ на комментарий Nic

      Ну это да, прикол, туда обычно мало кто нажимает ))
      Как бы всё стандартно: клавиши Esc или Alt+F4 )

  • Добрый день! Приложение достойное несмотря на свою простоту. У меня есть пара замечаний в надежде, что они будут учтены:
    1) В сравнении невозможно указать пустую строку.
    2) Еще было бы удобно, если бы была возможность организовать проверку двух oid.
    Бывает, что один oid сообщает об ошибке, а второй расшифровывает ошибку кодом.
    3) Также не хватает функционала расшифровки кодов для oid, Допустим oid выдает значения число 1, 2 или 3. Хотелось бы видеть оповещения с разными текстами в зависимости от кода.

    • Это ответ на комментарий Артем

      День добрый! Посмотрим, что можно сделать.

  • Не хватает преобразования вывода HEX values в ASCII.

    • Это ответ на комментарий Олег

      Сделайте скриншот с текущим выводом. Также к скрину нужна будет «Техническая информация» записи, которую необходимо преобразовать, посмотрим, что можно сделать.
      На всякий случай: «Техническая информация» открывается на вкладке «Мониторинг», нажатием правой кнопки мыши на интересующем объекте устройства.

      • Это ответ на комментарий ipc

        bla-bla@zabbix:~$ snmpwalk -v 1 -c public 10.2.5.208 1.3.6.1.2.1.43.11.1.1.6.1.1
        iso.3.6.1.2.1.43.11.1.1.6.1.1 = Hex-STRING: D0 A7 D0 B5 D1 80 D0 BD D1 8B D0 B9 20 D0 BA D0
        B0 D1 80 D1 82 D1 80 D0 B8 D0 B4 D0 B6 20 35 30
        38 41 20 48 50 20 43 46 33 36 30 41 00
        bla-bla@zabbix:~$ snmpwalk -v 1 -c public 10.2.5.208 1.3.6.1.2.1.43.11.1.1.6.1.1 -Oa
        iso.3.6.1.2.1.43.11.1.1.6.1.1 = STRING: «………… ……………. 508A HP CF360A.»

        • Это ответ на комментарий Олег

          Олег, я знаю как выглядит HEX и как это реализовать, нужен именно скрин отображения в нашей программе сейчас и тех. инфа интересующей записи.
          А вообще, дабы не множить лишних сущностей, думаю, что можно сдалать любую запись в виде Hex-STRING.

  • Диапазон ip адресов задать нельзя? Для поиска всех сетевых принтеров.

    • Это ответ на комментарий Psalmir

      Нет, поиск всех сетевых устройств на данном этапе не предусмотрен.

  • Программа обновлена до версии 1.0.0.6.

  • Сделайте, пожалуйста, возможность указывать не ip адреса, а хостнеймы устройств.

    • Это ответ на комментарий ilya

      Проясните свою хотелку, чем не устраивают ip-адреса?

      • Это ответ на комментарий ipc

        IP устройств могут изменяться по разным причинам. А FQDN при этом останется. Я поддерживаю просьбу.

        Хотел бы также попросить при вводе IP адреса автоматически перескакивать в следующий октет, не только по нажатию Tab. Три цифры введено можно перескакивать.
        При желании можно ещё хитрее — перескакивать перескакивать в следующий октет при вводе двух цифр, если первая их них более 2. Пример: 34, 96 и т.д. Октет не может принимать значений выше 255.

  • Вот всё прекрасно, но уведомлений не хватает… Настроил, кое-что откорректировал, работает. Увы, только в онлайне можно смотреть. Добавить уведомления (в идеале еще и управляемые, ну там задавать периодичность отсылки, на какой уровень срабатывать) и за прогу не жалко даже денег будет отдать

    • Это ответ на комментарий ARTy

      Ожидайте…
      Работа ведётся, может не так быстро как хотелось бы.

  • Сделал:
    «Загрузка библиотеки: iphlpapi.dll
    Результат: (0) Операция успешно завершена.

    Проверка функции: GetIpErrorString
    Результат: (0) Операция успешно завершена.

    Загрузка библиотеки: icmp.dll
    Результат: (0) Операция успешно завершена.

    Проверка функции: IcmpCreateFile
    Результат: (0) Операция успешно завершена.

    Проверка функции: IcmpCloseHandle
    Результат: (0) Операция успешно завершена.

    Проверка функции: IcmpSendEcho
    Результат: (0) Операция успешно завершена.

    Выполнение: WSAStartup
    Результат: (0) Операция успешно завершена.

    Выполнение: inet_addr
    Результат: (0) Операция успешно завершена.

    Выполнение: IcmpCreateFile
    Результат: (0) Операция успешно завершена.

    Выполнение: AllocMem
    Результат: (0) Операция успешно завершена.

    Выполнение: CreateEvent
    Результат: (0) Операция успешно завершена.

    Выполнение: IcmpSendEcho
    Результат: (997) Протекает наложенное событие ввода/вывода.

    Выполнение: WaitForSingleObject
    Результат: (0) WAIT_OBJECT_0

    Обработка: Reply Status
    Результат: (0) Операция успешно завершена.

    Завершение: CloseEvent
    Завершение: FreeMem
    Завершение: IcmpCloseHandle
    Завершение: WSACleanup
    Завершение: icmp.dll
    Завершение: iphlpapi.dll»

    • Это ответ на комментарий Александр

      Ну и лог обычного пинга, что принтер доступен:
      «ping 192.168.19.155

      Обмен пакетами с 192.168.19.155 по 32 байт:

      Ответ от 192.168.19.155: число байт=32 время<1мс TTL=64
      Ответ от 192.168.19.155: число байт=32 время<1мс TTL=64
      Ответ от 192.168.19.155: число байт=32 время<1мс TTL=64
      Ответ от 192.168.19.155: число байт=32 время<1мс TTL=64

      Статистика Ping для 192.168.19.155:
      Пакетов: отправлено = 4, получено = 4, потеряно = 0 (0% потерь),
      Приблизительное время приема-передачи в мс:
      Минимальное = 0мсек, Максимальное = 0 мсек, Среднее = 0 мсек"

    • Это ответ на комментарий Александр

      Спасибо, всё понятно. В следующей версии пинг будет скорректирован для поддержки XP.

      • Это ответ на комментарий ipc

        Благодарю, на всякий случай обращаю внимание, в предыдущей версии до устройств «достукивалось» нормально, поэтому эта часть у нее была рабочая.

  • День добрый!
    Решил попробовать обновленную версию 1.0.0.5, но в результатах опроса пишется «нет пинга: 55». Устанавливал в отдельный каталог. При использовании «Открыть IP-адрес в браузере» открывается нормально и показывает значения.
    Операционная система Windows XP, сеть вида 192.168.19.0

    • Это ответ на комментарий Александр

      Здравствуйте!
      Посмотрим чем можно помочь древности.
      XP не поддерживается с 2014 года, поэтому совместимость со старыми ОС не гарантируется.

    • Это ответ на комментарий Александр

      Александр, попробуйте сделать пинг в Windows XP этой утилитой.
      Нам нужен лог из программы, что там получается.

  • Здравствуйте! Спасибо за ответ! Подсвечивать можно значок «lan» если пинг удачный. Можно еще подсвечивать устройство в зависимости от результатов опроса. Если какой-то результат опроса не укладывается в условия. Но, надо побольше условий. В комментариях не очень удобно общаться. Как с вами можно связаться?

    • Это ответ на комментарий Николай

      В комментариях не очень удобно общаться. Как с вами можно связаться?

      Пока что только комментарии используем. Позже будет форум, где будет удобней общаться

  • Здравствуйте! Хорошая программка! Можно применить для контроля не только картриджей но и ИБП, роутеров, и.т.д. Подумайте над параметром «Представление обьекта», чтоб можно было вставить формулу для правильного отображения значения. А так же подсвечивание «Результат опроса» и «Устройства» в зависимости от значений результатов опроса.

    • Это ответ на комментарий Николай

      Здравствуйте Николай, спасибо за отзыв!
      Идея с формулой изначально была, но на практике не довелось сталкиваться, если приведёте пример(ы) формулы с описанием из Вашего личного опыта, будем реализовывать.
      На счёт подсвечивания поясните конкретнее, выделять записи другим цветом при ошибках или что?

  • Не работает отображение % цветного картриджа в сетях класса B.

  • Все текстовые записи отображаются в виде цифр…

    • Это ответ на комментарий Andrew

      еще виснет, если устройство отсутствует по указанному адресу…. И шаблон применяется тот, на котором курсор находится на вкладке «шаблоны», а не тот, что указан напротив устройства…

      • Это ответ на комментарий Andrew

        Andrew, какая ОСь используется?

        С «висяком» в дальнейшем планируется добавить пинг устройства перед опросом, так что если заинтересованы, то придётся немного подождать.

        В ближайшее время будет большое обновление с реструктуризацией базы данных. Исправлены ошибки, добавлен новый функционал, о чём будет написано в основной статье.

        Далее по функционалу намечается:
        — сворачивание в «трей»;
        — возможность автозапуска;
        — добавление модуля для учёта картриджей.

        • Это ответ на комментарий ipc

          Windows 10 pro

    • Это ответ на комментарий Andrew

      Если можно поподробнее, не понятно как это выглядит, если можно, сделайте ссылку на скрин.

      • Это ответ на комментарий ipc

        https://yadi.sk/i/7VvcJHSmJMNvmQ
        https://yadi.sk/i/-Yfqs1YWxqrG5A

        Результаты опроса отображаются в виде цифр. В старой версии все было корректно. На втором скрине — это когда в шаблоне курсор остался на цветном…

        • Это ответ на комментарий Andrew

          Всё ясно, спасибо.

        • Это ответ на комментарий Andrew

          Тоже как и у Andrew отображаются в виде цифр, проверял с помощью «SNMP+Tester+5.2.3», ответ корректный.
          Если в шаблоне добавлять позицию, то происходит не добавление а замена активного элемента на созданный, если создавать через «Создать копированием выбранной», то все нормально.
          Еще одна просьба, добавить возможность открытия страницы устройства, т.е. открыть в браузере по умолчанию IP выбранного устройства.
          p.s. Операционная система Windows XP.

        • Это ответ на комментарий Александр

          Ок, пожелания учтём. Ожидайте новой версии.

  • Подскажите как настроить данную програму в связке с Canon MF210?
    Ip указал, но уровень тонера не отображает.