Usando redes Flowmon para monitorar o desempenho de aplicativos e bancos de dados distribuídos



Artigo preparado por Dmitriy Andrichenko | Executivo de vendas, Rússia e CEI | Redes Flowmon

Bem-vindo à página do nosso novo artigo sobre como resolver os problemas de monitoramento do desempenho de aplicativos e bancos de dados de rede distribuídos. Este artigo é uma continuação de uma série de publicações dedicadas às soluções da Flowmon Networks e, em particular, uma continuação da revisão “ Monitoramento e detecção de atividades de rede anormais na rede ” usando tecnologias sem assinatura.
Então, vamos começar, mas no começo vamos dizer algumas palavras sobre a Flowmon Networks e o problema.

Para quem tem preguiça de ler, em breve será realizado um webinar sobre as soluções da Flowmon Networks .

Redes Flowmon, como


A Flowmon Networks é um fabricante europeu de TI destacado nas praças e relatórios do Gartner, especializado no desenvolvimento de soluções inovadoras para monitoramento de rede, segurança da informação, proteção DDoS, bem como o tópico do artigo de hoje - monitorando o desempenho de aplicativos e bancos de dados de rede.

A empresa está sediada em Brno, República Tcheca. Para o cliente final, isso tem uma vantagem importante - a capacidade de trabalhar com empresas na lista de sanções. Leia mais sobre a Flowmon Networks aqui ou aqui .

Mas o que há de inovador nas soluções Flowmon, você pergunta? Afinal, nenhuma das áreas acima é nova no mercado. Os firewalls ou os sistemas de detecção de intrusões existem há muito e com êxito, e o tópico de monitoramento não é novo por si só. Tudo é verdade, mas, como sempre, "o diabo está nos detalhes".

Considere, por exemplo, o tópico de segurança das informações da rede. O que vem à mente primeiro? Firewall ou talvez IDS / IPS? Talvez até o NG Firewall. É isso mesmo, este é um bom clássico comprovado, mas com duas desvantagens significativas:

  • abordagem de assinatura limitada para identificar problemas de segurança,
  • proteção de ponto apenas no nível limite dos segmentos de rede.

Estamos falando sobre a aplicação da tecnologia de análise heurística e aprendizado de máquina. Inteligência artificial, em outras palavras. As vantagens são óbvias - não há assinaturas fixas que protejam contra ataques de dia zero apenas se forem atualizadas e relevantes.
Uma análise sem assinatura permite registrar ataques atípicos no nível do aplicativo, desvios de formato de protocolo da RFC e muitos outros problemas que causam muita dor de cabeça aos administradores todos os dias.

Além disso, a segunda principal vantagem não é apenas o controle pontual do tráfego na “junção” de segmentos ou perímetro, resolvido por meios padrão de proteção, mas o controle total e a “transparência” de cada conexão de rede na rede.

Não propomos substituir as defesas existentes, dizemos que, em um mundo moderno, com tecnologias em constante evolução e ameaças em potencial, um conjunto padrão de defesas não é mais suficiente. Nós escrevemos sobre isso antes, bem aqui.

Uma situação semelhante ocorre com as tarefas de monitorar o funcionamento e o desempenho dos aplicativos de rede, bem como dos bancos de dados. Acredito que todos estejam familiarizados com uma situação em que os usuários se queixam do funcionamento de um aplicativo de negócios, mas o problema não está resolvido. Os administradores de rede afirmam que tudo está em ordem com a LAN e se referem a problemas no próprio aplicativo. Os administradores de aplicativos verificam o servidor, os logs de eventos, o DBMS e verifica-se que tudo funciona para eles também. Como resultado, o problema não é diagnosticado, em todos os níveis “tudo está em ordem”, os administradores “concordam” um com o outro e nada funciona para o usuário final. O que fazer não está claro. Aconteceu? É sobre isso que falaremos hoje.

Arquitetura da solução


