Bem Vindo...

Como monitorar impressoras utilizando o Zabbix


Pré-requisitos:

Claro, alguns pré requisitos precisam ser satisfeitos para que o monitoramento funcione:
– A impressora deve ter suporte a monitoramento (via SNMP por exemplo);
– Precisamos conhecer a MiB da impressora;
– O item que queremos monitorar precisa estar disponível nessa MiB.

O que é MiB?

Para você que ainda é novo na área de monitoramento ou não conhece muito de SNMP, o termo pode ser novo, porém, é um termo bem básico. Os dispositivos com suporte SNMP possuem um conjunto de objetos gerenciados e estruturados, que podem ser acessados para leitura ou gravação (GET ou SET). Existem objetos ‘padrão’ e alguns objetos ‘privados’, exclusivos para determinado fabricante ou dispositivo. Esse conjunto de objetos, se denomida MiB (Management Information Base).
Para esse artigo, vou utilizar uma impressora laser da HP, modelo HP LaserJet P2055dn. Uma breve pesquisada no Google e no próprio site da HP e consegui os OID’s (Object Identifier) do que eu quero monitorar:
.1.3.6.1.2.1.43.11.1.1.8.1.1: Mostra o valor máximo do Toner;
.1.3.6.1.2.1.43.11.1.1.9.1.1: Mostra o valor disponível do Toner;
.1.3.6.1.2.1.43.10.2.1.4.1.1: Mostra o contador de páginas impressas.
Com os mesmos OID’s, consegui obter os valores de outras duas impressoras (Uma Brother e uma Lexmark), o que me fez pensar que esses caminhos talvez sejam um padrão para dispositivos de impressão. Assim que pesquisar mais a fundo, adiciono uma nota aqui.

Habilitando o SNMP na impressora:

Quase todas as impressoras de rede vem com suporte ao SNMP. No exemplo do artigo, acessei minha impressora pela interface web e ativei a leitura de valores para SNMP v1 / v2. Você também pode utilizar o v3, com autenticação, basta preencher os campos de usuário e senha. A comunidade padrão é a “public”. Note, que deixando essa configuração, qualquer dispositivo da rede consegue ler dados da MiB da impressora. Dependendo da política de segurança de sua empresa, isso pode ser um problema.
impressora1

 Testando o caminho da MiB:

Antes de colocarmos as configurações no Zabbix, podemos testar se a chave retorna os valores. Para isso, vou utilizar uma máquina Linux com SNMP instalado ou um aplicativo MiB Browser que pode ser instalado no Windows.

Verificando o OID no Linux:

Basta rodar o seguinte comando:
# snmpget -v 2c -c public IP_DO_DISPOSITIVO CAMINHO_OID
Supondo que o endereço da impressora seja 192.168.0.100, o comando para mostrar o valor máximo do toner fica assim:
# snmpget -v 2c -c public 192.168.0.100 .1.3.6.1.2.1.43.11.1.1.8.1.1
SNMPv2-SMI::mib-2.43.11.1.1.8.1.1 = INTEGER: 940
O valor máximo do toner nesse caso é 940.

Verificando o OID no Windows:

Vou utilizar o programa MBrowser. Basta preencher o IP, o OID e clicar no botão GET:
mib1
E o resultado na parte inferior do software mostra o valor retornado.

Configurando Host e Item no Zabbix:

Agora vem a parte interessante. Vamos criar um novo Host no Zabbix para monitorarmos os itens.
1. Acesse o menu ‘Configurações > Hosts';
2. Clique no botão ‘Criar Host';
3. Preencha nome, novo grupo (opcional) e o IP na interface SNMP. Não precisamos preencher nada nos campos do Agente Zabbix.
4. Clique no botão ‘Adicionar';
5. Voltando a tela de hosts, ao lado do host recém criado, clique em ‘Itens';
6. No canto superior direito, clique em ‘Criar Item';
7. Preencha os campos conforme a figura (alterando o necessário para seu ambiente):
zab2
Duas peculiaridades na tela acima: (1) O nome da chave, pode ser o que você achar interessante, mas é obrigatório. Essa chave é usada nos Triggers que vamos criar. (2) No intervalo de atualização, coloquei 86400 (1 dia), pois não há necessidade de ficar lendo valor do contador o tempo todo. No meu caso, essa informação é relevante apenas no dia do fechamento da locação. Configure conforme sua necessidade.

Criando um Item para monitorar o Toner:

Vamos repetir os passos 6 e 7, porém, com algumas modificações (Nome, OID, chave, intervalo de atualização e aplicação):
 Após adicionar os itens, podemos verificar se o Zabbix já está lendo os valores no menu ‘Monitoramento > Dados Recentes':
zabbix3

 Criando um Trigger para o nível do Toner:

No caso dessa impressora HP, o valor retornado pelo objeto que monitora o toner, é a quantidade de cópias que ainda podem ser impressas (648 na figura acima). O valor máximo do toner, no exemplo desse artigo, é 940 (como podemos ver no início). Vou criar um Trigger, que alerte quando a capacidade do toner estiver abaixo de 10%. Logo, quando o nível do toner estiver abaixo de 94 (10% de 940), quero que o Trigger dispare. Mãos a obra!
1. Acesse o menu ‘Configurações > Hosts';
2. Ao lado do host monitorado (Impressora_HP) clique em ‘Triggers';
3. No canto superior direito, clique em ‘Criar Trigger';
4. Escolha um nome para seu Trigger. Eu coloquei ‘Toner está abaixo de 10%';
5. Ao lado de ‘Expressão’, clique em ‘Adicionar';
6. Ao lado de ‘Item’, clique em ‘Selecionar';
7. Selecione o item que criamos, que monitora o toner e preencha o restante da seguinte forma:
zabbix4
Queremos que o Trigger dispare quando o último valor recebido (T) é menor que 94 (N).
8. Clique em ‘Inserir';
9. Selecione uma severidade para seu Trigger. Eu selecionei ‘Atenção':
10. Clique em ‘Adicionar’.
Está feito. Agora você recebe um alerta no sistema, quando o nível do toner ficar abaixo de 10% da capacidade de impressão. Adicionalmente, consegue ter o controle do total de impressões. Esse tutorial deve funcionar para outros modelos de impressora, contanto que tenha suporte à SNMP.
Sugestões? Dúvidas? Entre em contato comigo.
Espero que o artigo tenha ajudado! Um abraço e até a próxima!