Crie eficientemente um sistema vivo de análise de tráfego de rede de nível empresarial

Autor: Equipe Vivo Internet Server - Ming Yujia

Com o rápido desenvolvimento da escala da rede, se o status da rede é bom ou não está diretamente relacionado à renda diária da empresa, e cada segundo de falha levará a um grande número de perdas de usuários e perdas econômicas. Portanto, descobrir rapidamente problemas de rede e localizar tráfego anormal tornou-se um problema prioritário em grandes empresas, e muitas tecnologias de análise de tráfego de rede surgiram ao mesmo tempo.

I. Visão geral

Com o rápido desenvolvimento da escala da rede, se o status da rede é bom ou não está diretamente relacionado à renda diária da empresa, e cada segundo de falha levará a um grande número de perdas de usuários e perdas econômicas. Cada empresa está constantemente melhorando seus próprios métodos de monitoramento de rede, mas no processo de construção de um sistema de monitoramento, inevitavelmente enfrenta as seguintes dificuldades :

  1. Enormes dados de tráfego de rede: devido à alta escala e complexidade do tráfego de rede, é difícil monitorar e analisar com eficácia grandes quantidades de dados.

  2. O custo de construção da coleta e análise de dados de tráfego é alto: para obter dados de tráfego precisos, são necessários tecnologia de coleta de dados eficiente, dispositivos de armazenamento de grande capacidade e uma grande quantidade de recursos de desenvolvimento, o que torna o custo do monitoramento disparado.

  3. Método de monitoramento único e falta de escalabilidade: os métodos de monitoramento tradicionais podem monitorar apenas alguns pontos de dados fixos e é difícil personalizar e expandir para diferentes ambientes de rede.

  4. Dificuldade em localizar e resolver problemas rapidamente: Devido à grande quantidade de dados de tráfego de rede e alterações frequentes, muitas vezes é necessário muito tempo e esforço para descobrir a causa raiz do problema.

Portanto, descobrir rapidamente problemas de rede e localizar tráfego anormal com o menor custo de monitoramento possível tornou-se um problema prioritário em grandes empresas, e muitas tecnologias de análise de tráfego de rede surgiram ao mesmo tempo.

A tecnologia sFlow é uma solução tão eficiente e flexível. Ele pode extrair algumas informações em pacotes de dados por meio da tecnologia de amostragem de tráfego, de modo a realizar o monitoramento contínuo de uma grande quantidade de dados de tráfego de rede. Ao mesmo tempo, a tecnologia sFlow também possui configuração e escalabilidade flexíveis, pode ser personalizada de acordo com as necessidades reais e oferece suporte a uma variedade de dispositivos e protocolos de rede. Essas vantagens tornam a tecnologia sFlow amplamente utilizada no monitoramento e gerenciamento de redes modernas.

2. Tecnologia comum de coleta de tráfego de rede

A coleta de tráfego de rede principal é dividida principalmente em dois tipos: coleta de tráfego total e coleta de tráfego de amostragem.

2.1 Coleta de fluxo total

A coleta de fluxo total inclui métodos como espelhamento de porta e equipamento de divisão óptica. Em uma rede com tráfego intenso, o uso do espelhamento de porta não apenas aumentará o atraso de todo o link, mas também aumentará a pressão sobre os dispositivos de rede quando o throughput for grande. Embora o equipamento de divisão óptica possa reduzir o atraso do link, também há um alto limite de preço de compra. Além disso, devido à grande escala de IDCs em grandes empresas, a quantidade de dados de fluxo total também aumentará drasticamente. , mas também certo O ciclo de desenvolvimento de software não é propício para a construção rápida do projeto.

2.2 Coleta de fluxo de amostragem

Na ausência de um sistema de análise de tráfego, as vantagens de usar a análise de amostragem são refletidas. Em comparação com o tráfego total, seu custo de implantação é baixo e o custo da análise de dados é pequeno. É muito adequado para posicionamento rápido de tráfego e análise anormais de proporções de tendência na rede. O seguinte compara principalmente as vantagens e desvantagens dos métodos de amostragem sFlow e Netflow.

