Программа для мониторинга устройств по протоколу 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 МБ
Не ту почту указал
А скажите, на какое количество устройств рассчитана программа?
Я смог только 7 устройств добавить.
Отличная, и достаточно простая программа!
Сделал несколько профилей для разных моделей принтеров, МФУ, производителей.
Можете добавить возможность опроса по выбору устройств — если все скопом, долго ждать.
Например настраиваю одно устройство, и его опрашиваю.
Еще, можно добавить логическую переменную по замятию бумаги и нет бумаги в лотке.
И желательно возможность перемещать строки в шаблоне.
Еще раз спасибо за программу
Спасибо за обновленную версию, только сейчас о ней узнал. Заработало на Windows XP, что однозначно хорошо, можно смотреть часть значений. Но есть проблемка, в аппаратах Kyocera информация о заполнености Waste toner вычисляется по формуле 100-100*oid_current_value/oid_max_value. Можно как-нибудь получить значение данной формулы на данный момент?
Здравствуйте!
При изменении настройки «Хранение журналов» на значение: Только последний опрос, после закрытия программы возникает ошибка «Foreign key constraint fails». После чего программа перестает сохранять изменения и всё время открывается с этой ошибкой. Можете подсказать что делать?
https://drive.google.com/drive/folders/11N3SxYlFwQWbEcmrA9lHWbIMn5kXGd-D?usp=sharing
OC Win 10×64 20H2
Ошибка возникала из-за отсутствия данных в составном объекте OID-максимум, не мог отрисоваться процентовый индикатор (прогресс-бар). Добавлена обработка этой ошибки в версии 1.0.0.8. Шаблон изначально внесённый в базу, нужно воспринимать только как пример заполнения, он не будет работать на всех устройствах.
Добрый день,
при опросе сетевого принтера возникает ошибка.
Заголовок окна «Монитор устройств [SNMP]»
текст ошибки: «eri_Progress_Bar_No data.» is not a valid component name.
Можете подсказать что не так?
Здравствуйте. Это нужно смотреть в данных, что там не так. Можете файл базы moust.db прислать?
Добрый день, подскажите как можно сделать чтобы опрос устройств был каждую секунду?
Можно добавить и секунду, не мало будет?
Добрый день! попытался использовать программу для снятия счетчиков с принтеров. Не хватает экспорта в CSV или XLSX. Не хватает массового импорта хостов из файла
Добрый день. В принцмпе, экспорт в CSV можно добавить без особых сложностей, как и импорт хостов. Ожидайте.
Добрый день. Экспорт отчетов в csv еще в процессе?
Пока нет физической возможности, потерпите, скоро сделаем.
При добавлении устройства есть только серый выбор SNMPv1.
Другие версии протокола не поддерживаются? Хотя бы SNMPv2c.
Пока был реализован только первый протокол, на данный момент физически нет возможности дописать все хотелки, дальше посмотрим, проект не заброшен.
Окно «Посмотреть информацию об авторах программы».
Добавьте, пожалуйста, либо [x] к окну, либо закрытие любым кликом мыши. А лучше и то, и другое.
Признаться, не сразу догадался как избавиться от открытого окна.
Ну это да, прикол, туда обычно мало кто нажимает ))
Как бы всё стандартно: клавиши Esc или Alt+F4 )
Добрый день! Приложение достойное несмотря на свою простоту. У меня есть пара замечаний в надежде, что они будут учтены:
1) В сравнении невозможно указать пустую строку.
2) Еще было бы удобно, если бы была возможность организовать проверку двух oid.
Бывает, что один oid сообщает об ошибке, а второй расшифровывает ошибку кодом.
3) Также не хватает функционала расшифровки кодов для oid, Допустим oid выдает значения число 1, 2 или 3. Хотелось бы видеть оповещения с разными текстами в зависимости от кода.
День добрый! Посмотрим, что можно сделать.
Не хватает преобразования вывода HEX values в ASCII.
Сделайте скриншот с текущим выводом. Также к скрину нужна будет «Техническая информация» записи, которую необходимо преобразовать, посмотрим, что можно сделать.
На всякий случай: «Техническая информация» открывается на вкладке «Мониторинг», нажатием правой кнопки мыши на интересующем объекте устройства.
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 адресов задать нельзя? Для поиска всех сетевых принтеров.
Нет, поиск всех сетевых устройств на данном этапе не предусмотрен.
Программа обновлена до версии 1.0.0.6.
Сделайте, пожалуйста, возможность указывать не ip адреса, а хостнеймы устройств.
Проясните свою хотелку, чем не устраивают ip-адреса?
IP устройств могут изменяться по разным причинам. А FQDN при этом останется. Я поддерживаю просьбу.
Хотел бы также попросить при вводе IP адреса автоматически перескакивать в следующий октет, не только по нажатию Tab. Три цифры введено можно перескакивать.
При желании можно ещё хитрее — перескакивать перескакивать в следующий октет при вводе двух цифр, если первая их них более 2. Пример: 34, 96 и т.д. Октет не может принимать значений выше 255.
Вот всё прекрасно, но уведомлений не хватает… Настроил, кое-что откорректировал, работает. Увы, только в онлайне можно смотреть. Добавить уведомления (в идеале еще и управляемые, ну там задавать периодичность отсылки, на какой уровень срабатывать) и за прогу не жалко даже денег будет отдать
Ожидайте…
Работа ведётся, может не так быстро как хотелось бы.
Сделал:
«Загрузка библиотеки: 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.
Благодарю, на всякий случай обращаю внимание, в предыдущей версии до устройств «достукивалось» нормально, поэтому эта часть у нее была рабочая.
День добрый!
Решил попробовать обновленную версию 1.0.0.5, но в результатах опроса пишется «нет пинга: 55». Устанавливал в отдельный каталог. При использовании «Открыть IP-адрес в браузере» открывается нормально и показывает значения.
Операционная система Windows XP, сеть вида 192.168.19.0
Здравствуйте!
Посмотрим чем можно помочь древности.
XP не поддерживается с 2014 года, поэтому совместимость со старыми ОС не гарантируется.
Александр, попробуйте сделать пинг в Windows XP этой утилитой.
Нам нужен лог из программы, что там получается.
Здравствуйте! Спасибо за ответ! Подсвечивать можно значок «lan» если пинг удачный. Можно еще подсвечивать устройство в зависимости от результатов опроса. Если какой-то результат опроса не укладывается в условия. Но, надо побольше условий. В комментариях не очень удобно общаться. Как с вами можно связаться?
Пока что только комментарии используем. Позже будет форум, где будет удобней общаться
Здравствуйте! Хорошая программка! Можно применить для контроля не только картриджей но и ИБП, роутеров, и.т.д. Подумайте над параметром «Представление обьекта», чтоб можно было вставить формулу для правильного отображения значения. А так же подсвечивание «Результат опроса» и «Устройства» в зависимости от значений результатов опроса.
Здравствуйте Николай, спасибо за отзыв!
Идея с формулой изначально была, но на практике не довелось сталкиваться, если приведёте пример(ы) формулы с описанием из Вашего личного опыта, будем реализовывать.
На счёт подсвечивания поясните конкретнее, выделять записи другим цветом при ошибках или что?
Не работает отображение % цветного картриджа в сетях класса B.
Все текстовые записи отображаются в виде цифр…
еще виснет, если устройство отсутствует по указанному адресу…. И шаблон применяется тот, на котором курсор находится на вкладке «шаблоны», а не тот, что указан напротив устройства…
Andrew, какая ОСь используется?
С «висяком» в дальнейшем планируется добавить пинг устройства перед опросом, так что если заинтересованы, то придётся немного подождать.
В ближайшее время будет большое обновление с реструктуризацией базы данных. Исправлены ошибки, добавлен новый функционал, о чём будет написано в основной статье.
Далее по функционалу намечается:
— сворачивание в «трей»;
— возможность автозапуска;
— добавление модуля для учёта картриджей.
Windows 10 pro
Если можно поподробнее, не понятно как это выглядит, если можно, сделайте ссылку на скрин.
https://yadi.sk/i/7VvcJHSmJMNvmQ
https://yadi.sk/i/-Yfqs1YWxqrG5A
Результаты опроса отображаются в виде цифр. В старой версии все было корректно. На втором скрине — это когда в шаблоне курсор остался на цветном…
Всё ясно, спасибо.
Тоже как и у Andrew отображаются в виде цифр, проверял с помощью «SNMP+Tester+5.2.3», ответ корректный.
Если в шаблоне добавлять позицию, то происходит не добавление а замена активного элемента на созданный, если создавать через «Создать копированием выбранной», то все нормально.
Еще одна просьба, добавить возможность открытия страницы устройства, т.е. открыть в браузере по умолчанию IP выбранного устройства.
p.s. Операционная система Windows XP.
Ок, пожелания учтём. Ожидайте новой версии.
Подскажите как настроить данную програму в связке с Canon MF210?
Ip указал, но уровень тонера не отображает.