Para entender corretamente as abordagens e tecnologias usadas pela Flowmon Networks para resolver os problemas de monitoramento do desempenho de aplicativos e bancos de dados distribuídos, deve-se observar que toda a análise é baseada em informações sobre o tráfego de rede que é enviado ao sistema. Uma das vantagens dessa abordagem é a falta de software de agente em estações de trabalho e servidores . Obviamente, você não poderá medir o desempenho do Solitaire Solitaire, mas é possível identificar a consulta SQL que "travou" o banco de dados ou o botão após o qual o aplicativo trava.

No último artigoJá examinamos o portfólio de produtos da Flowmon Networks e o processo de instalação do sistema no ambiente virtual VMware EXSi, para não repetirmos. A única diferença no nosso caso será o método de recebimento de tráfego. Como nenhum dos protocolos Flow transmite informações sobre o conteúdo dos pacotes necessários para analisar o funcionamento dos protocolos de nível 7 usando o modelo ISO OSI, usaremos a porta SPAN (Switched Port Analyzer) espelhada no switch para coletar dados.

Nesse caso, a arquitetura da solução será mais ou menos assim:



O (s) switch (s) espelha o tráfego necessário para um servidor dedicado (Flowmon Probe), responsável por processá-lo e convertê-lo para um formato rico em IPFIX, que é então transmitido ao nó central (Flowmon Collector) para armazenamento, correlação e análise. Em vez da porta SPAN, a propósito, você pode usar um divisor de tráfego TAP:



As vantagens desta opção de implantação são:

  • independência do modelo e fabricante do equipamento de rede (Cisco, Juniper, any),
  • falta de carga adicional nos equipamentos de rede existentes,
  • preservação da arquitetura lógica existente da rede da empresa.

De fato, cada componente do sistema pode ser um servidor de hardware dedicado ou uma máquina virtual. No segundo caso, o Flowmon Collector incluirá um Flowmon Probe integrado, mas o desempenho será naturalmente menor.

O nó central (Flowmon Collector) é construído com base no princípio da arquitetura modular e é configurado individualmente para as tarefas de cada cliente: O



Flowmon Collector consiste em um núcleo do sistema (solução de problemas de visibilidade da rede), que inclui toda a funcionalidade exigida pelos administradores de rede para monitorar o tráfego na LAN com detalhes para cada específico conexão de rede, bem como vários módulos adicionais e licenciados separadamente:

  • Módulo ADS (Anomaly Detection Security) - detecção de atividade anormal da rede, incluindo ataques de dia zero, com base na análise heurística do tráfego e em um perfil de rede típico;
  • Módulo Application Performance Monitoring (APM) - monitorando o desempenho de aplicativos de rede sem instalar "agentes" e afetar os sistemas de destino;
  • Módulo Registrador de Tráfego (TR) - registra fragmentos de tráfego de rede por um conjunto de regras predefinidas ou por um acionador do módulo ADS, para posterior solução de problemas e / ou investigação de incidentes de segurança da informação;
  • Módulo DDoS Protection (DDoS) - proteção do perímetro da rede contra ataques volumétricos de negação de serviço de DoS / DDoS.

Neste artigo, veremos como tudo funciona ao vivo usando o exemplo de 2 módulos - Solução de problemas de visibilidade de rede e monitoramento de desempenho de aplicativos.

Instalação da solução


escrevemos sobre o tópico de implantação de uma máquina virtual ; tudo é feito com muita rapidez e simplicidade a partir do modelo OVF. Não nos repetiremos, lembramos apenas dos requisitos de recursos do sistema:



No lado do Flowmon Collector, a principal diferença entre o monitoramento do tráfego SPAN e o monitoramento do NetFlow será o método de recebimento de dados. Se anteriormente usamos a interface de gerenciamento do NetFlow com nossa configuração de IP, para receber o tráfego SPAN, precisamos da interface de monitoramento, que na verdade é uma interface L2 associada ao hypervisor dedicado com uma porta física dedicada no chassi do servidor.



Em outras palavras, a Interface de monitoramento é o Flowmon Probe incorporado ao Flowmon Collector.

