As tecnologias gratuitas e de código aberto assumem um papel cada vez mais importante nas empresas. Tanto nas pequenas quanto nas multinacionais, estas foram impulsionadas por um ano de crises econômicas e a necessidade das empresas de se reinventarem. Soma-se a este destaque a economia gerada no médio prazo pelas ferramentas desenvolvidas sob medida e as personalizáveis que permitem serviços otimizados. Características que estão muito bem contempladas nos softwares livres.
Devido esta necessidade de mudança de filosofia, um dia desses, uma empresa com 1000 impressoras em rede solicitou um sistema que gerencie as mesmas. O desafio aqui encontrado não era simplesmente usar um software de fabricante, pois a mesma possui impressoras Canon, HP, Xerox e Lexmark. O software de um determinado fabricante não acessa todas as características desejadas de uma impressora de outro fabricante. Utilizar-se de diversos softwares geraria gastos de mão-de-obra maiores no médio prazo que desenvolver uma ferramenta que atenda a demanda. Outro detalhe importante: O serviço de impressão tinha maior índice de insatisfação entre todos os serviços fornecidos pela TI da empresa. Problema que foi contornado com um sistema desenvolvido com Perl para gerenciar as impressoras com o protocolo SNMP.
Problemas como esse são comuns em redes heterogêneas, onde scripts de configuração como Shell Script e VBscript tornam-se trabalhosos, pois necessitam de uma versão de script para cada sistema operacional, ou para cada fabricante de roteador, switch, no-break ou impressora.
O SNMP, acrônimo de Simple Network Management Protocol, é apelidado por muitos administradores de rede como "not so Simple Network Management Protocol" devido sua aparente complexidade. Porém utilizar e entender o SNMP é tão complexo quanto colocar um ovo em pé. Uma vez que alguém ensinar como, você se pergunta: "Como eu não vi algo tão simples?".
O Perl também é uma linguagem mal compreendida por muitos. Apesar de ser extremamente simples, portável e prática, ela é desconsiderada como opção por muitos programadores. Talvez pela falta de marketing ao redor da linguagem ou por ser uma linguagem muito prática e acabe por permitir que se fuja das consideradas boas práticas de programação. Mas para você o que é mais importante? Atender as necessidades e prazos do seu cliente ou atender as teorias ensinadas nas faculdades?
Entendendo o SNMP
Para administrar uma rede com o SNMP é necessário um Sistema de Gerência, um Elemento Gerenciável e uma MIB.
O Sistema de Gerência é um software capaz de gerar requisições SNMP via protocolo UDP porta 161. Para obter a resposta do elemento a requisição deve estar em conformidade com as especificações da MIB do Elemento.
O protocolo SNMP também especifica o uso de traps na porta UDP 162, mas estas não serão discutidas aqui. Para criar um sistema de gerência que receba traps, seria necessário configurar um servidor que escute a porta 162.
Mas isto não gera a polêmica em torno do SNMP e sim a apresentação da MIB II e a grande quantidade de informação que é possível de ser obtida. A maioria dos administradores se utiliza apenas de recursos para verificar se o elemento está up/down e estado das interfaces dos roteadores. Porém podemos obter uma gama imensa de dados sobre dispositivos de rede, sistemas operacionais e softwares instalados nos computadores com o SNMP.