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.
Parte 5: Moral da história...
O Perl e o SNMP são ferramentas versáteis. Podemos utilizar esta dupla para criar ferramentas de gerência de rede dentro das nossas necessidades que superam o obstáculo causado pelas diferenças entre as linhas de comando e ferramentas de diversos fabricantes. Apesar de alguns proclamarem, com certa razão, que existem diversas ferramentas de gerenciamento SNMP e que isto seria reinventar a roda é interessante que os administradores de sistemas saibam como estas funcionam e como funciona o protocolo SNMP. A final, se ninguém repensasse a roda ainda teríamos rodas de madeira nos carros ao invés das rodas cromadas de liga leve e pneus galvanizados modernos.
Mesmo para os que adotam ferramentas prontas do mercado, é fato que um dia nos deparamos com uma necessidade inédita e devemos ser capazes de criar complementos para a ferramenta. Muitas destas ferramentas possuem APIS para criarmos complementos em Perl ou Python. O próprio Net-SNMP possuí uma ferramenta em Perl que verifica o conteúdo das MIBs e apresenta de forma gráfica. Conheço empresas que trabalham com o HP-Openview, uma ferramenta consolidada no mercado para gerência de redes via SNMP e se viram obrigados a criar diversos scripts em Perl para complementar as necessidades.
NOTA: Os scripts desenvolvidos aqui foram testados em sistemas GNU/Linux Red-Hat, Solaris 10 e Windows 2003.
Você notou que o script que criamos é lento? Eu o desenvolvi pensando na facilidade de compreender o que é feito. No site http://search.cpan.org/~dtown/Net-SNMP-v6.0.0/lib/Net/SNMP.pm você pode ver como criar scripts no modo non-blocking, que são muito mais rápidos. O também script se tornará mais rápido se você enviar mais objetos em um query, diminuindo assim o número de queries enviadas ao elemento. O sistema das impressoras que eu mencionei, leva uma hora para verificar todas as impressoras da rede no modo blocking e menos de 60 segundos com uma versão no modo non-blocking. Divirta-se.
ITILv2, téc. Eletrônica e telecomunicações desde 1998,
Administrador e Operador de redesde Telecomunicações da Petrobras desde 2007.
Estudante de Gestão de Tecnologia da Informação
Mesmo para os que adotam ferramentas prontas do mercado, é fato que um dia nos deparamos com uma necessidade inédita e devemos ser capazes de criar complementos para a ferramenta. Muitas destas ferramentas possuem APIS para criarmos complementos em Perl ou Python. O próprio Net-SNMP possuí uma ferramenta em Perl que verifica o conteúdo das MIBs e apresenta de forma gráfica. Conheço empresas que trabalham com o HP-Openview, uma ferramenta consolidada no mercado para gerência de redes via SNMP e se viram obrigados a criar diversos scripts em Perl para complementar as necessidades.
NOTA: Os scripts desenvolvidos aqui foram testados em sistemas GNU/Linux Red-Hat, Solaris 10 e Windows 2003.
Você notou que o script que criamos é lento? Eu o desenvolvi pensando na facilidade de compreender o que é feito. No site http://search.cpan.org/~dtown/Net-SNMP-v6.0.0/lib/Net/SNMP.pm você pode ver como criar scripts no modo non-blocking, que são muito mais rápidos. O também script se tornará mais rápido se você enviar mais objetos em um query, diminuindo assim o número de queries enviadas ao elemento. O sistema das impressoras que eu mencionei, leva uma hora para verificar todas as impressoras da rede no modo blocking e menos de 60 segundos com uma versão no modo non-blocking. Divirta-se.
Autor
Thiago Glauco SanchezITILv2, téc. Eletrônica e telecomunicações desde 1998,
Administrador e Operador de redesde Telecomunicações da Petrobras desde 2007.
Estudante de Gestão de Tecnologia da Informação
Bibliografia
- Essential SNMP, 2nd Edition, By: Douglas Mauro; Kevin Schmidt, Publisher: O'Reilly Media, Inc. ISBN-10: 0-596-00840-6
- http://search.cpan.org/~dtown/Net-SNMP-v6.0.0/lib/Net/SNMP.pm
- http://cpan.org
- www.perl.org
Estamos às ordens!