O sFlow possui uma gama mais ampla de monitoramento de tráfego.No ambiente interno IDC que atende aos requisitos de hardware, o uso do sFlow para amostragem de monitoramento de tráfego pode efetivamente reduzir a carga nos dispositivos de rede e fornecer métodos de monitoramento de tráfego em tempo real para lidar com anormalidades repentinas na rede.

3. Projeto de sistema baseado em sFlow

3.1 Projeto básico

Se as condições de hardware forem atendidas, o projeto básico do sistema baseado em sFlow é muito simples, e o loop fechado de dados de todo o processo pode ser realizado usando agente sFlow + coletor sFlow + analisador sFlow.

Agente sFlow : Ao ativar a capacidade sFlow no equipamento de rede relevante, definindo parâmetros como a taxa de amostragem e formulando o endereço correspondente do final da coleta, a porta pode coletar o tráfego de envio e recebimento. O que é mais importante do lado do agente é como determinar o alcance dos dispositivos de rede a serem coletados. passar pelos dispositivos de rede de fronteira. No caso de um melhor monitoramento de anomalias de tráfego externo, também pode reduzir a carga de armazenamento de dados.

Coletor sFlow : Coleta e analisa os datagramas sFlow coletados e transmitidos pelo lado do agente.

Analisador sFlow : Análise visual e exibição de dados formatados para administradores de rede realizarem observação e análise eficazes.

foto

3.2 Código aberto + autodesenvolvido: arquitetura avançada

Depois de determinar a arquitetura básica, como selecionar componentes e expandir funções personalizadas, a solução de código aberto elastiflow nos fornece um bom exemplo. O autor estendeu com base no código aberto para atender a funções mais personalizadas.

Agente sFlow : Use o formulário de relatório VIP unificado para amostragem de tráfego de porta (a taxa de amostragem oficial precisa ser 2 ^ n) e pode usar a capacidade LB do VIP para balanceamento de carga, para que os pacotes sFlow possam ser enviados uniformemente para o fixo porta do final da coleta. Definir diferentes taxas de amostragem para diferentes linhas de rede pode garantir maior precisão de linhas importantes enquanto reduz o armazenamento de dados.

foto

Coletor sFlow : Usar o conjunto ELK para coleta de dados e análise visual é uma das soluções técnicas mais maduras. Portanto, no lado da coleta, usamos logstash para coletar e analisar pacotes de dados nativos. O autor do elastiflow usa o componente original de análise de pacotes udp-sFlow no logstash para análise de dados, mas o autor descobriu no teste real que, embora esta solução possa obter um formato de dados melhor estruturado, o desempenho da análise de dados é muito ruim. Ruim, no caso de uma grande quantidade de dados, isso causará uma grande quantidade de perda de pacotes de dados, resultando em uma diminuição na precisão dos dados. No entanto, o sFlowtool tem excelente desempenho porque a camada inferior é escrita com base na linguagem C. Uma única máquina física (32c64g) pode atingir 10w+tps. Embora a estrutura de dados após a análise dos pacotes sFlow seja mais fraca, ela pode ser usada no acompanhamento o módulo de análise limpa e estrutura os dados. Um exemplo de dados analisados ​​pelo sFlowtool é mostrado abaixo. Os dados via logstash são enviados para a fila de mensagens kafka.

[root@server src]# ./sFlowtool -l
FLOW,10.0.0.254,0,0,00902773db08,001083265e00,0x0800,0,0,10.0.0.1,10.0.0.254,17,0x00,64,35690,161,0x00,143,125,80
FLOW后的字段释义如下
agent_address
inputPort
outputPort
src_MAC
dst_MAC
ethernet_type
in_vlan
out_vlan
src_IP
dst_IP
IP_protocol
ip_tos
ip_ttl
udp_src_port OR tcp_src_port OR icmp_type
udp_dst_port OR tcp_dst_port OR icmp_code
tcp_flags
packet_size
IP_size
sampling_rate

Analisador sFlow : Ao consumir dados do kafka em tempo real, os dados são limpos e estruturados e, com a ajuda de metadados de terceiros, o software define os dados analisados ​​para armazenamento e análise subsequentes.

database+display : use Elasticsearch+Kibana para armazenamento e visualização e também use mertic beat para monitorar o desempenho da coleta de logstash. O Kibana, como uma solução de visualização de dados do tipo Bi, fornece a maioria dos gráficos e painéis de uso gratuito, que podem ser usados ​​para análise visual.

