• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Актуальный счетчик отпечатанных страниц
#1
Доброго времени суток!
Инвентаризация через SNMP работает на ура, все прекрасно. Но захотелось мне иметь актуальный счетчик отпечатанных страниц, чтоб видеть, какой картридж сколько отпечатал. Сам по себе он, конечно, есть. В FI SNMP - Total pages. Но переносить его в "Текущий счетчик страниц" каждый раз - тупо лень. Гугл и форум решения не подсказали.
Поэтому пришлось накатать вот такой вот скрипт:
Code:
#!/bin/bash

msql_u='glpi' #Пользователь mysql
msql_p='glpi' #Пароль mysql
msql_db='support' #Имя БД

mysql -u $msql_u -p$msql_p -D $msql_db -B -N -s -e 'select id,last_pages_counter from glpi_printers where (have_ethernet = 1);'| while read -r line
do
printer_glpi_counter=$(echo $line | awk '{print $2}')
printer_ip=$(mysql -u $msql_u -p$msql_p -D $msql_db -B -N -s -e "SELECT name FROM glpi_ipaddresses WHERE mainitems_id = $(echo $line | awk '{print $1}') AND mainitemtype = 'Printer';")
printer_cur_counter=$(snmpwalk -Ovq -c public -v 1 $printer_ip 1.3.6.1.2.1.43.10.2.1.4.1.1 2>/dev/null)
if [ $printer_cur_counter -gt $printer_glpi_counter ] ;
  then
    mysql -u $msql_u -p$msql_p -D $msql_db -B -N -s -e "UPDATE glpi_printers SET last_pages_counter=$printer_cur_counter,date_mod=NOW() WHERE id=$(echo $line | awk '{print $1}')"
fi
done
Естественно, запускается кроном. У меня - каждый час. Все принтера у меня HP, возможно для других принтеров SNMP OID будет отличаться
В кратце:
Используется две таблицы:
glpi_printers — содержит имя принтера, коммуникации на его борту (отбираем только сетевые — where (have_ethernet = 1)), счетчики, и кучу прочей информации
glpi_ipaddresses — содержит ip-адреса сетевых устройств, их тип, и id этого устройства
Текущий счетчик страниц получаем с принтера по SNMP, сравниваем его с текущим в GLPI и если он больше — записываем в базу и меняем дату изменения записи.

Не знаю, может я и неправильно делаю, но косяков вроде не заметил. Учет отпечатанных страниц для картриджей пошел, сразу возникли некоторые вопросы к компании, занимающейся заправкой картриджей. Знаю, что ресурс картриджа указывается с учетом 5%-го заполнения страницы, но уж СИЛЬНО цифры отличаются от заявленных.

Может кто подскажет более элегантное решение?
  Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)