Eugeneer’s Media Cloud World

Eugeneer's Media Cloud World Хостинг

Introduction

The biggest problem here is finding the actual MIB and OID for the values being collected. If you collect all available metrics on snmp, for example, from an HP printer, you will get over 1000 different metrics! Find in it what you really need is not easy. I will talk about the metrics that interested me. The values of these OIDs I found out.

  • How many printers printed total pages.
  • The maximum number of pages that the printer prints on the current cartridge.
  • The number of pages that the printer has already printed on the current cartridge.
  • Cartridge model.
  • The serial number of the printer.

Getting Started. If you do not have your own monitoring server, I recommend post on this site – install and configure zabbix.

Введение

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

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

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

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

Установка и настройка zabbix сервера.

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

Установка и настройка zabbix на debian.

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

В мониторинге принтеров с помощью Zabbix главное не столько чтобы принтер был на связи  сколько знать сколько было бумаги отпечатано на каждом из них или в каком состоянии картридж. Из коробки в Zabbix-е таких метрик нет, поэтому умельцы их создают сами.

Мне позавчера попался, в первом приближении поиска, шаблон Template Printer Xerox  который я успешно протестировал на версиях Zabbix 3.4.11 и 4.4.6.

Его внедрение требует выполнения следующих пунктов:

1. Проверяем что у нас установлены компоненты perl, snmp:

#sudo apt-get install libnet-snmp-perl

Перезапускаем сервер zabbix:

#sudo service zabbix-server restart

2. Копируем prtMarkers_discovery.pl на сервер zabbix в папку со внешними скриптами zabbix (в настройках сервера параметр ExternalScripts )

3. Правим права и владельца prtMarkers_discovery.pl чтобы zabbix мог запускать его.

4. Пробуем запускать скрипт так:

prtMarkers_discovery1.pl ip.printera 161 public

Вывод должен быть почти таким:

Если будут ошибки — работаем над их исправлением.

Если все ок, то еще раз перезапускаем сервер zabbix:

#sudo service zabbix-server restart.

5. Создаем 2 преобразования значений (данные берем из файла value mapping.txt)

6. Если опорный шаблон Template SNMP Generic отсутствует (зависит от версии zabbix) — импортируем его также.

7. Импортируем шаблон Template Printer Xerox.

8. Заводим узлы сети (принтеры) и подключаем к ним шаблон Template Printer Xerox. В макросах шаблона уже содержатся SNMP порт 161-й и community «public», но если используются нестандартные значения — их нужно переопределить в макросах узла сети.

9. В первое время могут быть ошибки связанные с тем, что некоторые элементы данных рассчитываются на основе других элементов, значения которых еще не получены.

Все выше сказанное перечитано у пользователя faddist88.

Что хотелось бы добавить? Некоторые принтера поддерживают только 1-ю версию SNMP. Поэтому необходимо править тип агента в шаблоне Template SNMP Generic на SNMPv1 или создавать копию шаблона.

Template Printer Xerox успешно работает для принтеров Xerox, Canon и HP. Для других брендов проверять не было необходимости.

Обязательно отслеживайте принтер как по SNMP, так и доступность по ICMP. Дело в том что узел может быть доступен, но перестать отдавать данные по SNMP в случаях:

Читайте также:  Обзор хостинга 2021 года: найдите идеальный веб-хостинг для вашего сайта

— перегружен CPU узла и он просто не успевает отвечать на SNMP-запросы;

— админ поменял SNMP сommunity для другой задачи (не все принтера поддерживают множественные сommunity);

— на фаерволле между сервером Zabbix и опрашиваемым устройством заблокировали трафик по порту 161 согласно последним требованиям инфобеза.

На сегодня все.

Мониторинг принтеров — дело благородное

Eugeneer's Media Cloud World

В этом посте расскажем о нашем опыте мониторинга принтеров в Zabbix, ведение реестра по ним в CMDB (iTop) и визуализации статусов в Grafana. Со всеми тремя продуктами мы успешно работаем и имеем опыт внедрения в малых и средних организациях.

Такая тема поста выбрана не случайно. Непрерывная работа печатающей техники, действительно, сказывается на производительности бизнес-процессов в организациях и положительном отношении пользователей к ИТ-службе. А положительное отношение — своего рода благородство.

