Мониторинг принтеров hp zabbix

Долго искал шаблоны для мониторинга принтеров с помощью zabbix. Интересовал мониторинг расходных материалов, когда заменил и когда закончится картридж. После долгих поисков нашел два шаблона, что бы не потерять их, решил выложить тут.

Шаблон zabbix для принтеров Canon — Canon_color_MF_templates

Шаблон zabbix для принтеров HP — HP_colorlaserjet_templates

Оба шаблона поддерживают цветные принтеры, проверял на версии zabbix 3.4

Похожие записи:

Добавить комментарий Отменить ответ

Нажимая кнопку Отправить комментарий Я даю согласие на обработку персональных данных.

Расскажу о простом и эффективном способе наблюдения за сетевыми принтерами в организации. Речь пойдет о настройке мониторинга за состоянием принтеров HP, Kyocera, Brother через snmp с помощью Zabbix. Собирать буду значения напечатанных страниц за все время, состояние тонера, название картриджа и серийный номер принтера.

Введение

Практически все современные принтеры умеют отдавать данные о своем состоянии через протокол snmp. Система мониторинга Zabbix позволяет без проблем собирать эти данные, хранить, настраивать оповещения на различные события. В своем примере я буду отправлять уведомление, если уровень тонера в картридже будет опускаться ниже 10%.

Казалось бы актуальный запрос, но в сети я не нашел готового решения по этой теме. Есть всякие обсуждения, просьбы о помощи с настройкой, решения проблем. Но вот так, чтобы все было в одном месте мне не попалось. Постараюсь восполнить этот пробел. Самая большая проблема здесь — найти актуальные MIB и OID для собираемых значений. Если выполнить сбор всех доступных метрик по snmp, к примеру, с принтера HP, вы получите более 1000 различных метрик! Найти в этом то, что вам действительно нужно непростая задача. Я расскажу о тех метриках, что интересовали меня. Значения этих OID я узнал.

Я буду собирать следующие метрики:

  • Сколько принтер напечатал всего страниц за свою жизнь.
  • Максимальное количество страниц, которые принтер напечатает на текущем картридже.
  • Количество страниц, которые принтер уже напечатал на текущем картридже.
  • Модель картриджа.
  • Серийный номер принтера.

Если у вас еще нет своего сервера для мониторинга, то рекомендую материалы на эту тему. Для тех, кто предпочитает систему CentOS:

То же самое на Debian 10, если предпочитаете его:

Приступаем к настройке.

Поиск необходимых OID

Для начала возьмем какой-нибудь принтер и посмотрим, что он нам будет отдавать по snmp. Я для примера возьму принтер HP LaserJet Pro MFP M426fdn (ip адрес 192.168.88.20). По-умолчанию у принтеров HP разрешен просмотр параметров по snmp.

Идем в консоль linux и посмотрим с помощью snmpwalk метрики принтера по snmp. Для этого установим необходимый пакет.

Теперь посмотрим метрики принтера:

В консоль вылетит целая куча строк, которые неудобно просматривать. Направим вывод в текстовый файл и внимательно посмотрим на него.

Читайте также:  Метод и функция в чем разница

Я вас томить не буду, а сразу укажу на строки, которые нас интересуют:

SNMPv2-SMI::mib-2.43.10.2.1.4.1.1 = Counter32: 8909
Всего напечатано страниц
SNMPv2-SMI::mib-2.43.11.1.1.6.1.1 = STRING: «Black Cartridge HP CF226X» Название картриджа
SNMPv2-SMI::mib-2.43.5.1.1.17.1 = STRING: «PHB8K3H0P1» Серийный номер
SNMPv2-SMI::mib-2.43.11.1.1.9.1.1 = INTEGER: 85 Уровень тонера

Возможно, вас еще заинтересует параметр mib-2.43.5.1.1.16.1 — название принтера. Мне лично это не нужно, но если все выводить в сводную таблицу, то может пригодиться. Так же обращаю внимание на параметр mib-2.43.11.1.1.8.1.1. Обычно он показывает максимальное число страниц, которые можно напечатать с текущего картриджа.