3.3 Definição do software de análise

Com os dados originais, conseguimos realizar análises básicas de tráfego de sessão com base em alguns quíntuplos de IP, etc. Mas o valor que os dados de tráfego podem refletir é muito mais do que isso. O uso de outras plataformas, como cmdb na empresa, pode fornecer maior valor para nossos dados de tráfego.

Dimensão do dispositivo de rede : Através do endereço do switch e das portas de entrada e saída nos dados, a direção de entrada e saída do tráfego pode ser julgada de acordo com o índice de porta do switch coletado e configurado. Também é possível atribuir outros atributos, como canal, linha e nome do dispositivo com base no ip do dispositivo de rede.

Dimensão do IP : O quíntuplo do ip oferece uma maior possibilidade de explorar os dados, podemos julgar seu projeto, departamento e outras informações de atribuição de acordo com o ip de atribuição, e também associar nomes de domínio reversamente. Isso pode localizar rapidamente a parte comercial ao analisar e julgar o tráfego anormal, o que melhora muito a eficiência da operação e manutenção.

3.4 Armazenamento e visualização de compactação autodesenvolvido

Como o efeito de compactação de dados do Elasticsearch em si não é ideal, ele nos torna enormes e inchados ao armazenar dados por muito tempo. Da mesma forma, o Druid, um banco de dados do tipo olap, resolve muito bem esse problema. Após a amostragem dos dados, eles passam por um processamento estrutural estrito no lado da análise, o que pode alcançar uma boa compactação de dados no Druid. Além disso, o recurso integrado de pré-agregação de dados do Druid também pode nos ajudar a reduzir a precisão dos dados históricos e reduzir a pressão de armazenamento. Depois de mudar o mecanismo de armazenamento, isso significa que não é mais possível usar o Kibana para exibição geral. O uso da estrutura de serviço da Web autodesenvolvida também pode responder a cenários de demanda flexíveis e obter uma análise mais personalizada.

3.5 Modelo leve de processamento de fluxo baseado no design Celery

Embora os dados de tráfego tenham sido amostrados e refinados, o volume geral de dados ainda é enorme. Processamento de fluxo eficiente e rápido, reduzindo o atraso geral do sistema para 30 segundos, pode ajudar os gerentes de rede a encontrar problemas mais rapidamente. Além de usar ferramentas tradicionais de processamento de fluxo, também podemos usar o Celery para criar uma distribuição leve, eficiente e fácil de expandir cluster de processamento de fluxo.

foto

O Celery é um sistema distribuído simples, flexível e confiável que lida com um grande número de mensagens, com foco em filas de tarefas assíncronas para processamento em tempo real e também oferece suporte ao agendamento de tarefas. Com base nas características de processamento assíncrono em tempo real do aipo, projetamos o link de consumo de celerybeat → observador → produtor → consumidor para executar o processamento de fluxo.

Ritmo de aipo : como gatilho para uma tarefa agendada, uma nova tarefa é despachada para a fila do observador a cada 1s.

watcher worker : Depois de colocar a tarefa na fila, encaminhe-a para o produtor e execute o controle de congestionamento na fila do produtor de acordo com o valor máximo definido da fila.

Trabalhador do produtor: após colocar a tarefa na fila, ele obterá os dados de tráfego coletados do Kafka, enviará para a fila do consumidor em lotes de acordo com o tamanho do lote e executará o controle de congestionamento na fila do consumidor de acordo com o valor máximo definido de a fila.

trabalhador consumidor : Depois de colocar a tarefa na fila, de acordo com as informações comerciais no cache local/cache compartilhado, execute a limpeza de dados, rotulagem comercial e outras operações nos dados coletados e grave-os em outro kakfa ou diretamente no banco de dados.

Cada função e nó pode se comunicar por meio do agente Celery para realizar a implantação do cluster distribuído.Para a operação da unidade consumidora, o eventlet pode ser usado para iniciar em um modo de co-rotina para garantir o alto consumo simultâneo do cluster.

4. Cenários de aplicação

4.1 Dimensões da Análise de Tráfego nas Salas de Informática

