Мониторинг принтеров в сети

Расскажу о простом и эффективном способе наблюдения за сетевыми принтерами в организации. Речь пойдет о настройке мониторинга за состоянием принтеров 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, обзор на которую я делал. У программы есть бесплатная версия, можно ознакомиться и оценить результат.

Все современные сетевые принтеры могут многое о себе рассказать с помощью протокола SNMP. Если в вашей организации используется больше одного такого принтера, то очень удобно становится использовать средства сетевого мониторинга для них. Однако из-за сложности большинства таких программ и работы их с большим количеством параметров наблюдение за принтерами может показаться неинтересным:-)

SNMP Discovery умеет опрашивать по сети сетевые принтеры и красиво отображать информацию по ним в режиме online. Для работы с программой можно вообще ничего не знать об устройстве сети. Программа сама найдет ваши принтеры и сама покажет по ним нужную информацию. Если окажется, что некоторые из ваших принтеров отсутствуют в базе программы, то она сама подготовит и предложит отправить информацию, необходимую для их добавления, разработчикам. Программа обучаема, и, помимо добавления новых моделей оборудования, можно научить ее получать с принтеров те параметры, которые нужны именно Вам.

Возможности SNMP Discovery:

  • поддержка оборудования любых производителей;
  • удобство в использовании – не требуется знание протокола SNMP;
  • автоматическое сканирование сети и обнаружение устройств с поддержкой SNMP;
  • считывание по протоколу SNMP с сетевых принтеров различной информации (серийные номера, MAC-адреса, версии firmware, текущий запас тонера/чернил, текущий статус принтера, текущий статус печати);
  • считывание полного дампа запросов и ответов с одного или нескольких сетевых устройств по SNMP и сохранение в текстовый файл;
  • наблюдение за состоянием сетевых принтеров в реальном времени;
  • автоматическое определение кодировок;
  • отображение в одном окне всей получаемой информации;
  • отображении информации о запасе ресурсов принтеров в удобном графическом виде;
  • представление устройств в виде фотографий реального оборудования;
  • отчет по любому принтеру с графиками изменения запасов тонера/чернил;
  • удобное открытие web-интерфейса любого устройства из окна программы;
  • экспорт/импорт информации о моделях оборудования в формате XML;
  • возможность самостоятельно расширять базу моделей, в том числе с помощью мастера;
  • оперативное добавление новых моделей разработчиками.
Читайте также:  Мини вентиляторы для компьютера

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

Программа обладает удобным инсталлятором. Перед установкой прочитайте readme.txt, там инструкция по установке и настройке.

Возможна работа только с устройствами, подключенными непосредственно к сети (через встроенный принт-сервер). Работа через внешний принт-сервер не поддерживается.

Пока программа ориентирована только на принтеры, но в дальнейшем будет добавляться поддержка и других сетевых устройств: коммутаторов, маршрутизаторов, ИБП.

Программа распространяется бесплатно.

И самое главное, – Вы можете предложить новые возможности. Все обсуждаемо на форуме, разработка идет ежедневно, полезные предложения учитываются и оперативно добавляются в программу.

В сети много инструкций как установить сервер мониторинга 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, принтер окрасился в красный цвет:

“>

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

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

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

Adblock detector