Resolver problemas de uma rede com registos e métricas do Observador de Rede

Concluído

Se quiser diagnosticar um problema rapidamente, tem de compreender as informações disponíveis nos registos do Observador de Rede do Azure.

Na sua empresa de engenharia, quer minimizar o tempo para a sua equipa diagnosticar e resolver qualquer problema de configuração de rede. Quer garantir que sabem que informações estão disponíveis e em que registos.

Neste módulo, irá concentrar-se em registos de fluxo, registos de diagnóstico e análise de tráfego. Irá aprender como estas ferramentas podem ajudar a resolver problemas da rede do Azure.

Utilização e quotas

Pode utilizar cada recurso do Microsoft Azure até à sua quota. Cada subscrição tem quotas separadas e a utilização é controlada por subscrição. Só é necessária uma instância do Observador de Rede por subscrição por região. Esta instância dá-lhe uma vista da utilização e quotas para que possa ver se está em risco de atingir uma quota.

Para ver as informações de utilização e quota, navegue para Todos os Serviços>Rede>Observador de Rede e, em seguida, selecione Utilização e quotas. Verá dados granulares com base na utilização e localização do recurso. São capturados os dados das seguintes métricas:

  • Interfaces de rede
  • Grupos de segurança de rede (NSGs)
  • Redes virtuais
  • Endereços IP públicos

Eis um exemplo que mostra a utilização e quotas no portal:

Screenshot showing usage and quotas by using Network Watcher.

Registos

Os registos de diagnóstico de rede fornecem dados granulares. Irá utilizar estes dados para compreender melhor os problemas de desempenho e conectividade. Existem três ferramentas de apresentação de registos no Observador de Rede:

  • Registos do Fluxo do NSG
  • Registos de diagnósticos
  • Análise de tráfego

Vamos ver cada uma destas ferramentas.

Registos do Fluxo do NSG

Nos logs de fluxo NSG, você pode exibir informações sobre o tráfego IP de entrada e saída em grupos de segurança de rede. Os logs de fluxo mostram os fluxos de entrada e saída por regra, com base no adaptador de rede ao qual o fluxo se aplica. Os registos do fluxo do NSG mostram se o tráfego foi permitido ou negado com base nas informações de 5 cadeias de identificação capturadas. Estas informações incluem:

  • IP de origem
  • Porta de origem
  • IP de destino
  • Porta de destino
  • Protocolo

Este diagrama mostra o fluxo de trabalho que o NSG segue.

Screenshot showing the workflow that the NSG follows from inbound traffic to rule matches to allowing or denying a packet.

Os registos de fluxo armazenam dados num ficheiro JSON. Pode ser difícil obter informações sobre estes dados ao procurar manualmente os ficheiros de registo, especialmente se tiver uma implementação de infraestrutura grande no Azure. Para resolver esse problema, use o Power BI.

No Power BI, você pode visualizar os logs de fluxo do NSG de várias maneiras. Por exemplo:

  • Principais locutores (endereço IP)
  • Fluxos por direção (entrada e saída)
  • Fluxos por decisão (permitido e negado)
  • Fluxos por porta de destino

Também pode utilizar ferramentas open source para analisar os seus registos, como Elastic Stack, Grafana e Graylog.

Nota

Os registos do fluxo do NSG não suportam contas de armazenamento no portal clássico do Azure.

Registos de diagnósticos

No Observador de Rede, os registos de diagnósticos são um local central para ativar e desativar registos de recursos de rede do Azure. Estes recursos podem incluir NSGs, IPs públicos, balanceadores de carga e gateways de aplicação. Depois de ativar os registos que lhe interessam, pode utilizar as ferramentas para consultar e ver entradas de registo.

Pode importar registos de diagnóstico no Power BI e outras ferramentas para analisá-los.

Análise de tráfego

Para investigar a atividade do utilizador e aplicação nas suas redes da cloud, utilize a análise de tráfego.

A ferramenta fornece informações sobre a atividade da rede em subscrições. Pode diagnosticar ameaças de segurança, como portas abertas, VMs a comunicar com redes incorretas conhecidas e padrões do fluxo de tráfego. A análise de tráfego analisa registos do fluxo do NSG nas regiões e subscrições do Azure. Pode utilizar os dados para otimizar o desempenho da rede.

