Gerenciando redes com Perl e SNMP

Muitas empresas utilizam softwares de código aberto nas mais diversas atividades. Em minha carreira deparei-me com sistemas de gerência de rede que não atendiam as necessidades do cliente. Minha intenção aqui é demonstrar de forma prática como o SNMP funciona, como entender as MIBs e principalmente, como usar o Perl para melhorar os sistemas de gerência, ou mesmo, criar o seu próprio.

[ Hits: 50.443 ]

Por: Perfil removido em 23/03/2010


Gerenciando a rede com Perl e SNMP



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.
Linux: Gerenciando redes com Perl e SNMP
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.

    Próxima página

Páginas do artigo
   1. Gerenciando a rede com Perl e SNMP
   2. O que você deve saber sobre MIBs
   3. Legal! E como eu faço para minha rede responder ao protocolo SNMP?
   4. Criando uma solução SNMP personalizada com o Perl
   5. Moral da história...
Outros artigos deste autor

Removendo dependências desnecessárias no Debian

Uma "fábula" sobre acessar e mapear unidades de rede do Windows no Linux

Deixando o Gnome bonitão em qualquer distribuição

Configurando o aMSN para Lan House e/ou Cyber Café

Sistemas de arquivos EXT3 e ReiserFS no GNU/Linux

Leitura recomendada

Manipulação de sockets em Perl usando o IO::Socket::INET

Impressão remota via WEB

Instalação de MRTG em ambiente Windows

Enviando notificações do Nagios para o MSN

Programando uma Intranet com Apache, MySQL e Perl (parte 1)

  
Comentários
[1] Comentário enviado por removido em 23/03/2010 - 09:37h

Se tiver dúvidas ou comentários pode me enviar um e-mail: thiago@nerdsland.net
Estamos às ordens!

[2] Comentário enviado por irado em 24/03/2010 - 17:55h

caramba, um artigo de fôlego, muito bem explicado. Parabéns, thiago.
ps: vou tomar coragem e experimentar - risos.

[3] Comentário enviado por removido em 24/03/2010 - 21:15h

Escrever também me deixou um pouco sem folego. Mas o feedback das pessoas tem sido positivo.
Muito obrigado.

[4] Comentário enviado por juniomundo em 25/03/2010 - 00:32h

Muito obrigado Thiago, foi de grande valia. Paz e saúde pra ti.

[5] Comentário enviado por removido em 25/03/2010 - 05:01h

Muito obrigado Júnio. É sempre um prazer ajudar.

[6] Comentário enviado por alexandre035 em 18/06/2011 - 15:35h

Excelente.

[7] Comentário enviado por j3f1nh0 em 21/09/2012 - 14:30h

Pow cara, muito bom! Meu ajudou muito para o meu TCC!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts