Aqui iremos falar como usar o SNMP para consultar os objetos da impressora. Nesse caso, os objetos serão o nível disponível nos toners.
Esses OID’s são muito úteis para você implementar em seu sistema de monitoramento (Nagios, Zabbix, etc.)
OID | O que retorna |
1.3.6.1.2.1.25.3.2.1.3.1 | O modelo da Impressora |
OID | O que retorna |
1.3.6.1.2.1.43.12.1.1.4.1.1 | O nome/cor do toner1 |
1.3.6.1.2.1.43.12.1.1.4.1.2 | O nome/cor do toner2 |
1.3.6.1.2.1.43.12.1.1.4.1.3 | O nome/cor do toner3 |
1.3.6.1.2.1.43.12.1.1.4.1.4 | O nome/cor do toner4 |
OID | O que retorna |
1.3.6.1.2.1.43.11.1.1.8.1.1 | A capacidade máxima do toner1 |
1.3.6.1.2.1.43.11.1.1.8.1.2 | A capacidade máxima do toner2 |
1.3.6.1.2.1.43.11.1.1.8.1.3 | A capacidade máxima do toner3 |
1.3.6.1.2.1.43.11.1.1.8.1.4 | A capacidade máxima do toner4 |
OID | O que retorna |
1.3.6.1.2.1.43.11.1.1.9.1.1 | Indica o nível do toner1 |
1.3.6.1.2.1.43.11.1.1.9.1.2 | Indica o nível do toner2 |
1.3.6.1.2.1.43.11.1.1.9.1.3 | Indica o nível do toner3 |
1.3.6.1.2.1.43.11.1.1.9.1.4 | Indica o nível do toner4 |
Além desses, em algumas impressoras você pode também consultar:
OID | HP |
1.3.6.1.2.1.43.11.1.1.9.1.6 | Indica o nível do fusor |
1.3.6.1.2.1.43.11.1.1.9.1.5 | Indica o nível do kit de imagem |
1.3.6.1.2.1.43.11.1.1.9.1.7 | Indica o nível da alimentadora |
Com essas informações, é possível (por exemplo) criar o seguinte script para o Nagios monitorar os consumíveis da impressora:
#!/bin/sh
#USE: COMMAND [IP] [SNMP_COMMUNITY] <WARNING_VALUE> <CRITICAL_VALUE>
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3
STATE_DEPENDENT=4
exitstatus=$STATE_WARNING #default
printer_model=`snmpwalk -v 2c -c $2 $1 1.3.6.1.2.1.25.3.2.1.3.1 -OUvq`
color_t1=`snmpwalk -v 2c -c $2 $1 1.3.6.1.2.1.43.12.1.1.4.1.1 -OUvq`
color_t2=`snmpwalk -v 2c -c $2 $1 1.3.6.1.2.1.43.12.1.1.4.1.2 -OUvq`
color_t3=`snmpwalk -v 2c -c $2 $1 1.3.6.1.2.1.43.12.1.1.4.1.3 -OUvq`
color_t4=`snmpwalk -v 2c -c $2 $1 1.3.6.1.2.1.43.12.1.1.4.1.4 -OUvq`
max_t1=`snmpwalk -v 2c -c $2 $1 1.3.6.1.2.1.43.11.1.1.8.1.1 -OUvq`
max_t2=`snmpwalk -v 2c -c $2 $1 1.3.6.1.2.1.43.11.1.1.8.1.2 -OUvq`
max_t3=`snmpwalk -v 2c -c $2 $1 1.3.6.1.2.1.43.11.1.1.8.1.3 -OUvq`
max_t4=`snmpwalk -v 2c -c $2 $1 1.3.6.1.2.1.43.11.1.1.8.1.4 -OUvq`
usage_t1=`snmpwalk -v 2c -c $2 $1 1.3.6.1.2.1.43.11.1.1.9.1.1 -OUvq`
usage_t2=`snmpwalk -v 2c -c $2 $1 1.3.6.1.2.1.43.11.1.1.9.1.2 -OUvq`
usage_t3=`snmpwalk -v 2c -c $2 $1 1.3.6.1.2.1.43.11.1.1.9.1.3 -OUvq`
usage_t4=`snmpwalk -v 2c -c $2 $1 1.3.6.1.2.1.43.11.1.1.9.1.4 -OUvq`
usage_t1=`expr 100 \* $usage_t1 / $max_t1`
usage_t2=`expr 100 \* $usage_t2 / $max_t2`
usage_t3=`expr 100 \* $usage_t3 / $max_t3`
usage_t4=`expr 100 \* $usage_t4 / $max_t4`
if [[ $usage_t1 -lt $critical_value ]] || [[ $usage_t2 -lt $critical_value ]] || [[ $usage_t3 -lt $critical_value ]] || [[ $usage_t4 -lt $critical_value ]]; then
msg="CRITICAL"
exitstatus=$STATE_CRITICAL
else
if [[ $usage_t1 -lt $warning_value ]] || [[ $usage_t2 -lt $warning_value ]] || [[ $usage_t3 -lt $warning_value ]] || [[ $usage_t4 -lt $warning_value ]]; then
msg="WARNING"
exitstatus=$STATE_WARNING
else
msg="OK"
exitstatus=$STATE_OK
fi
fi
echo "$msg - $printer_model Toner: $color_t1=$usage_t1%, $color_t2=$usage_t2%, $color_t3=$usage_t3%, $color_t4=$usage_t4%"
exit $exitstatus
Fontes/Referências
https://documentation.n-able.com/remote-management/userguide/Content/additional_oids.htm
Mais Informações
Esperamos ter ajudado da melhor forma possível e estaremos sempre a disposição para mais informações.
Se você tem interesse em algum assunto específico, tem alguma dúvida que precisa de ajuda, ou quer sugerir um post, entre em contato conosco pelo e-mail equipe@nvlan.com.br.