[Rio-pm] Sugestão de Perl scripts para administraçào de redes.

Marco A P D'Andrade mdacwb em gmail.com
Quinta Maio 17 04:53:37 PDT 2012


Como sempre nos ultimos anos... estou atrasado :D

Administração de redes... o tema é tão amplo que chega ser dificil dar
dicas úteis, mas então vou nos palpites...

A maioria das referencias, que são bem interessantes, são focadas em
administração de sistemas, e não sobre redes.

Pode parecer a mesma coisa, mas temos que ter em mente que redes pequenas
precisam de poucas ferramentas, e provavelmente terão poucos casos em que
sejam necessárias implementações adicionais, onde será irrelevante o uso de
qualquer linguagem.

Desde as eras em que eu era ativo na comunidade (é... eu sei... faz muito
tempo...) eu sempre levantei a bandeira de usar Perl onde ele realmente faz
diferença, então hoje temos uma série de ferramentas que atendem tanto a
sistemas quando a redes, para começar a pensar, sem nenhum plugin extra:
- Cacti -> Performance - PHP
- Nagios -> Falhas - C na ultima versão
- Zabbix -> Falha & Performance - PHP e Perl na instalacao ou agentes
- RT e OTRS - Trouble Ticket - Puro Perl

Ou simplesmente...
  Quem é da era passada e não viu:
    MRTG
    Cricket
    Net::SNMP
   http://cricket.sourceforge.net/contrib/

Uma novidade para mim...

   A Cisco criou uma solução que eu ainda não entendo de gerência, onde os
elementos de rede possuem alguma inteligência, para tomar ações de acordo
com o que ocorreu com as interfaces, rotas, pacotes, etc.

  Achei esta referencia tosca, pois não disse absolutamente nada sobre a
utilidade, mas demonstrou que eles estão preocupados em dar ferramentas
para uso!


http://www.cisco.com/en/US/docs/net_mgmt/enhanced_device_interface/2.0/user/guide/perl.html

Considerando o ACME::Bope e a sobreposição de funções, fiquei mais perdido
ainda ^^



Agora... voltando à pergunta inicial... Onde eu posso utilizar Perl na
administração de redes e que recursos posso demonstrar?
Resposta... depende do seu problema!

Problema 1:
- Gerenciar configurações de elementos Cisco

- Resposta: CPAN - Net::Telnet::Cisco

  Você poderá com facilidade preparar alguns scripts para ler e alterar as
configurações de uma rede inteira.
  Utilizamos isto na Embratel em diversas circustâncias, para testar ou
reconfigurar o Backbone.

Problema 2:
- Tenho erros XXX e YYY no syslog enviado pelos roteadores. Quais erros
ocorrem mais, e em quais elementos? (Claro... todos mandam para o mesmo
syslog!!)

- Resposta:
  Expressão regular, HASH, open, for, map, while, if ...

  Com expressões regulares você vai extrair os padrões de log, e
contabilizar de acordo com a conveniência de seu problema!

  Já perdi a conta de quantas vezes fiz isto, sejam para routers, logs de
apache, logs de email, etc. Mas sempre extrai a informação que precisava!

Problema 3:
- Tenho uma relação de Redes, VLANs, IPs de gerencia e de equipamentos.
Quais são acessiveis pela rede A ou pela rede B ?

Resposta:
  - fping para testar conectividade a partir de cada rede
  - Perl para tratar os logs! E a mesma solução do problema 2 :D


Problema 4:
  Ainda no problema 3, tenho que validar a configuração de um router, para
apresentar as configurações pendentes e que estão sobrando!

Resposta:
  - Configuração que está rodando no router (não a salva!);
  - Listagem das informações necessárias para a configuração;
  - Conhecimento sobre a formação do arquivo de configuração;
  - Perl... e a mesma resposta do problema 2 !


Problema 4:
  Tenho uma lista de 3.000 (ou simplesmente N) equipamentos que devem ter
sua configuração salva, mas não estão OK. Preciso identificar o motivo!

Resposta:
  - Logs da ferramenta de backup, conexão com o Banco de dados que detem as
informações...
  - Falar que é o mesmo do problema 2 é excesso?

Problema 5:
  Tenho tido problemas de disponibilidade dos serviços Web de alguns
servidores, e preciso saber sempre que isto ocorrer!

Resultado:
  - Colocar uma página para ser consultada, que retorna o status, no
conceito mais simples do plugin do Nagios... Resposta 0 ou 1, ou uma string
padrão!
  - Perl e LWP::UserAgent, ou WWW::Mechanize para acesso, e interpretação
do status de cada servidor!


Tá... eu sei... me empolguei e joguei muita poeira na resposta...

Mas acabou meu tempo para revisar o email !! Sorry!

Espero ter sido util!


Sds,
Marco Antonio


Em 11 de maio de 2012 09:01, Wagner Arbex <arbex em arbex.pro.br> escreveu:

