Monitorando com Zabbix a impressora HP Color LaserJet CM1312 sem SNMP

6

Filed Under (software livre, Zabbix) by rafaelgomes on 13-06-2011

Após muito procurar na internet, principalmente no site da HP, por uma MIB de qualidade. Para que assim eu pudesse entender melhor os valores retornados no snmpwalk.

Sem sucesso. Perdi a paciência e fui para a ignorância! Criar um script pra obter o dado que preciso.

Essa impressora tem uma interface web, que mostra muitas informações, incluído o nível de tinta, que nesse caso é meu foco.

Mão a massa!

Estou usando o CentOS, mas os comandos não diferem muito para outras distribuições.

Primeiro vamos instalar o lynx:

# yum install lynx -y

Pronto! Agora verifique se sua pasta de scripts externos do zabbix está criada:

# ls /etc/zabbix/externalscripts

Caso não esteja, crie com esse comando:

# mkdir /etc/zabbix/externalscripts

Obs: Verifique no seu arquivo de configuração, se o caminho da pasta é esse mesmo:

# cat /etc/zabbix/zabbix_server.conf | grep "ExternalScripts="

Após criado a pasta, crie dentro dessa pasta o arquivo abaixo:

# vi obtem_nivel_tinta.sh

Com o seguinte conteúdo:

#!/bin/bash

## Removendo possível página

rm -f /tmp/pagina

## Baixando a página

/usr/bin/lynx -dump -accept_all_cookies “http://$1/hp/device/info_suppliesStatus.html?tab=Status&menu=SupplyStatus” > /tmp/pagina

## Buscando informação desejada

cat /tmp/pagina | grep “Cartucho $2″ -A 1 | grep % | cut -d” ” -f10 | sed “s/\%//g”

## Removendo página

rm -f /tmp/pagina

Agora modifique a permissão do arquivo:

# chmod +x obtem_nivel_tinta.sh

Pronto, agora efetue seu login no Zabbix e crie um host com o ip da sua impressora e nele um novo item de acordo com a imagem abaixo:

Salve o item, depois efetue o clone, mude o parâmetro Preto para Ciano, depois faça o mesmo com Magenta e depois Amarelo.

Obs: Perceba que esse comando é sensível a case, não esqueça que a primeira letra do parâmetro é MAIÚSCULA.

Pronto! Perceba que com esse script é possível obter QUALQUER informação da interface web, isso com algumas modificações simples.

Compartilhe!

Comments posted (6)

Bom conhecer todas as possibilidades!

Só lembrando que na sintaxe do grep pode se colocar o arquivo de entrada…

# cat /etc/zabbix/zabbix_server.conf | grep “ExternalScripts=”
bastaria:
grep ExternalScripts= /etc/zabbix/zabbix_server.conf

Só soube disso muito tempo e muitos “cat e greps” depois hehe.

Parabéns pelo blog!

[]s
@victorhugopa

Victor,

Obrigado pelo retorno. Realmente o grep pode funcionar dessa forma, mas a mania é uma coisa séria. Não há que faça eu usar o comando dessa forma :P

Obrigado!

Poxa nada com SNMP ainda? Ninguem sabe ainda?

Ótimo artigo Rafa! Poxa precisava acompanhar também mais profundamente o consumo dos suprimentos de minha HP1312. Estou cansado de comprar toner para ela hehe Aliás precisei apelar para os compatíveis. Inclusive vai a dica, os da marca ecosolution que encontrei na loja http://www.acessoshop.com.br até que são bem razoáveis na qualidade da impressão.

Rafael poderia ajudar eu configurar um script ?

Tomassoni,

Seria melhor explicar o que precisa em uma lista de emails do zabbix, que tal?

Aconselha essa! Muito boa:

http://br.groups.yahoo.com/group/zabbix-brasil/

Write a comment