A próxima etapa é verificar se a porta dedicada está configurada corretamente e pronta para receber tráfego no Flowmon Collector.



No nosso caso, a porta UDP / 2055 é ocupada sob IPFIX / NetFlow a partir do equipamento de rede, portanto, para o tráfego com o Flowmon Probe, usaremos a porta UDP / 3000. Não é necessário separar o tráfego por porta de fontes diferentes, mas é mais conveniente e mais simples em termos de monitoramento e solução de problemas.

Em seguida, configuramos a exportação do tráfego do Flowmon Probe para o Flowmon Collector. Para fazer isso, na seção Centro de configuração -> Portas de monitoramento, verifique as configurações atuais. Principalmente, você precisa garantir que o monitoramento dos aplicativos necessários do nível 7 ISO OSI esteja ativado, porque, por padrão, está desativado.



Idealmente, inclua apenas os protocolos que deseja controlar, mas você pode simplesmente ativar tudo.

Salvamos as configurações e, novamente, vamos para a tela principal do Centro de Configuração. Você precisa garantir que o tráfego do Flowmon Probe seja enviado corretamente ao Flowmon Collector.



Verifique também na seção Flowmon Monitoring Center -> Fontes.



Vemos que o tráfego começou a fluir, o sistema está funcionando. Você pode ir diretamente para configurar o módulo Application Performance Monitoring (APM).

Módulo de monitoramento de desempenho de aplicativos (APM)


Lidaremos com o que exatamente e exatamente como iremos controlar. Quais parâmetros o Flowmon APM controla?

  • análise de consultas HTTP e SQL problemáticas, códigos de erro de resposta do servidor de aplicativos e do banco de dados,
  • atrasos e perdas de pacotes que ocorrem durante a interação cliente-servidor, bem como na interação dos servidores de aplicativos entre si e com os servidores de banco de dados,
  • informações sobre cada transação (número, tamanho, hora, endereço IP, ID da sessão, nome de usuário ...), bem como uma lista de transações problemáticas com violações do SLA,
  • tempo de resposta do aplicativo (max, min, média, porcentagem ...) e tempo de transmissão no nível do transporte,
  • número de sessões simultâneas do usuário, ...



Quais protocolos o Flowmon APM suporta?

  • HTTP 1.1, HTTP 2.0, SSL e TLS,
  • SQL (incluindo MSSQL, Oracle, PostgreSQL, MySQL, MariaDB),
  • Email (incluindo SMTP, IMAP, POP3),
  • SIP VoIP,
  • DHCP, DNS, SMB (incluindo v1, v2, v3), AS, NBAR2,
  • SCADA / IoT (incluindo IEC 60870-5-104).

Como resultado, para cada aplicativo ou banco de dados monitorado, o sistema calcula o valor da métrica do Índice APM, que varia de 0 a 100 e depende do estado atual do serviço. Quanto maior o valor da métrica, melhor.



Uma interface personalizável baseada em widgets e painéis permite que o administrador personalize o sistema individualmente e controle exatamente as métricas do índice APM necessárias. No exemplo abaixo, o sistema controla o portal da Internet (WebEshop) e seu banco de dados (MySQL_DB).



Neste exemplo, a análise de desempenho é dividida em três blocos:

1. O desempenho geral do aplicativo e banco de dados no último dia.



Para completar, o índice de desempenho do aplicativo é exibido junto com o índice de desempenho do banco de dados. Isso é conveniente o suficiente para solucionar problemas e entender em qual área específica o problema surge.

Por exemplo, no nosso caso, o índice de desempenho do banco de dados é bom, é 96.839 em 100. Mas há problemas óbvios com o aplicativo WebEshop, seu índice é apenas 63.761 em 100.

Você pode perceber imediatamente o motivo dessa classificação - um alto tempo de resposta às solicitações do usuário. O tempo médio é de 21.148 segundos e o máximo é de 151.797 segundos. Se você é o administrador de um aplicativo on-line, entende que poucos usuários esperam até a página carregar 2,5 minutos ... Bem, se isso acontecer uma vez e se o usuário precisar acessar 2-3-4 ... páginas? Isso já é um problema.