> Prezados Lorn, Aureliano, Vinícius e Márcio;
>
> Muito grato pelas sugestões e estou verificando cada uma delas.
>
> []s e até mais.
>
> Em 11 de maio de 2012 08:36, Lindolfo Lorn Rodrigues
> <lorn em lornlab.org> escreveu:
> > Direto do Perl Weekly
> >
> > Create Unix user account - a wrapper around adduser
> > Reporting file system diskspace usage like df
> > Reporting diskspace usage on a mail server
> > A du like script
> > Send files by e-mail
> > Read Excel file
> > Process file with fixed width records
> > Process file with multi-line records
> > Process multi field csv file
> > Fetch web page
> > Generate web page (CGI)
> > Parse XML file
> > Database access using DBI and DBD::SQLite
> > Accessing and LDAP server using Net::LDAP
> > Tie::File
> >
> >
> > http://szabgab.com/perl-maven-cookbook.html
> >
> >
> >
> > 2012/5/8 Lindolfo Lorn Rodrigues <lorn em lornlab.org>
> >>
> >> Oi Wagner, eu tenho uma apresentação sobre isso:
> >>
> >> http://speakerdeck.com/u/lorn/p/perl-para-sysadmins-e-dbas
> >>
> >> Se tiver alguma duvida em algum slide me pergunte que eu te explico :)
> >>
> >> PS: speakerdeck >>>> slideshare
> >>
> >> 2012/5/7 Vinícius Miasato <viniciusmiasato em gmail.com>
> >>>
> >>> opa,
> >>>
> >>> tem alguns App::Rad que facilita a re-utilização de tarefas rotineiras
> >>> ( mas não só isso )
> >>> https://metacpan.org/module/App::Rad
> >>>
> >>> Rex - Remote Execution que ajuda bastante o gerenciamento de várias
> >>> máquinas de forma centralizada
> >>>
> >>> https://metacpan.org/module/Rex
> >>> http://rexify.org/
> >>>
> >>> abs.
> >>> Japa
> >>>
> >>> Em 7 de maio de 2012 02:30, Marcio Ferreira
> >>> <marciodesouzaferreira em gmail.com> escreveu:
> >>> > Não sou sysadmin, mas vou dar pitaco
> >>> >
> >>> > 1 - Nagios é feito em Perl
> >>> > 2 - no CPAN: LDAP, Net::* são bem interessantes =)
> >>> > 3 - oneline perl são bem úteis
> >>> > 4 - http://duckduckgo.com/?q=perl+network
> >>> > 5 - gogada simples trouxe esse artigo[1]
> >>> >
> >>> > Espero ter ajudado =)
> >>> >
> >>> >
> >>> > [1]
> http://www.devmedia.com.br/criando-uma-solucao-snmp-personalizada-com-o-perl/17082
> >>> >
> >>> >
> >>> > []s,
> >>> >
> >>> > Marcio Ferreira
> >>> > @_marcioferreira
> >>> > (11) 8567-1482   skype: marcio.ferreir4
> >>> > marciodesouzaferreira.blogspot.com
> >>> >
> >>> >
> >>> >
> >>> > 2012/5/6 Wagner Arbex <arbex em arbex.pro.br>
> >>> >>
> >>> >> Caros monges;
> >>> >>
> >>> >> Estou dando um curso baseado em shell script para administração de
> >>> >> redes e
> >>> >> em uma parte do curso vou apresentar Perl para essa mesma
> finalidade.
> >>> >>
> >>> >> Como sei que muitos dessa lista têm experiência/trabalham como
> >>> >> administradores de redes, se possível, peço o favor de me sugerirem
> >>> >> algumas
> >>> >> atividades, procedimentos, rotinas etc. que sejam interessantes para
> >>> >> administração de redes com o uso de Perl.
> >>> >>
> >>> >> []s e até mais.
> >>> >> --
> >>> >>   Wagner Arbex, DSc
> >>> >>   Bioinform‡tica, Modelagem e Simula ‹o
> >>> >>
> >>> >>   http://www.arbex.pro.br/
> >>> >>
> >>> >> _______________________________________________
> >>> >> Rio-pm mailing list
> >>> >> Rio-pm em pm.org
> >>> >> http://mail.pm.org/mailman/listinfo/rio-pm
> >>> >
> >>> >
> >>> >
> >>> > _______________________________________________
> >>> > Rio-pm mailing list
> >>> > Rio-pm em pm.org
> >>> > http://mail.pm.org/mailman/listinfo/rio-pm
> >>> _______________________________________________
> >>> Rio-pm mailing list
> >>> Rio-pm em pm.org
> >>> http://mail.pm.org/mailman/listinfo/rio-pm
> >>
> >>
> >
> >
> > _______________________________________________
> > Rio-pm mailing list
> > Rio-pm em pm.org
> > http://mail.pm.org/mailman/listinfo/rio-pm
>
>
>
> --
>    Wagner Arbex, DSc
>    http://www.arbex.pro.br/
> _______________________________________________
> Rio-pm mailing list
> Rio-pm em pm.org
> http://mail.pm.org/mailman/listinfo/rio-pm
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/rio-pm/attachments/20120517/8ebb5728/attachment.html>


Mais detalhes sobre a lista de discussão Rio-pm