Моніторинг друку HP LaserJet MFP M141w через SNMPv3 та Zabbix



Вступ

Я використовую багатофункціональний пристрій (БФП) HP LaserJet MFP M141w. Цей пристрій досить зручний для домашнього використання завдяки своїм компактним розмірам — його можна легко розмістити на тумбочці або на столі, де він займатиме мінімум місця порівняно з іншими моделями.

Нещодавно мені довелося багато друкувати, і я зацікавився, чи можна отримати звіт про використані ресурси. Базової інформації в додатку HP Smart не вистачає. Застосунок рекомендує перейти до розширених налаштувань:

«Ця функція недоступна для вибраного принтера. Щоб надрукувати звіти або переглянути інформацію про принтер, відкрийте Розширені налаштування або скористайтеся панеллю керування принтером».

Окей, спробуємо переглянути звіт через веб-інтерфейс принтера — для цього потрібна авторизація.

Порада: код (пароль) знаходиться під кришкою принтера, збоку, поруч із картриджем.

Звіт про використання

На головній сторінці, у вкладці Home, потрібно вибрати меню Supplies Status — там відображається загальна інформація про стан картриджа:

  • Status: Low
  • Approximate Pages Remaining: < 50
  • Pages Printed With This Supply: 376
  • Serial Number: 0100733310-2I29
  • Last Used Date: 20250428

Однак мені хочеться регулярно й автоматично моніторити використання ресурсу. У цьому допоможе Zabbix — система моніторингу ресурсів. Цей принтер підтримує сучасну версію SNMP – v3, тому потрібно налаштувати параметри на обох сторонах: HP і сервер Zabbix.

Налаштування SNMP на МФП

В розділі Networking вибрати SNMP. У вікні поставити галочку в пункті Disable SNMPv1/v2, щоб цей протокол відключити в цілому. Натомість поставити галочку в розділі SNMPv3 – Enable SNMPv3 та заповнити поля відповідно до їх призначення. Тут нема фіксованої інформації, ви можете надавати будь які паролі та логіни та імена користувача, важливо щоб вони потім в такому ж вигляді були внесені на сереврі заббікс.

Натискаємо кнопку Apply щоб дії вступили в силу.

Перевірка налаштувань SNMP

Щоб перевірити доступність Hewlett-Packard для Zabix, потрібно використовувати програми snmpget та snmpwalk. Встановіть їх одним пакетом. Виконайте наступну команду на сервері, де встановлено Zabix. У моєму випадку це все ще мій Raspberry Pi.

sudo apt-get install snmp

F після встановлення утиліти запустити вже саму команду:

snmpget -v3 -u ostrich -l authPriv \
  -a SHA1 -A <Your Authentication Protocol password> \
  -x AES-128 -X <Your Privacy Protocol password> \
  -n Jetdirect \
  192.168.99.216 .1.3.6.1.2.1.43.10.2.1.4.1.1

Результатом виконання цієї команди повинен бути схожий рядок:

iso.3.6.1.2.1.43.10.2.1.4.1.1 = Counter32: 687

Цей параметр називається prtMarkerLifeCount – його значення це кількість надрукованих аркушів за весь час роботи принтера, і в моєму випадку це 687 аркушів.

Створення нового Host у Zabbix

Щоб відстежувати активність, вам потрібно створити новий хост у Zabbix. Виконайте такі кроки:

  • Перейдіть Data collection меню
  • Виберіть Hosts підменю
  • Натисніть Create host кнопку

На вкладці Host заповніть наступну інформацію:

  • Host name: HP M141w
  • Host groups: вибрати із списку
  • Interfaces: вибрати SNMP та ввести IP адресу принтера, а порт 161 залишити без змін.

Цієї інформації для хоста недостатньо, адже коли він буде звертатися до принтера, йому необхідно буде пройти авторизацію. Параметри авторизації вносяться на вкладці Macros, як значення – параметр.

  • {$SNMPV3_CONTEXTNAME} – Jetdirect
  • {$SNMPV3_SECURITYNAME} – ostrich
  • {$SNMPV3_AUTH_PROTOCOL} – SHA1
  • {$SNMPV3_AUTH_PASSPHRASE} – <Your Authentication Protocol password>
  • {$SNMPV3_PRIV_PROTOCOL} – AES-128
  • {$SNMPV3_PRIV_PASSPHRASE} – <Your Privacy Protocol password>
  • {$SNMPV3_SECURITYLEVEL} – authPriv

Це виглядає так, як на скріншоті

Оскільки значення вже прописані, то можна повернутися на вкладку хоста і розкрити значення SNMP, в якому вибрати із списку SNMPv3. Миттєво відобразяться додаткові поля, які треба заповнити значеннями macro щоб на пряму не писати значення паролів.

Після збереження або оновлення інформації, в рядку хоста, в колонці Availability буде зелене значення SNMP, що свідчить про правильні налаштування заббікса.

Створення нового айтема для хосту HP M141w

Необхідно в розділі хостів клацнути на посилання items і створити новий айтемс. У з’явившомуся вікні треба ввести наступні дані:

  • Name: Printer Usage
  • Type: SNMP agent
  • Key: page.count.total
  • Host interface: should already be available
  • SNMP OID: .1.3.6.1.2.1.43.10.2.1.4.1.1
  • Units: pages

Після цього треба протестувати цей айтемс на очікуваний результат. Клацаємо на кнопку Test? всі необхідні значення підставляються з макроса автоматично, тому результат ми маємо очікуваний

Це означає, що щохвилини буде відбуватися запит щодо загальної кількості надрукованих сторінок, проте мета інша – отримувати значення, скільки і коли було надруковано аркушів. Таку функцію можна реалізувати через Preprocessing steps айтемса, як вираз чи умову.

Тож треба створити другий айтем на основі першого.

  • Name: Printed pages
  • Type: SNMP agent
  • SNMP OID: iso.3.6.1.2.1.43.10.2.1.4.1.1
  • Key: pagesPrinted.delta
  • Type of information: Numeric (unsigned)
  • Units: pages

Проте внести додатову зміну на вкладці Preprocessing

  • клацнути add
  • із випадаючого списку вибрати Simple change
  • та протестувати результат

Результат має бути 0 (нуль), оскільки між попередніми та поточними значеннями немає змін. Коли ви почнете друк, ви побачите різницю між старим та новим загальним значенням – це буде результат роздрукованих сторінок на поточний час, який буде фіксуватися на графіку.

Додавання віджетів до Dashboard

Я додав три віджети:

  • Graph – використовує Printed pages айтем
  • Item value – використовує Printed pages айтем
  • Item value – використовує Printer Usage айтем

Як фінальний результат в мене вийшло доволі привабливо організувати блок моніторингу друку принтера на дашборді.

Висновок

Моніторинг друку через Zabbix + SNMPv3 – це надійний спосіб відстеження роботи принтера у домашній або офісній мережі. Модель HP M141w підтримує сучасний протокол SNMPv3, який забезпечує безпечну передачу даних. Завдяки налаштуванню макросів і елементів даних у Zabbix, можна автоматизувати збір статистики друку та виводити зручні звіти – наприклад, кількість надрукованих сторінок за день, тиждень або місяць. Такий підхід корисний як для контролю витрат паперу, так і для аналізу навантаження на принтер.