2. Índice de APM para o último dia.

Com esta seção, tudo é bastante simples e claro. Ele exibe a proporção do número de consultas do índice APM total do aplicativo ou banco de dados.



Cada elemento do painel é interativo e clicável. Tudo obedece ao princípio da pesquisa detalhada. Ao escolher uma área interessante no gráfico, você pode "falhar" um nível abaixo para obter informações mais detalhadas.



Escolhendo o intervalo de tempo em que o problema foi corrigido, o administrador encontrará rapidamente respostas para as perguntas:

  • Quais consultas SQL foram executadas neste momento?
  • O que e quantos usuários trabalharam com o sistema?
  • Como o sistema respondeu às solicitações do usuário?
  • Qual foi o tempo de reação e o atraso do sistema?
  • Como os problemas de aplicativos se correlacionam com a interação do banco de dados?
  • Como o sistema trabalha com um determinado SLA?
  • e muito mais…

3. As cinco consultas mais lentas do último dia.

Um portal HTTP moderno ou aplicativo WEB é um programa complexo e complexo. Como qualquer outro aplicativo, ele consiste em diferentes páginas e módulos que nem sempre foram escritos por um programador. Muitas vezes, um site moderno é um mecanismo do CMS no qual dezenas de módulos de terceiros são instalados que estendem a funcionalidade básica. Às vezes, esses módulos funcionam bem e às vezes não muito bem. Nem sempre é possível entender rapidamente onde o problema ocorre e leva mais de uma hora ou um dia para solucionar o problema.

Com o Flowmon APM, tudo se torna transparente.



Se você estiver interessado em mais detalhes - clique no ícone "lupa" e obtenha os detalhes. Por exemplo, para um aplicativo HTTP:



Ou para um banco de dados:



Obviamente, tudo é exportado para CSV, os campos e as colunas são personalizáveis, os filtros podem ser salvos.

Os widgets discutidos são um exemplo de configurações padrão padrão. Se necessário, o sistema pode ser personalizado para tarefas individuais - crie seus próprios painéis e exiba-os na tela principal. Como exemplo, códigos de erro de resposta do banco de dados:



Ou códigos de erro HTTP:



Além disso, queremos chamar sua atenção para um ponto importante - a funcionalidade de monitoramento proativo. O sistema não apenas "escuta" e analisa o tráfego de modo passivo, mas também emula independentemente a interação de um usuário "virtual" com o sistema. Essa abordagem é chamada de usuários sintéticos e permite verificar automaticamente o status do aplicativo e detectar um problema no momento em que ele começa a acontecer, e não após as primeiras reclamações dos usuários. Por isso, por exemplo, os scripts agendados são configurados para verificar a disponibilidade, a funcionalidade e o tempo de resposta do aplicativo.

Qual é o resultado?


Este exemplo é uma demonstração clara dos recursos do sistema e do módulo Application Performance Monitoring (APM), em particular. Não posso dizer que trabalhar com o Flowmon APM torne o processo de solução de problemas um prazer, mas é certo que esse processo é simplificado e muito mais rápido.

Tem dúvidas ou deseja testar o sistema? Vamos ajudar, entre em contato conosco .

Resumimos quais conclusões podemos tirar sobre o Flowmon na linha inferior:

  • Flowmon - solução de nível premium para clientes corporativos;
  • devido à sua versatilidade e compatibilidade, a coleta de dados está disponível em qualquer fonte: equipamento de rede (Cisco, Juniper, HPE, Huawei ...) ou sondas proprietárias (Flowmon Probe);
  • , ;
  • ;
  • «» – ;
  • Flowmon – , 100 /;
  • Flowmon – ;
  • / .

Também queremos convidá-lo para o nosso webinar dedicado às soluções do fornecedor da Flowmon Networks . Para pré-inscrição, registre-se aqui.

Por enquanto é isso, obrigado pelo seu interesse!

All Articles