Наш стандартный подход — использование конгломерата из трёх решений: Zabbix, iTop и Grafana.

Принтеры обычно рассредоточены по офисам, этажам и кабинетам. После разработки (или доработки) шаблонов по каждому устройству, для каждой такой локации мы создаём группы в Zabbix и добавляем туда заведённые в мониторинг устройства. Система позволяет создавать квазивложенные группы с устройствами, поэтому мы можем создавать группы по следующим форматам:

Подобная группировка упорядочивает устройства и создаёт агрегирующие статусы для групп устройств. Агрегирующие статусы нужны для визуализации каждой локации в Grafana.

Eugeneer's Media Cloud World

Обычный способ сбора метрик — это SNMP, но в некоторых случаях приходится собирать syslog. Для сбора syslog можем использовать Elasticsearch. Если принтер подключён к рабочей станции или серверу напрямую, данные по нему можно забирать из счётчиков производительности (Performance Counters) Windows. Zabbix позволяет выполнять низкоуровневое обнаружение (Low-level Discovery или LLD) таких счетчиков производительности, поэтому, если вдруг кто-то из пользователей решит подключить принтер к своему устройству, он через некоторое время автоматически появится в Zabbix.

Визуализация

Для визуализации, аналогичную структуру вложенности создаём в Grafana. Вот, к примеру, на скриншоте ниже, 4 этажа, которые мы описали в группах Zabbix. Таким образом, каждой плитке, по каждому этажу, присваивается агрегированный статус объектов, которые находятся в нём. Кликнув на плитке мы переходим на уровень ниже.

Eugeneer's Media Cloud World

После клика на плитку «Этаж 25» переходим на уровень ниже и видим три принтера на этаже. На одном из них («Принтер 2») какая-то проблема. Под самими принтерами представление с событиями по ним. Перейдём ещё на уровень ниже, кликнув на «Принтер 2».

Eugeneer's Media Cloud World

Eugeneer's Media Cloud World

В Grafana можно создавать также динамические представления. Например, чтобы выводил список принтеров в отдельной локации в зависимости от того, какие принтеры добавлены в определённую группу в Zabbix.

Для создания CMDB мы используем iTop. Если кто не знает, это бесплатный инструмент для управления инцидентами, конфигурациями и запросами. Нас сейчас интересуют конфигурации. Начнём с расположений. Все используемые в Grafana расположения мы заводим в iTop. Посмотрите их в списке расположений. Для каждого уровня создано своё расположение. Не все же принтеры находятся в кабинетах, некоторые ютятся на этажах.

Eugeneer's Media Cloud World

Eugeneer's Media Cloud World

Eugeneer's Media Cloud World

Eugeneer's Media Cloud World

Это всё, что мы хотели рассказать о мониторинге принтеров. Если наш подход заинтересовал, вы можете нам позвонить или оставить заявку в форме обратной связи.

Вы получите поддержку экспертного уровня: в нашем штате работают инженеры с сертификатами уровня Zabbix Certified Specialist и Zabbix Certified Professional по актуальной версии Zabbix 5.0.

Читайте статьи в нашем корпоративном блоге на Хабре:

Мониторинг принтеров HP, Kyocera, Brother через snmp в zabbix

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

  • 1 Введение
  • 2 Поиск необходимых OID
  • 3 Настройка мониторинга принтеров по snmp
  • 4 Заключение

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

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

Eugeneer's Media Cloud World

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

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

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

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

Читайте также:  Освоение CentOS Docker: пошаговое руководство для начинающих

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

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

  • Уровень тонера выводится сразу в % в 2.43.11.1.1.9.1.1. Параметр максимального числа страниц с текущего картриджа указан как 100% в 2.43.11.1.1.8.1.1.
  • Уровень тонера в 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

Eugeneer's Media Cloud World

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

Printer_HP.xml Printer_Kyocera.xml Printer_Brother.xml

Eugeneer's Media Cloud World

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

Eugeneer's Media Cloud World

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

Eugeneer's Media Cloud World

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

Eugeneer's Media Cloud World

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

Eugeneer's Media Cloud World

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

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

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

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

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

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

Заключение

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

Monitoring printers HP, Kyocera, Brother via snmp with zabbix

I’ll tell you about a simple and effective way to monitor network printers in an organization. It will be about setting up monitoring of the status of printers HP, Kyocera, Brother through snmp with Zabbix. I will collect the values of the printed pages for all time, the state of the toner, the name of the cartridge and the serial number of the printer.

Configuring printer monitoring by snmp

There is nothing to configure on the monitoring server. It will be enough for you to take my templates, make sure that the MIB and OID match with your printers and add the printers to monitoring, not forgetting to specify the snmp interface from them.

Читайте также:  Раскройте потенциал: максимизация файлов программы C и 1cv8 srvinfo reg 1541

Eugeneer's Media Cloud World

Here is an example of one item for an HP printer template.

Eugeneer's Media Cloud World

And here is an example of a calculated toner level value for the Kyocera template.

Eugeneer's Media Cloud World

An example of a trigger that is in all templates.

Eugeneer's Media Cloud World

Eugeneer's Media Cloud World

Interval updates items in template:

  • Total pages printed – 1 hour
  • Printed with toner – 10 min
  • Toner capacity – 10 min
  • Toner level – 10 min
  • Cartridge name – 1 day
  • Serial number – 1 day

When debugging, I recommend setting these values to 1 minute.

For the Toner Level data item, the Numeric data type is specified so that the trigger works and compares the value. If you have any errors with toner, the value will be -2 or -3 with the type “String”. The item will become inactive with an error.

There’s nothing you can do about it. You can make a separate template for such printers and change the item type from numeric to string. So at least you will get a value of -2, and not an error item.

At this I have everything on this topic. Add templates, check and use.

Search required OID

To begin with, let’s take some printer and see what it will give us with snmp. For example, I’ll take the HP LaserJet Pro MFP M426fdn printer (ip address 192.168.88.20). By default, HP printers are allowed to view parameters on snmp.

Eugeneer's Media Cloud World

Go to the linux console and see with the snmpwalk printer metrics on snmp. To do this, install the necessary package.

Now let’s look at printer metrics:

You can see a lot of lines with data. Send the output to a text file and look at it.

I will immediately point out the lines that interest us:

You may still be interested in the parameter mib-2.43.5.1.1.16.1 – the name of the printer. I personally do not need it, but if everything is displayed in a overall table, it can be useful. Just pay attention to the parameter mib-2.43.11.1.1.8.1.1. It usually shows the maximum number of pages that can be printed from the current cartridge.

I had to deal with two different situations in the toner level readings:

  • The toner level is displayed immediately in % in 2.43.11.1.1.9.1.1. The parameter for the maximum number of pages from the current cartridge is listed as 100% in 2.43.11.1.1.8.1.1.
  • The toner level in 2.43.11.1.1.9.1.1 indicates the number of printed pages from the current cartridge. The second parameter 2.43.11.1.1.8.1.1 indicates the maximum number of pages that can be printed with the current cartridge. Then the level of toner in % should be calculated using the formula 100-100 * (mib-2.43.11.1.1.9.1.1) / (mib-2.43.11.1.1.8.1.1).

The first situation came to me in HP printers, the second in Kyocera and Brother. Because of this, I had to make 3 different templates for each manufacturer of printers. All other parameters they have coincided.

In Brother mib printers, the toner level was different, the same as those of HP and Kyocera, but differed by the last digit – 2.43.11.1.1.8.1.2 and 2.43.11.1.1.9.1.2, respectively. I do not know why it is so, but I have seen a similar situation with other people. Because of this, someone created autodiscovery rules to calculate the last digit. I did not have to do this. It was enough to create different templates for each manufacturer. All printers are 100% included in these templates.

Another story with color printers. There are several cartridges and you need to carefully look at their numbers. Also not difficult, just the offset will be one unit, all cartridges will go in order.

Conclusions

Such a simple and useful solution. It is configured quickly, the display of information is useful. Perhaps there are some more interesting and useful values ​​that you can take with snmp. Maybe there is something that tells or hints at the upcoming repair. For example, resource oven or even some element. On the MFP, I saw information about the scanned pages, the number of copies made. I do not know what could be useful. If there are comments and recommendations, please write in the comments.

Оцените статью
Хостинги