Как настроить snmp на принтере
Я ищу способ получить информацию с локального принтера. Может быть, с протоколом SNMP?
Принтер подключен к USB или PPI (параллельный порт). Все принтеры имеют внутренний TotalPagesCount и поддерживают SNMP.
Вот несколько примеров принтеров:
-
Brother HL1430
Брат HL5150
Brother HL1230
Kyocera 1118
Kyocera 1128
Kyocera 2000
Kyocera 1300
Kyocera 3920
Kyocera 1920
Kyocera 1350
Возможно ли это? Благодаря
спросил(а) 2010-04-30T15:35:00+04:00 11 лет, 6 месяцев назадЯ считаю, что SNMP - правильный подход. Большинство принтеров реализуют стандартный принтер MIB и RFC 1213 MIB поэтому любая собственность, которую вы можете получить оттуда, будет независимой от модели. Например, если вы ищете серийный номер, то ваше свойство, вероятно, будет prtGeneralSerialNumber 1.3.6.1.2.1.43.5.1.1.17
Для других свойств вам нужно будет искать в определенных MIB, например, в HP Laserjet MIB у вас много вещей как использование печатных носителей, количество печатных носителей - симплекс, количество печатных носителей - дуплекс, использование - средний уровень тонера, сканирование - медиа-использование, общий цвет - количество страниц.
Для использования SNMP самая расширенная библиотека Net-SNMP, но она использует API C, и я не рекомендую ее, если вам нужно использовать его в тяжелых многопоточных приложениях или использовать SNMPv3. Существуют и другие библиотеки, такие как текст ссылки, которые выглядят очень многообещающими, но большинство надежных библиотек там коммерческие и не очень дешевые.
ИЗМЕНИТЬ
В случае взлома драйверов я имею в виду, что, возможно, инструментальное средство для каждого драйвера. Например, если у принтера есть утилита, которая показывает состояние тонера, попытайтесь понять, как это работает, я бы начал использовать Depends, чтобы открыть исполняемый файл и какие DLL файлы используются и какие методы они публикуют, если вы найдете такой метод, как GetTonerStatus в dll, стоит попробовать его использовать.
Есть замечательная книга, которая охватывает эти аспекты, называемые Реверсирование: секреты обратной инженерии
Как уже говорилось, это длинный путь, но, вероятно, единственный, кто достиг того, что вы хотите сделать, вы можете пересмотреть жизнеспособность проекта после небольшого изучения тем, о которых я говорил.
В сети много инструкций как установить сервер мониторинга The Dude от Mikrotik. Сейчас пакет сервера мониторинга выпускают только для RouterOS. Я использовал версию 4.0 для Windows.
Здесь я хотел рассмотреть, как сделать мониторинг принтеров в сети: отслеживать уровень тонера, если он закончился вывести уведомление. Запускаем:
Нажимаем добавить устройство(красный плюс) и вводим ip-адрес принтера:
На следующем шаге нажимаем обнаружение, он находит все доступные зонды, нажимаем закончить:
Два раза нажимаем по появившемуся значку, открываются настройки, тип выбираем «принтер», и нажимаем «ок»:
Правой кнопкой нажимаем по значку и выбираем вид:
В поле метка прописываем OID’ы:
[Device.Name] – имя устройства
[oid(«1.3.6.1.2.1.43.5.1.1.16.1»)] – модель принтера
[oid(«1.3.6.1.2.1.43.11.1.1.6.1.1»)] – тип картриджа
[oid(«1.3.6.1.2.1.43.11.1.1.9.1.1»)] – уровень тонера
Во вкладке изображение можно прикрепить свою иконку:
Выходим, получается так:
Не на всех принтерах oid(«1.3.6.1.2.1.43.11.1.1.9.1.1») показывает сразу уровень тонера, на некоторых этот параметр показывает сколько осталось напечатать страниц. Чтобы рассчитать уровень тонера нужно разделить сколько осталось напечатать страниц на общий ресурс картриджа и умножить на 100. Для этого снова выбираем «вид», потом Functions:
Нажимаем создать новую функцию(красный плюс):
Я назвал функцию toner:
В поле код пишем формулу и сохраняем:
В метке заменяем [oid(«1.3.6.1.2.1.43.11.1.1.9.1.1»)] на вызов функции [toner()]
Выходим. Получается так:
Чтобы узнать нужные oid и прописать нужные параметры можно использовать функцию snmp walk, правая кнопка на принтере – инструменты обход Snmp:
Выдается дерево объектов принтера:
Нажимаем правой кнопкой на нужном нам и нажимаем копировать OID.
Уведомления
Теперь настроим уведомления по событию (картридж закончился). Открываем принтер, переходим на вкладку службы, нажимаем плюсик(добавить новую службу):
В поле зонд нажимаем три точки чтобы выбрать нужный зонд:
Создадим свой собственный зонд, нажмем красный плюс:
Я назвал его toner, тип выбираем SNMP, агент по умолчанию, профиль Snmp по умолчанию,
Oid прописываем который отвечает за уровень тонера 1.3.6.1.2.1.43.11.1.1.9.1.1, тип Oid Integer, метод сравнения >= 1
Сохраняем и в поле зонд выбираем только что созданный toner, во вкладке оповещения можно настроить какие оповещения мы хотим получать и сохраняем:
Для демонстрации я выбрал что уровень тонера не должен быть ниже 80, принтер окрасился в красный цвет:
Простой протокол сетевого управления (SNMP) представляет собой протокол для мониторинга и контроля устройств связи в сети с помощью базы данных MIB. Аппарат поддерживает версию протокола SNMPv1 и версию с расширенными функциями безопасности SNMPv3. Статус аппарата можно проверить с помощью компьютера при печати документов или использовать для этого Удаленный ИП. Можно разрешить использование SNMPv1 или SNMPv3 по отдельности или одновременно. Укажите настройки для каждой версии в соответствии с особенностями сетевой среды и конкретными задачами.
SNMPv1
SNMPv1 использует данные с именем «сообщество» для определения области обмена данными по протоколу SNMP. Поскольку такие данные предоставляются в сети в виде обычного текста, сеть может быть уязвимой для атак злоумышленников. В целях безопасности сети рекомендуется отключить SNMPv1 и использовать SNMPv3.
SNMPv3
Протокол SNMPv3 позволяет реализовать управление сетевыми устройствами с использованием надежных функций защиты. Обратите внимание, что перед настройкой SNMPv3 необходимо активировать TLS для Удаленного ИП (Настройка ключа и сертификата для TLS).
Аппарат не поддерживает функцию уведомлений об аварийном прерывании протокола SNMP.
При установке на компьютере, подключенном к сети, программное обеспечение управления SNMP позволяет дистанционно настраивать, отслеживать и контролировать аппарат с компьютера. Дополнительные сведения о программном обеспечении управления см. в руководстве по эксплуатации для соответствующего сетевого устройства.
Дополнительные сведения о базовых операциях, которые требуется выполнить при настройке аппарата из Удаленного ИП, см. в разделе Настройка параметров меню с помощью Удаленного ИП.
Запустите Удаленный ИП и войдите в систему в режиме администратора системы. Запуск Удаленному ИП
Перейдите к следующему шагу, если изменение параметров SNMPv1 не требуется.
[ Использовать SNMPv1 ]
Установите этот флажок, чтобы активировать SNMPv1. Остальные параметры SNMPv1 можно указать только в том случае, если установлен этот флажок.
[ Использовать имя сообщества 1 ]/[ Использовать имя сообщества 2 ]
Установите этот флажок, чтобы указать имя сообщества. Если указывать имя сообщества не требуется, снимите флажок.
[Имя сообщества]
Введите алфавитно-цифровые символы для имени сообщества.
[ Разрешение на доступ к MIB ]
Для каждого сообщества выберите значение [Чтение/запись] или [Только чтение] для разрешений доступа к объектам MIB.
Разрешает просмотр и изменение значений объектов MIB.
[ Использовать специальное сообщество ]
Специальное сообщество представляет собой предварительно настроенное сообщество, ориентированное исключительно на администраторов, использующих программное обеспечение Canon (например, iW Management Console). Установите этот флажок, чтобы использовать специальное сообщество и укажите [Разрешение на доступ к MIB]. Если использовать специальное сообщество не требуется, снимите флажок.
Перейдите к следующему шагу, если изменение параметров SNMPv3 не требуется.
[ Использовать SNMPv3 ]
Установите этот флажок, чтобы активировать SNMPv3. Остальные параметры SNMPv3 можно задать, только если установлен этот флажок.
[Включить пользователя]
Установите этот флажок, чтобы активировать [Настройки пользователя 1]/[Настройки пользователя 2]/[Настройки пользователя 3]. Чтобы отключить параметры пользователя, снимите соответствующий флажок.
[ Имя пользователя ]
Введите алфавитно-цифровые символы для имени пользователя.
[ Разрешение на доступ к MIB ]
Выберите значение [Чтение/запись] или [Только чтение] для разрешений доступа к объектам MIB.
Разрешает просмотр и изменение значений объектов MIB.
[ Настройки защиты ]
Выберите [Аутентификация вкл./Шифрование вкл.], [Аутентификация вкл./Шифрование выкл.] или [Аутентификация вкл./Шифрование выкл.] для желаемой комбинации настроек аутентификации и кодирования.
[Алгоритм аутентификации]
Нажмите [Аутентификация вкл./Шифрование вкл.] или [Аутентификация вкл./Шифрование выкл.] для [Настройки защиты] для выбора алгоритма, соответствующего особенностям вашей среды.
[Алгоритм шифрования]
Нажмите [Аутентификация вкл./Шифрование вкл.] для [Настройки защиты] для выбора алгоритма, соответствующего особенностям вашей среды.
[Задать/Изменить пароль]
Чтобы задать или изменить пароль, установите флажок и введите новый из алфавитно-цифровых символов в текстовом поле [Пароль аутентификации] или [Пароль шифрования]. Для подтверждения введите тот же пароль в текстовом поле [Подтвердить]. Для алгоритмов проверки подлинности и шифрования можно задать отдельные пароли.
Укажите параметры получения сведений об управлении принтером.
С помощью протокола SNMP можно регулярно отслеживать и получать сведения об управлении принтером (протоколы печати и порты принтера) от компьютера в сети.
[Получить сведения об управлении принтером с хоста]
Установите этот флажок, чтобы разрешить мониторинг сведений об управлении принтером по протоколу SNMP. Для запрета мониторинга сведений об управлении принтером снимите этот флажок.
Выключите аппарат и подождите как минимум 10 секунд, прежде чем включить его снова.
Отключение SNMPv1
Если протокол SNMPv1 отключен, некоторые функции аппарата будут недоступны (например, получение сведений об аппарате посредством драйвера принтера).
Использование панели управления
Настройки SNMP можно включить или выключить в <Меню>. <Настройки SNMP>
Если активрованы обе версии SNMP, рекомендуется задать для разрешений SNMPv1 на доступ к объектам MIB значение [Только чтение]. Разрешение на доступ к объектам MIB можно задать отдельно в SNMPv1 и SNMPv3 (а также для каждого из пользователей в SNMPv3). При выборе [Чтение/запись] (разрешение на полный доступ) в SNMPv1 снижается эффективность функций безопасности, которые отличают протокол SNMPv3, поскольку в этом случае большинством параметров аппарата можно управлять посредством SNMPv1.
Периодически на одном из принт-серверов под управлением Windows Server 2012 R2 замечаем, что некоторые подключенные сетевые принтеры переходят в автономный режим работы, перестают печатать, а в очереди печати начинают накапливаться задания. В этой статье мы рассмотрим, почему сетевой принтер может переключаться в offline режим, и как решить эту проблему без переустановки принтера и перезагрузки сервера печати.
Отройте на принт-сервере консоль управления Print Management, найдите принтер со статусом Queue Status = Offline (Отключен), откройте его очередь печати и убедитесь, что в параметрах принтера отключен опция Use Printer Offline (Работать автономно).
Затем убедитесь, что принтер включен и доступен по сети (проверьте доступность принтера через ping по IP, проверьте, открывается ли веб интерфейс управления принтером).
Как Windows определяет доступность принтера? В ОС Windows 7 и выше по-умолчанию для опроса состояния принтера используется протокол SNMP (Simple Network Management Protocol). Сервер печати отправляет принтеру SNMP запрос и ждет ответа. Если SNMP от принтера ответ не получен, такой принтер считается недоступным и переводится на принт-сервере в автономный режим работы. Рассмотрим, особенности настройки протокола SNMP для сетевых принтеров на сервере печати Windows.
В первую очередь нужно убедиться, что ваш принтер поддерживает протокол SNMP. Откройте веб интерфейс управления сетевым принтером, и проверьте, что в настройках принтера включен протокол SNMP и для него используется имя сообщества (community name) public.
Найдите принтер в консоли, откройте его свойства и перейдите на вкладку Ports. Откройте настройки порта Standard TCP/IP port -> Configure Port. Если ваш сетевой принтер поддерживает протокол SNMP, проверьте, что опция SNMP Status Enabled (Состояние SNMP разрешено) включена, а Community Name установлено в public.
Если ваш принтер не поддерживает протокол SNMP, вы должны отключить этот протокол в настройках порта печати этого принтера. В результате Windows перестанет слать SNMP пакеты для опроса состояния устройства.
Проверьте, что состояние принтера изменилось на Ready/Готов.
Вы можете найти все принтера на принт-сервере, на которых отключен протокол SNMP с помощью следующего командлета PowerShell (используется встроенный модуль PrintManagement):
get-printerport |where |select name,protocol,description,printerhostaddress
Следующая команда PowerShell поможет найти порты сетевых принтеров, у которых имя SNMP сообщества отличается от Public:
get-printerport |where |select name,protocol,description,printerhostaddress, snmpenabled, SNMPCommunity
Если проверка настроек SNMP не помогла вывести принтер из автономного режима, следует проверить следующие параметры.
- Проверьте, что в настройках порта печати указан правильный IP адрес принтера;
- Проверьте, что для порта печати используется тип “Standard TCP/IP Port”, а не “WSD Port”;
- Убедитесь, что ваши файерволы не блокирует SNMP трафик (порты 161/UDP и 162/UDP);
- Полностью удалите и пересоздайте принтер и порт печати. Переустановите драйвера принтера;
- Перезапустите службу spooler;
- Вы можете полностью отключить SNMP опрос для всех принтеров, создав в ветке реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print новый ключ типа DWORD с именем SNMPLegacy и значением 1.
Системное администрирование запись закреплена
<oid type="STRING"> </oid> Заканчивается тонер если значение пробел в 16 системе это 32, если 00 то всё хорошо. кому для ознакомления интересно.
Полезная статья, но кто нибудь занимался автообнаружением принтеров в забиксе и автоматическим добавлением шаблонов?
Имел в виду средствами zabbix, обнаружение-действие. Учитывая, что в сети достаточно много устройств, отвечающих по snmp ((не только принтеры) и принтеров более 200 моделей kyocera и ricoh.
хочется к минимуму свести добавление узлов, фильтруя по какому то oid, что это принтер.
Сергей, как правило оиды у киосер одинаковые, нужно вычислить нужный и разработать условие после этого
Может кому-нибудь будет полезно, решил свою проблему обнаружение принтеров проверкой -
SNMPv1 агент "1.3.6.1.2.1.43.5.1.1.16.1", так как принтера в основном kyocera и ricoh, то два правила в действиях для каждого производителя, в случае kyocera - А или В
A Полученное значение содержит TASKalfa
B Полученное значение содержит FS-
Действие - Добавить в группу принтеры и присоединить шаблон принтеры kyocera,
По ricoh - А или В
A Полученное значение содержит MP
B Полученное значение содержит Aficio
По крайней мере по моим задачам 100 с лишним принтеров автоматически нашлись и добавились.
Тем кто использует вечный картридж уровень тонера без полезен. Подскажите как мониторить отсутствие бумаги или замятие?
Читайте также: