Блог Галс Софтвэр

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

2020-03-24 09:05 Мониторинг iTop Zabbix CMDB Grafana



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

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

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

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

0 Принтеры
1 Принтеры → Москва-Центральный офис
1.1 Принтеры → Москва-Центральный офис → Этаж 25
1.2 Принтеры → Москва-Центральный офис → Этаж 26
1.3 Принтеры → Москва-Центральный офис → Этаж 27
1.4 Принтеры → Москва-Центральный офис → Этаж 28
1.1.1 Принтеры → Москва-Центральный офис → Этаж 25 → Кабинет 2507
1.1.2 Принтеры → Москва-Центральный офис → Этаж 25 → Кабинет 2508
1.1.3 Принтеры → Москва-Центральный офис → Этаж 25 → Кабинет 2509
1.2.1 Принтеры → Москва-Центральный офис → Этаж 26 → Кабинет 2607
1.2.2 Принтеры → Москва-Центральный офис → Этаж 26 → Кабинет 2608
1.2.3 Принтеры → Москва-Центральный офис → Этаж 26 → Кабинет 2609
2 Принтеры → Сургут-филиал
2.1 Принтеры → Сургут-филиал → Этаж 2
… и так далее.


Мониторинг


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


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


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


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


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

На уровне представления с конкретным принтером видим, что проблема в заканчивающемся тонере. Если прокрутить ниже там тоже будут события.


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


CMDB


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


Используя фильтр по расположению принтера мы можем обнаружить список всех принтеров в этой локации. Кстати, на это представлении также можно перейти из Grafana, кликнув там по ссылке в верхнем меню.


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



Таким подходом мы можем обеспечить мониторинг и учёт принтеров на полностью бесплатном ПО. Конечно, в CMDB можно также хранить и другие активы. В некоторых ситуациях заказчики просят также об отчётности по недоступности принтеров. Помимо стандартного SLA в Zabbix, эта задача может быть решена в Elastic Stack. Для этого в Kibana создан специальный дашборд с фильтром по локациям, чтобы увидеть самые проблемные и озадачить этим ответственных сотрудников.



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

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

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

Zabbix под замком: включаем опции безопасности компонентов Zabbix для доступа изнутри и снаружи

Добавляем CMDB и географическую карту к Zabbix

Низкоуровневое обнаружение (LLD) в Zabbix через SQL-запросы