Perl Brasil

Pesquisar

Documentação

Artigos

Planeta

Eventos

Comunidade

r3 - 05 Sep 2006 - JoenioCosta

Análise de dados de NetFlow com Perl

Processar e consolidar grandes arquivos de texto rapidamente para análise de tráfego de Internet.

Trabalho em uma grande operadora de Telecom e nosso trafego de dados passa de 6Gbps. Para os que não conhecem o NetFlow da Cisco, ele é uma ferramenta que coleta dados gerados por roteadores com informações sobre cada fluxo de informações que passou.

Estas informações são utilizadas para análise de tráfego, detecção de ataques e outros tipos de análise. Existem ferramentas grátis para realizar a mesma função, como o cflow, flow-tools e o softflowd.

Todos sabem como é difícil tratar arquivos texto muito grandes, e é isto que esta ferramenta faz, gerar arquivos texto enormes, cerca de centenas de mega Bytes por minuto (Você pensou que era tratar os arquivos?).

Se não processássemos os arquivos rapidamente e os excluíssemos antes do próximo arquivo ser gerado, os dados seriam acumulados e o espaço em disco acabaria.

Foi ai que entrou o Perl, sendo uma das linguagens mais rápidas para tratamento de arquivos texto, montamos scripts para analisar e consolidar os dados a cada 5 minutos.

Com os dados consolidados, geramos gráficos também utilizando Perl e podemos realizar as análises necessárias, tudo rapidamente em uma Interface WEB, tudo isso com apenas 5 PCs (2 coletores, 2 analisadores e 1 webserver).

Se não existisse o Perl, necessitaríamos de muitas máquinas para gerar um processamento distribuído, o que aumentaria o custo e inviabilizaria o projeto.