Descobrindo quais MIBs um equipamento utiliza
Existe um projeto chamado Zabbix, que é extremamente útil quando temos uma rede de computadores bem grande para monitorar. Com ele podemos saber a temperatura de todos os computadores da rede, velocidade de disco e até mesmo (se o sensor existir) a temperatura da sala.
Porém, com o avanço da Internet Das Coisas (IOT), passaram a existir dispositivos nos quais a instalação do agente do Zabbix - que faz a coleta de informações de sistemas operacionais -, se fizesse impossível, por falta de capacidade de processamento. Alguns exemplos: Câmeras, ares-condicionados e termostatos. Aqui há um ótimo texto sobre.
Além desse, existem vários inconvenientes. Para coletarmos as informações manualmente e registrá-las no nosso Zabbix, precisamos saber o que o equipamento responde quando enviamos uma requisição SNMP - requisição essa feita com o comando snmpwalk.
Nesse exemplo, usamos a versão dois do protocolo, mas dê uma lida no manual do snmplwalk com o comando:
Após o executarmos, receberemos uma lista extensa de informações, onde há o seguinte formato:
MIB::OID
A surpresa aqui é que, quando realizamos a requisição com o comando snmpwalk, ele só vai exibir na tela as respostas para as MIBs que temos em nosso computador(veja sobre).
Podemos baixar MIBs no site Best Monitoring Tools ou no Circitor e adicioná-las ao computador, mas como saberemos as MIBs do equipamento, uma vez que elas não são exibidas na tela com a requisição feita acima? E se não quisermos adicioná-las ao sistema?
Para isso, há um truque:
Com este comando, é feita uma requisição para que o IP 192.168.10.120 consulte todas as OIDs que começam com .1. Ou seja, teremos tudo!
Depois, redireciona-se com o | essa saída de texto enorme para o comando cut, onde delimita-se com a opção -d os campos pelo caractere :, e qual campo se quer com a opção -f. E, finalmente, redireciona-se para o comando uniq, que elimina linhas iguais, resultando numa lista limpa de a quais MIBs o equipamento responde.
Com isso, chegamos ao nosso objetivo, sabendo também todos os OIDs que estão funcionando :D