Esta ferramenta necessita do Log Analytics. A área de trabalho do Log Analytics tem de existir numa região suportada.

Cenários de caso de utilização

Agora, vamos ver alguns cenários de caso de utilização em que as métricas e registos do Observador de Rede do Azure podem ser úteis.

Os clientes comunicam um desempenho lento

Para resolver um desempenho lento, tem de determinar a origem do problema:

  • Existe muito tráfego a limitar o servidor?
  • O tamanho da VM é adequado para a tarefa?
  • Os limiares de escalabilidade estão definidos corretamente?
  • Estão a ocorrer ataques maliciosos?
  • A configuração do armazenamento da VM está correta?

Verifique se o tamanho da VM é adequado para a tarefa. Em seguida, ative o Diagnóstico do Azure na VM para obter dados mais granulares para métricas específicas, como utilização da CPU e utilização da memória. Para ativar o diagnóstico da VM através do portal, aceda à VM, selecione Definições de Diagnóstico e, em seguida, ative o diagnóstico.

Vamos pressupor que tem uma VM que está a funcionar corretamente. No entanto, o desempenho da VM piorou recentemente. Para identificar se tem estrangulamentos de recursos, tem de rever os dados capturados.

Comece com um intervalo de tempo dos dados capturados antes, durante e após o problema comunicado para obter uma vista precisa do desempenho. Estes gráficos também podem ser úteis para fazer uma referência cruzada de diferentes comportamentos de recursos no mesmo período. Vai verificar:

  • Estrangulamentos de CPU
  • Estrangulamentos de memória
  • Estrangulamentos de disco

Estrangulamentos de CPU

Quando você está olhando para problemas de desempenho, você pode examinar as tendências para entender se elas afetam seu servidor. Para ver tendências, utilize os gráficos de monitorização no portal. Poderá ver diferentes tipos de padrões nos gráficos de monitorização:

  • Picos isolados. Um pico poderá estar relacionado com uma tarefa agendada ou evento esperado. Se souber qual é essa tarefa, a mesma é executada no nível de desempenho necessário? Se o desempenho estiver bom, poderá não precisar de aumentar a capacidade.
  • Pico e constante. Uma nova carga de trabalho poderá causar esta tendência. Ative a monitorização na VM para descobrir que processos causam a carga. O aumento do consumo pode ser devido a um código ineficiente ou pode ser o consumo normal da nova carga de trabalho. Se o consumo for normal, o processo opera no nível de desempenho necessário?
  • Constante. A sua VM foi sempre assim? Nesse caso, deve identificar os processos que consomem mais recursos e ponderar adicionar capacidade.
  • Aumento constante. Vê um aumento constante no consumo? Nesse caso, esta tendência poderia indicar código ineficiente ou um processo a utilizar mais carga de trabalho do utilizador.

Se observar utilização elevada de CPU:

  • Aumente o tamanho da VM para dimensionar com mais núcleos.
  • Investigue o problema. Localize a aplicação e o processo e resolva problemas em conformidade.

Se você aumentar a escala da VM e a CPU ainda estiver sendo executada acima de 95%, o desempenho do aplicativo será melhor ou a taxa de transferência do aplicativo será maior para um nível aceitável? Caso contrário, resolva problemas da aplicação individual.

Estrangulamentos de memória

Pode ver a quantidade de memória que a VM utiliza. Os registos irão ajudá-lo a compreender a tendência e se mapeia até à hora em que vê problemas. Você não deve ter menos de 100 MB de memória disponível em nenhum momento. Veja as seguintes tendências:

  • Pico e consumo constante. A utilização de memória elevada poderá não ser a causa do mau desempenho. Algumas aplicações, como motores de base de dados relacionais, consomem muita memória por predefinição. No entanto, se existirem múltiplas aplicações que consomem muita memória, poderá ocorrer um mau desempenho, porque a contenção de memória causa a limitação e paginação do disco. Estes processos irão causar um impacto negativo no desempenho.
  • Consumo cada vez maior. Esta tendência poderá ser uma aplicação a arrancar. É comum quando os motores de base de dados estão a ser iniciados. No entanto, também poderá ser um sinal de fuga de memória numa aplicação.
  • Utilização de ficheiro de troca ou página. Verifique se está a utilizar o ficheiro de página do Windows com muita frequência ou o ficheiro de troca do Linux, localizado em /dev/sdb.

