Главная

Sunday, 21 June 2020

Мониторинг принтера в Zabbix.

Всем привет.

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

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

Его внедрение требует выполнения следующих пунктов:
1. Проверяем что у нас установлены компоненты perl, snmp: 
#sudo apt-get install libnet-snmp-perl 
Скачиваем MIBs:
#sudo download-mibs
Перезапускаем сервер 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
где ip.printera это IP-адрес вашего принтера.

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

{"data":[{"{#MARKER_INDEX}":"6","{#MARKER_DESCR}":"Сборник отраб. тонера, WorkCentre 6605DN, PN#108R01124","{#MARKER_TAGS}":",Сборник отраб. тонера, WorkCentre 6605DN, PN#108R01124,Type:4,"}]}

Если будут ошибки - работаем над их исправлением. 
Если все ок, то еще раз перезапускаем сервер 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 в случаях:
- перегружен CPU узла и он просто не успевает отвечать на SNMP-запросы;
- админ поменял SNMP сommunity для другой задачи (не все принтера поддерживают множественные сommunity);
- на фаерволле между сервером Zabbix и опрашиваемым устройством заблокировали трафик по порту 161 согласно последним требованиям инфобеза.

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

2 comments:

  1. Решил не делать отдельный пост, а просто дописать сюда.
    Что надо сделать на всех сетевых принтерах фирмы?
    Поменять Admin password default.
    Поменять SNMP community default.
    Отключить WiFi и USB.
    Включить SMTP alerts.
    Включить IP access list.
    Включить доступ по HTTPS против HTTP.
    Включить LDAP authentification.
    Включить перенаправление лога на сервер Syslog.
    Разумеется наличие таких фишек зависит от модели принтера.

    ReplyDelete
  2. Для CentOS проверка >perl -e "use Net::SNMP"

    Если ругнулось то ставим так:
    cd /etc/yum.repos.d/
    wget https://download.opensuse.org/repositories/home:csbuild:Perl/CentOS_7/home:csbuild:Perl.repo
    sudo yum install perl-Net-SNMP

    либо

    sudo yum install epel-release
    sudo yum --enablerepo=PowerTools,epel install perl-Net-SNMP

    ReplyDelete

А что вы думаете по этому поводу?