Por meio da correspondência de IP com base no cmdb da rede, os dados de fluxo são resumidos na dimensão da sala do computador e a análise geral do tráfego externo de entrada e saída da sala do computador pode ser obtida. Quando o IDC interage com o exterior, a mudança de tendência do o tráfego geral é um critério direto para avaliar o grau de ocupação da largura de banda.

foto

4.2 Associação de informações de linha de rede

Através do mapeamento de informações lógicas de dispositivos de rede com base em ip+ifindex, as linhas do canal principal podem ser agregadas e exibidas. Para alguns problemas anormais, como linhas de rede pública e larguras de banda de linha dedicadas cheias, a falha pode ser localizada direta e precisamente observando a análise de linha O primeiro ponto no tempo que ocorre.

foto

4.3 Mineração de informações de sessão IP

Embora o sflow intercepte apenas as informações do cabeçalho da mensagem e não inclua o pacote de dados, o próprio quíntuplo de ip também fornece grande valor de análise de tráfego de rede.

Usando as informações da sessão, podemos localizar com precisão e eficácia a atribuição de IP do tráfego anormal. Através do ip + porta de serviço, podemos até localizar o serviço e o processo específico que gerou o tráfego anormal, para tomar a decisão da próxima etapa. Além disso, o ip também pode ser vinculado ao CMDB na empresa para localizar o grupo de recursos do recurso ao qual o ip pertence, de modo a obter a análise da proporção do tráfego gerado por diferentes departamentos/grupos administrativos, o que também é propício para a primeira vez quando o tráfego anormal ocorre Perceba o negócio relevante em um curto espaço de tempo e execute o gerenciamento e controle de notificação.

4.4 Análise de atribuição de IP

Além de combinar informações internas, através das informações de atribuição fornecidas pela operadora, podemos verificar a origem do acesso ip, realizar análises de atribuição relevantes e produção de Dashboard.

foto

V. Resumo

Para obter monitoramento e análise abrangentes e em tempo real da rede, protocolos e tecnologias de monitoramento de rede avançados e eficazes devem ser usados ​​para atender às crescentes demandas dos negócios. Embora a análise de tráfego baseada em sFlow tenha grandes vantagens em construções leves, ela também pode responder rapidamente com base nas tendências de tráfego e taxas de distribuição diante de tráfego anormal. No entanto, a própria amostragem do sFlow não inclui as informações dos pacotes de dados na mensagem, não podendo fornecer posicionamento preciso e soluções para alguns ataques e defesas de segurança de rede, como injeção de SQL e segurança de dados. Portanto, a análise de tráfego completa também deve ser uma parte indispensável do sistema de análise de tráfego no futuro.A combinação dos dois pode fornecer monitoramento de tráfego mais abrangente e refinado e escoltar a segurança de rede do data center.

6. Perspectivas Futuras

Embora a tecnologia sFlow tenha sido amplamente utilizada no campo de monitoramento e gerenciamento de desempenho de rede, sob o impacto de cenários de tráfego de rede em larga escala no futuro, mais recursos são necessários:

1. Suporte a mais protocolos e aplicativos : A ideia do monitoramento sFlow não é apenas aplicável ao tráfego de rede, mas também pode monitorar o tráfego de aplicativos, ambiente de virtualização, plataforma de nuvem, etc. No futuro, a tecnologia sFlow deve suportar mais protocolos e aplicativos para se adaptar melhor ao novo ambiente de rede.

2. Tecnologia de coleta de tráfego adaptável : A tecnologia de coleta de tráfego da tecnologia sFlow é um período fixo, mas conforme o tráfego da rede muda, a coleta do período fixo pode não refletir com precisão o status em tempo real da rede. No futuro, a tecnologia de monitoramento sFlow deve suportar a tecnologia de coleta de tráfego adaptável, que pode ajustar automaticamente o ciclo de coleta de acordo com as mudanças reais no tráfego da rede.

3. Função de gerenciamento conveniente : A configuração atual do sFlow depende mais dos administradores de rede para configurar no switch e não pode realizar funções como distribuição com um clique, descoberta automática e ajuste rápido da taxa de amostragem. No futuro, um conveniente distribuição é comando necessário, a plataforma de gerenciamento sFlow para mudanças de configuração de carregamento quente.

Acho que você gosta

Origin blog.csdn.net/vivo_tech/article/details/132097894
Recomendado
Clasificación