Пользователь
0,0
рейтинг
13 июля 2014 в 08:41

Администрирование → Получаем в Zabbix статистику с устройств Kyocera из песочницы


Привет Хабр!

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

SNMP

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

user@host:~# 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!



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:

user@host:~# cat /etc/zabbix/zabbix_server.conf | grep Timeout | grep -v ^#
Timeout=10

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



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

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

P.S. Не все мы идеальны и об ошибках в тексте просьба уведомлять в ЛС.
Эдгар Сергеевич @coolSever
карма
3,0
рейтинг 0,0

Похожие публикации

Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Администрирование

Комментарии (6)

  • 0
    Спасибо за статью. У нас на эти маленькие киосеры порой приходится нагрузка как на крупные МФУ, простой в работе хотя бы одной из них в течении часа приводит к убыткам всей компании. К счастью они оказываются достаточно надежными, тем важнее вовремя готовится к обновлению картриджей и выбросу остатков краски в мусорном отсеке, для этих показателей конечно нужно собрать статистику, но главное инструменты для этого теперь есть.
    • +1
      Возможно тогда вам потребyются ещё такие значение, полyчаемые через SNMP ( на моём примере ):
      Емкость отсека с тонером iso.3.6.1.2.1.43.11.1.1.8.1.1 = INTEGER: 3600
      Количество тонера: iso.3.6.1.2.1.43.11.1.1.9.1.1 = INTEGER: 3240
      В процентах это 3240*100/3600 = 90%
  • 0
    «device_life_counter» — не помню конкретно, что он там считает, но это не совсем счетчик страниц, это отсчет жизни драм-картриджа.
  • 0
    Вот елки! Помнится, у меня был MIB для принтеров и мфу Киосеры, но за ненадобностью я его уже удалил :(
  • 0
    Было бы здорово ещё шаблон для zabbix получить.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.