Меня попросили узнать общее количество страниц для более 100 принтеров, которые у нас есть на работе. Все они являются HP Laser или Business Jets, и подавляющее большинство из них подключаются через какую-либо сетевую карту / коммутатор HP JetDirect. После многих часов ввода IP-адресов, копирования и вставки соответствующей цифры в Excel меня теперь попросили делать это еженедельно. Это заставило меня подумать, что должен быть более простой способ, как ИТ-специалист, я, несомненно, смогу найти способ, позволяющий сэкономить время, чтобы решить эту проблему.
Достаточно сказать, что сейчас я не чувствую себя очень профессиональным после дня или около того, пытаясь заставить SNMP работать на меня!
Насколько я понимаю, первым делом нужно включить на принтере SNMP. Готово. Затем мне нужно что-нибудь для запроса бита SNMP. Я решил перейти на открытый исходный код и бесплатно, и кто-то здесь порекомендовал net-snmp как достойный инструмент (я хотел бы просто добавить принтеры в качестве узлов в SolarWinds, но, по-видимому, у нас несколько жестких лицензий). Далее мне нужно имя MIB. Для этого я считаю, что в HP-LASERJET-COMMON-MIB есть правильная информация. Загрузил это и добавил в net-snmp. Теперь мне нужен OID, который, как я считаю, после долгой чистки - это print-media-simplex-count (у нас нет дуплексных принтеров, которые нам по крайней мере интересны). Выполнение следующей команды дает следующий деморализующий вывод:
snmpget -v 2c -c public 10.168.5.1 HP-LASERJET-COMMON-MIB:.1.3.6.1.2.1.1.16.1.1.1
(OID был получен из запуска:
snmptranslate -IR -On printed-media-simplex-count
Unlinked OID in HP-LASERJET-COMMON-MIB: hp ::= { enterprises 11 }
Undefined identifier: enterprises near line 3 of C:/usr/share/snmp/mibs/HP-LASER
JET-COMMON-MIB..txt
.1.3.6.1.2.1.1.16.1.1.1 )
Unlinked OID in HP-LASERJET-COMMON-MIB: hp ::= { enterprises 11 }
Undefined identifier: enterprises near line 3 of C:/usr/share/snmp/mibs/HP-LASER
JET-COMMON-MIB..txt
HP-LASERJET-COMMON-MIB:.1.3.6.1.2.1.1.16.1.1.1:
Я полностью лаю этим не на то дерево? Моя цель состояла в том, чтобы создать сценарий для вывода в файл для всех IP-адресов принтеров, а затем отправить это в Excel, чтобы мои лорды и хозяева могли переварить на досуге. У меня такое чувство, что я использую либо неправильный MIB, либо неправильный OID из указанного MIB (или и то, и другое). Есть ли у кого-нибудь указания по этому поводу для меня? Или мне следует сдаться и вернуться к навигации по каждой веб-странице принтеров индивидуально (надеюсь, что нет).
Что ж, это довольно странно - я думал, что информация предоставляется через SNMP. Однако быстрый просмотр одного из наших P4515 показал только количество страниц, напечатанных с установленным в данный момент термоэлементом. Чтобы просмотреть всю информацию, представленную через snmp, я сделал следующее:
snmpwalk -Cc -v 1 -c public ipaddress
Если OID для распечатанных страниц на установленном в данный момент термоэлементе используется, это:
2.43.10.2.1.4.1.1
Стандартное «общее количество страниц» - 1.3.6.1.2.1.43.10.2.1.4.1.1.
Разные модели используют разные OID для деталей, таких как количество страниц, отправленных по факсу / скопированных / распечатанных / двусторонних / цветных / черных / ....
Боюсь, что я не могу помочь с MIB, но вы можете использовать PowerShell, чтобы избавиться от извлечения значений с веб-страницы на принтере. В приведенном ниже примере должна быть возможность изменить то, что вам нужно:
Perl / Python также имеют модули очистки веб-страниц, если это возможно.