Para resolver a utilização de memória elevada, considere estas soluções:

  • Como solução imediata ou para utilização do ficheiro de página, aumente o tamanho da VM para adicionar memória e, em seguida, monitorize.
  • Investigue o problema. Localize o aplicativo ou processo que está causando o gargalo e solucione-o. Se souber qual é a aplicação, veja se pode limitar a alocação de memória.

Estrangulamentos de disco

O desempenho de rede também poderá estar relacionado com o subsistema de armazenamento da VM. Pode investigar a conta de armazenamento da VM no portal. Para identificar problemas com o armazenamento, observe as métricas de desempenho do diagnóstico da conta de armazenamento e do diagnóstico da VM. Procure tendências principais quando os problemas ocorrem num determinado intervalo de tempo.

  • Para verificar o tempo limite do Armazenamento do Azure, utilize as métricas ClientTimeOutError, ServerTimeOutError, AverageE2ELatency, AverageServerLatency e TotalRequests. Se você vir valores nas métricas TimeOutError , uma operação de E/S demorou muito tempo e expirou. Se você vir AverageServerLatency aumentar ao mesmo tempo que TimeOutErrors, pode ser um problema de plataforma. crie um pedido com o suporte técnico da Microsoft.
  • Para verificar a limitação do Armazenamento do Azure, utilize a métrica de conta de armazenamento ThrottlingError. Se vir a limitação, está a atingir o limite de IOPS da conta. Pode verificar este problema ao investigar a métrica TotalRequests.

Para corrigir os problemas de latência e utilização elevada do disco:

  • Otimize a operação de E/S da VM para dimensionar os limites anteriores do disco rígido virtual (VHD).
  • Aumente o débito e reduza a latência. Se detetar que tem uma aplicação sensível à latência e exigir um débito elevado, migre os VHDs para o Armazenamento Premium do Azure.

Regras de firewall da máquina virtual a bloquear o tráfego

Para resolver um problema do fluxo do NSG, utilize o registo do fluxo do NSG e a ferramenta de verificação do fluxo de IP do Observador de Rede para determinar se existe um NSG ou Encaminhamento Definido pelo Utilizador (UDR) a interferir com o fluxo de tráfego.

Execute a verificação do fluxo de IP e especifique a VM local e a VM remota. Depois de selecionar Verificar, o Azure executará um teste lógico nas regras em vigor. Se o resultado for que o acesso é permitido, utilize os registos do fluxo do NSG.

No portal, aceda aos NSGs. Nas definições dos registos de fluxo, selecione Ligado. Tente ligar à VM novamente. Utilize a análise de tráfego do Observador de Rede para visualizar os dados. Se o resultado for que o acesso é permitido, não existe uma regra do NSG a interferir.

Se tiver chegado a este ponto e ainda não tiver diagnosticado o problema, poderá haver um problema com a VM remota. Desative a firewall na VM remota e, em seguida, teste novamente a conectividade. Se conseguir ligar à VM remota com a firewall desativada, verifique as definições da firewall remota. Em seguida, ative novamente a firewall.

Incapacidade de comunicação das sub-redes de front-end e back-end

Por predefinição, todas as sub-redes conseguem comunicar no Azure. Se duas VMs em duas sub-redes não conseguirem comunicar, deve existir uma configuração que está a bloquear a comunicação. Antes de verificar os registos de fluxo, execute a ferramenta de verificação do fluxo de IP da VM de front-end para a VM de back-end. Esta ferramenta executa um teste lógico nas regras na rede.

Se o resultado for que um NSG na sub-rede de back-end está a bloquear todas as comunicações, tem de configurar novamente esse NSG. Para fins de segurança, tem de bloquear alguma comunicação com o front-end, uma vez que está exposto à Internet pública.

Ao bloquear a comunicação com o back-end, limita a quantidade de exposição no caso de um ataque de segurança ou malware. No entanto, se o NSG bloquear tudo, está configurado incorretamente. Ative as portas e os protocolos específicos que são necessários.