Мне приходилось сталкиваться с двумя различными ситуациями в показаниях уровня тонера:

  1. Уровень тонера выводится сразу в % в 2.43.11.1.1.9.1.1. Параметр максимального числа страниц с текущего картриджа указан как 100% в 2.43.11.1.1.8.1.1.
  2. Уровень тонера в 2.43.11.1.1.9.1.1 показывает количество напечатанных страниц с текущего картриджа. Второй параметр 2.43.11.1.1.8.1.1 показывает максимальное количество страниц, которое может быть напечатано текущим картриджем. Тогда уровень тонера в % нужно считать по формуле 100-100*(mib-2.43.11.1.1.9.1.1)/(mib-2.43.11.1.1.8.1.1).

Первая ситуация мне попалась в принтерах HP, вторая в Kyocera и Brother. Из-за этого пришлось сделать 3 разных шаблона под каждого производителя принтеров. Все остальные параметры у них совпали.

В принтерах Brother mib об уровне тонера были немного другие, такие же как у HP и Kyocera, но отличались на последнюю цифру — 2.43.11.1.1.8.1.2 и 2.43.11.1.1.9.1.2 соответственно. Я не знаю, с чем это связано, но видел подобную ситуацию у других людей. Кто-то из-за этого создавал правила автообнаружения, чтобы точно вычислить последнюю цифру. Мне не пришлось этого делать. Достаточно было создать разные шаблоны для каждого производителя. Все принтеры попали в эти шаблоны на 100%.

Отдельная история с цветными принтерами. Там несколько картриджей и надо внимательно смотреть на их номера. Но тоже не сложно, просто смещение будет на одну единицу, все картриджи будут идти по порядку.

Настройка мониторинга принтеров по snmp

На самом сервере мониторинга настраивать особо нечего. Вам достаточно будет взять мои готовые шаблоны, убедиться что MIB и OID совпадают с вашими принтерами и добавить сами принтеры в мониторинг, не забыв указать у них snmp интерфейс.

Вот пример одного элемента для шаблона принтеров HP.

А вот пример вычисляемого значения уровня тонера для шаблона Kyocera.

Пример триггера, который присутствует во всех шаблонах.

Всю информацию о принтерах можно вывести на Dashboard примерно в таком виде:

Интервалы опроса итемов в шаблонах:

  • Всего напечатано страниц – 1 час
  • Напечатано на текущем тонере – 10 мин
  • Объем тонера – 10 мин
  • Уровень тонера – 10 мин
  • Название картриджа – 1 день
  • Серийный номер – 1 день

На момент отладки рекомендую поставить эти значения 1 минута.

Для элемента данных «Уровень тонера» указан тип данных «Числовой», чтобы работал триггер и сравнивал значение. Если у вас какие-то ошибки с тонером, например из-за того, что не новый использовали, а заправляли старый, то значение будет приходить -2 или -3 с типом «Строка». Итем станет неактивным с ошибкой:

Читайте также:  Может ли дискриминант быть отрицательным числом

С этим уже ничего не поделать. Можете сделать для таких принтеров отдельный шаблон и изменить тип итема с числового на строковый. Так вы хотя бы будете получать значение -2, а не ошибку итема.

На этом у меня все по данной теме. Добавляйте шаблоны, проверяйте и пользуйтесь.

Заключение

Такое простое решение, которое на деле оказалось очень полезным. Настраивается быстро, вывод информации наглядный. Возможно есть еще какие-то любопытные и полезные значения, которые можно брать по snmp. Мне просто в голову больше ничего не пришло. Может там есть что-то, что подскажет или намекнет на предстоящий ремонт. Например, ресурс печки или еще какого-нибудь элемента. На МФУ я видел информацию о сканированных страницах, о количестве сделанных копий. Я не придумал, зачем это может быть полезно. Если есть замечания и рекомендации по этой части, прошу делиться в комментариях.

Если у вас нет желания или возможности настраивать мониторинг принтеров самому, можно воспользоваться готовой программой не только для мониторинга, но и учета печатающей техники со всеми расходниками к ней. Речь идет о программе PrintStore, обзор на которую я делал. У программы есть бесплатная версия, можно ознакомиться и оценить результат.

Привет Хабр!

Вот с такого, казалось бы, незамысловатого устройства фирмы Kyocera, мне захотелось получать различную статистику по использованию принтера и сканера. Казалось бы, всё просто: берём SNMP и получаем, но.

Убедившись, что наше устройство что-то отдаёт по SNMP, я отправился в гугл, дабы найти MIB для нашего аппарата. Однако, удалось найти информацию лишь о том, что его нет. Не хочет Kyocera делиться такой информацией, по каким то причинам. Естественно, приходит на ум мысль о слегка рутинном поиске необходимых значений самостоятельно. Алгоритм не самый сложный — snmpwalk, печать, snmpwalk, diff.
Вот что нашлось:

# snmpwalk -v 2c -c public 192.168.101.239
iso.3.6.1.2.1.43.10.2.1.4.1.1 = Counter32: 242

И тут первая странность: значение несколько отличается от указанного в web панельке самого устройства (и в меню принтера):

Поиск в SNMP-выдаче цифр, хоть как-то похожих на то, что написано в web панельке девайса не дали ни малейшего результата. Попытки поймать изменение какого-либо счётчика, например, сканирования, провалились. Ничего не менялось. Появилось лёгкое подозрение, что необходимых данных через SNMP просто не получить.
Но если значения есть, значит это кому-нибудь нужно! Оказывается, у Kyocera есть своё собственное ПО для мониторинга и управления их устройствами — KYOCERA Net Viewer.
Заполните анкетку, введите емейл, получите письмо с одноразовой ссылкой… Знать бы, зачем такие сложности, ну да ладно.
Программа достаточно проста и показывает нам те же цифры, что и в web мордочке. А если она их как то получает, значит и мы можем.
Первым на ум мне пришёл комбаин Wireshark, вот им я и воспользуюсь.

Читайте также:  Мой эпл айди войти

И тут странность номер два: кроме обмена SNMP трафиком у нас тут есть и HTTP!

Дальнейшее расследование приводит нам с к тому, что принтер и ПО общаются XML’ками через SOAP.
Принцип предельно простой: POST запросом на принтер отправляется специальная XML, содержащая запрос. В нашем случае запросом является «ALL_COUNTER», то есть мы желаем получить все счётчики. Принтер может в ответ прислать показания счётчиков или сообщение «DEEP_SLEEP_NOW_ERROR», что понятно из без перевода. Будить принтер как-то по особенному совсем не надо. Он уже проснулся от нашего запроса, просто посылаем запрос ещё раз и получаем XML со счётчиками.
Все значения указаны в виде число . Делаем небольшой парсер и получаем скрипт (mirror), выдающий нам необходимые цифры в удобном виде.

Для M2535dn мне были интересны следующие счётчики:

  • accounting_print_black_and_white_copy_counter: Колличество ч/б страниц, напечатанных с использованием копировального аппарата
  • accounting_print_black_and_white_printer_counter: Колличество ч/б страниц, напечатанных с использованием принтера
  • accounting_print_combine_none_counter: Общий счётчик напечатанных страниц
  • accounting_scan_copy_counter: Колличество страниц, отсканированных с использованием копира
  • accounting_scan_other_counter: Колличество прочих отсканированных страниц ( на флешку, в сеть и пр.)
  • device_life_counter: (?) Общий счётчик напечатанных страниц за всю жизнь устройства

Разница показаний счётчиков accounting_scan_copy_counter и accounting_print_black_and_white_copy_counter объясняется просто: было сделано 2 копии одного оригинала. Со сканера в копир отправилась одна страничка, а принтер из копира распечатал две. Помимо этих счётчиков можно получить ещё много чего интересного: количество напечатаных а4, а5, letter и пр. страниц, количество страниц, распечатанных с использованием дуплекса, копированных в режимах 2в1 и 4в1, для цветных устройств можно получать количество ц/б и цветных копий отдельно. Счётчик device_life_counter принтер отдаёт нам по SNMP, но ни в веб интерфейсе, ни в специальном ПО это значение не отображается. Я не очень понял значение этого параметра. Вчера он отличался от общего счётчика на 3, сегодня уже на 8. Жду ваших идей в комментариях.

Zabbix

Теперь необходимо подключить это к нашему мониторингу в Zabbix. Мы будем использовать внешнюю проверку. Скрипт необходимо положить в директорию ExternalScripts, дать права на выполнение и немного увеличить таймаут для запускаемых скриптов, по умолчанию он равен 3s:

# cat /etc/zabbix/zabbix_server.conf | grep Timeout | grep -v ^#
Timeout=10

Теперь осталось сообразить новый шаблон и наполнить его элементами данных:

Шаблон для Zabbix (Настройки → Шаблоны → Импорт): тыц и зеркало.

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

“>

Читайте также:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock detector