Diagnóstico do balanceador de carga Standard com métricas, alertas e estado de funcionamento dos recursos

O Balanceador de Carga do Azure expõe as seguintes capacidades de diagnóstico:

  • Métricas e alertas multidimensionais: Fornece capacidades de diagnóstico multidimensionais através de Azure Monitor para configurações Balanceador de Carga do Azure. Você pode monitorar, gerenciar e solucionar problemas de seus recursos de balanceador de carga padrão.

  • Resource Health: O estado de saúde do recurso do seu balanceador de carga está disponível na página Resource Health em Monitor. Essa verificação automática informa sobre a disponibilidade atual do recurso do balanceador de carga.

Este artigo fornece um tour rápido desses recursos e oferece maneiras de usá-los para um balanceador de carga padrão.

Para iniciar a resolução de problemas, use cenários de diagnóstico comuns e vistas recomendadas para escolher a métrica e agregação que correspondam ao seu sintoma. Depois, use as secções detalhadas para investigar o resultado.

Métricas multidimensionais

O Balanceador de Carga do Azure fornece métricas multidimensionais através das métricas do Azure Monitor no portal Azure, que fornecem informações diagnósticas em tempo real sobre os recursos do seu balanceador de carga. Métricas multidimensionais não são suportadas para o Basic Balanceador de Carga (aposentado).

As várias configurações do balanceador de carga fornecem as seguintes métricas:

Métrica Tipo de recurso Descrição Agregação recomendada
Disponibilidade do Caminho de Dados Balanceador de carga público e interno Um balanceador de carga usa continuamente o caminho de dados de dentro de uma região para o front-end do balanceador de carga para a rede que suporta sua VM. Desde que as instâncias saudáveis permaneçam, a medição seguirá o mesmo caminho que o tráfego balanceado do aplicativo. O caminho de dados em uso é validado. A medição é invisível para a sua aplicação e não interfere com outras operações. Média
Estado da Verificação de Saúde Balanceador de carga público e interno Um balanceador de carga usa um serviço distribuído de sondagem de saúde que monitora a integridade do ponto de extremidade da aplicação de acordo com as suas configurações. Esta métrica proporciona uma vista filtrada agregada ou por ponto final de cada ponto final no conjunto do balanceador de carga. Você pode ver como o balanceador de carga vê a integridade do seu aplicativo, conforme indicado pela configuração da sonda de integridade. Média
Contagem de SYN Balanceador de carga público e interno Um balanceador de carga não encerra conexões TCP (Transmission Control Protocol) nem interage com fluxos TCP ou UDP (User Data-gram Packet). Os fluxos e os respetivos handshakes estão sempre entre a origem e a instância da VM. Para resolver melhor os problemas relacionados com o protocolo TCP, pode utilizar os contadores de pacotes SYN para compreender quantas tentativas de ligação TCP são feitas. A métrica reporta o número de pacotes SYN de TCP que foram recebidos. Soma
Contagem de conexões SNAT (Source Network Address Translation) Balanceador de carga público Um balanceador de carga relata o número de fluxos de saída que são mascarados para a interface de endereço IP público. As portas SNAT são um recurso esgotável. Esta métrica pode dar uma indicação de quão fortemente a sua aplicação está a depender do SNAT para os fluxos de saída originados. São reportados contadores para fluxos SNAT de saída bem-sucedidos e com falha. Os contadores podem ser usados para solucionar problemas e entender a integridade de seus fluxos de saída. Soma
Portas SNAT alocadas Balanceador de carga público Um balanceador de carga relata o número de portas SNAT alocadas por instância de back-end Média.
Portas SNAT usadas Balanceador de carga público Um balanceador de carga relata o número de portas SNAT que são utilizadas por instância de back-end. Média
Contagem de bytes Balanceador de carga público e interno Um balanceador de carga relata os dados processados por front-end. Você pode notar que os bytes não são distribuídos igualmente entre as instâncias de back-end. Isto é esperado, pois o algoritmo Balanceador de Carga do Azure é baseado em fluxos Soma
Contagem de Pacotes Balanceador de carga público e interno Um balanceador de carga relata os pacotes processados por front-end. Soma

Nota

Métricas relacionadas à largura de banda, como pacotes SYN, contagem de bytes e contagem de pacotes, não capturarão nenhum tráfego para um balanceador de carga interno por meio de um UDR (por exemplo, de um NVA ou firewall).

As agregações máxima e mínima não estão disponíveis para as métricas de contagem SYN, contagem de pacotes, contagem de conexão SNAT e contagem de bytes. A agregação de contagem não é aconselhada para a disponibilidade do caminho de dados e o status da sonda de saúde. Em vez disso, use a média para os dados de saúde mais bem representados.

Nota

A métrica de Disponibilidade do Caminho de Dados pode demorar até 10 minutos a aparecer nas métricas do Azure Monitor após a criação ou atualização de um balanceador de carga.

Veja as suas métricas de balanceador de carga no portal do Azure

O portal Azure expõe as métricas do balanceador de carga através da página de Métricas. Esta página está disponível tanto na página de recursos do balanceador de carga para um recurso específico como na página do Azure Monitor.

Nota

O Balanceador de Carga do Azure não envia sondas de saúde para máquinas virtuais desalocadas. Quando as máquinas virtuais são libertadas, o balanceador de carga deixará de reportar métricas para essa instância. As métricas que não estão disponíveis aparecerão como uma linha tracejada no Portal ou exibirão uma mensagem de erro indicando que as métricas não podem ser recuperadas.

Para visualizar as métricas dos recursos do balanceador de carga:

  1. Vá para a página de métricas e execute uma das seguintes tarefas:

    • Na página de recursos do balanceador de carga, selecione o tipo de métrica na lista suspensa.

    • Na página do Azure Monitor, selecione o recurso do balanceador de carga.

  2. Defina o tipo de agregação métrica apropriado.

  3. Opcionalmente, configure a filtragem e o agrupamento necessários.

  4. Opcionalmente, configure o intervalo de tempo e a agregação. Por padrão, a hora é exibida em UTC.

Nota

A agregação de tempo é importante ao interpretar determinadas métricas, pois os dados são amostrados uma vez por minuto. Se a agregação de tempo for definida como cinco minutos e o tipo de agregação métrica Soma for usado para métricas como alocação SNAT, seu gráfico exibirá cinco vezes o total de portas SNAT alocadas.

Recomendação: Ao analisar o tipo de agregação métrica Soma e Contagem, recomendamos o uso de um valor de agregação de tempo maior que um minuto.

Recupere métricas multidimensionais programaticamente por meio de APIs

Para orientações da API para recuperar definições e valores de métricas multidimensionais, consulte guia de consulta da API REST do Azure Monitoramento. Essas métricas podem ser gravadas em uma conta de armazenamento adicionando uma configuração de diagnóstico para a categoria 'Todas as métricas'.

Use a tabela seguinte para selecionar uma métrica antes de abrir os cenários detalhados.

Sintoma ou pergunta Métrica Aggregation Filtro ou divisão Próxima ação
O caminho de dados do balanceador de carga está disponível? Disponibilidade do Caminho de Dados Média Endereço IP do frontend ou porta do frontend Compare o resultado com o Estado da Prova de Saúde para isolar a saúde da plataforma e da aplicação.
As instâncias de backend respondem às sondagens? Estado da Verificação de Saúde Média Endereço IP do backend e porta do backend Verifique a configuração da sonda, as regras de segurança da rede, o firewall de convidados e o ouvinte da aplicação.
As ligações de saída estão a falhar? Contagem de Ligações SNAT Soma Estado da conexão Investigue ligações com falha devido ao esgotamento das portas SNAT.
A utilização das portas SNAT está a aproximar-se do limite alocado? Portos SNAT usados e portas SNAT atribuídas Média por backend, ou soma para o balanceador de carga Tipo de Protocolo, Endereço IP do Backend ou Endereço IP do Frontend Compare portas usadas e alocadas, depois ajuste a conectividade de saída se o uso for inseguro.
Quantas tentativas de ligação TCP ocorreram? Contagem de SYN Soma Endereço IP do frontend ou porta do frontend Compare as tentativas com a disponibilidade e o estado de funcionamento da sonda.
Quanto tráfego passou por um frontend? Contagem de bytes ou contagem de pacotes Soma endereço IP de frontend, porta de frontend, endereço IP de backend ou porta de backend Revise a distribuição do tráfego e o intervalo temporal selecionado.

O caminho de dados está ativo e disponível para o frontend do meu balanceador de carga?

Expandir

A métrica Data Path Availability descreve a integridade dentro da região do caminho de dados para o host de computação onde suas VMs estão localizadas. A métrica reflete a saúde do teu balanceador de carga, com base na tua configuração e na infraestrutura do Azure. Você pode usar a métrica para:

  • Monitorize a disponibilidade externa do seu serviço.

  • Investigue a plataforma onde seu serviço está implantado e determine se ele está íntegro. Determine se o SO convidado ou a instância do aplicativo está íntegra.

  • Isole se um evento está relacionado ao seu serviço ou ao plano de dados subjacente. Não confunda esta métrica com a métrica de Sonda de Saúde.

Para obter a disponibilidade da via de dados dos recursos do balanceador de carga:

  1. Verifique se o recurso correto do balanceador de carga está selecionado.

  2. Na lista suspensa Métrica, selecione Disponibilidade do Caminho de Dados.

  3. Na lista suspensa Agregação, selecione Média.

  4. Além disso, adicione um filtro no endereço IP do frontend ou na porta do frontend como dimensão, especificando o endereço IP do frontend ou a porta do frontend necessários. Em seguida, agrupe-os pela dimensão selecionada.

A métrica é gerada por um serviço de sondagem dentro da região que simula o tráfego. O serviço de sondagem gera periodicamente um pacote que corresponde à regra de frontend e balanceamento de carga da sua implantação. Em seguida, o pacote atravessa a região da origem até o host de uma VM no pool de back-end. A infraestrutura do balanceador de carga executa as mesmas operações de balanceamento de carga e conversão que executa para todos os outros tráfegos. Depois que a sonda chega ao host, onde uma VM no pool de back-end está localizada, o host gera uma resposta ao serviço de sondagem. Sua VM não vê esse tráfego.

Observe que a métrica Data Path Availability só será gerada em configurações IP frontend com regras de balanceamento de carga.

A métrica Data Path Availability pode ser degradada pelos seguintes motivos:

  • Sua implantação não tem VMs saudáveis restantes no pool de backend.

  • Ocorreu uma interrupção da infraestrutura.

Para fins de diagnóstico, pode-se usar a métrica para a disponibilidade do caminho de dados juntamente com o status da sonda de integridade.

Use Média como agregação para a maioria dos cenários.

As instâncias de back-end do meu balanceador de carga estão respondendo a sondas?

Expandir

A métrica Status da Sonda de Integridade descreve a integridade da implantação do aplicativo conforme configurada por você quando você configura a sonda de integridade do balanceador de carga. O balanceador de carga usa o status da sonda de integridade para determinar para onde enviar novos fluxos. As sondas de saúde originam-se de um endereço de infraestrutura Azure e são visíveis dentro do sistema operativo convidado da VM.

Para obter a métrica do estado da Sonda de Saúde para os recursos do balanceador de carga:

  1. Selecione a métrica Estado da Sonda de Saúde com média como tipo de agregação.

  2. Aplique um filtro ao endereço IP de front-end necessário ou à porta (ou ambos).

As sondas de saúde falham pelos seguintes motivos:

  • Você configura uma sonda de integridade para uma porta que não está escutando ou não está respondendo ou está usando o protocolo errado. Se o seu serviço estiver a usar regras de IP flutuante ou de retorno direto do servidor, verifique se o serviço está a monitorizar o endereço IP da configuração de IP da NIC e o loopback configurado com o endereço IP do frontend.

  • O Grupo de Segurança de Rede, o firewall do SO convidado da VM ou os filtros da camada de aplicação não permitem o tráfego da sonda de saúde.

Use Média como agregação para a maioria dos cenários.

Como faço para verificar minhas estatísticas de conexão de saída?

Expandir

A métrica SNAT Connection Count descreve o volume de ligações bem-sucedidas e falhadas para fluxos de saída.

Um volume de ligações falhadas superior a zero indica esgotamento da porta SNAT. Deve investigar mais a fundo para determinar o que poderá estar a causar estas falhas. A exaustão da porta SNAT manifesta-se como uma falha no estabelecimento de um fluxo de saída. Revise o artigo sobre conexões de saída para entender os cenários e mecanismos em funcionamento e aprender como mitigar e projetar para evitar o esgotamento da porta SNAT.

Para obter estatísticas de conexão SNAT:

  1. Selecione SNAT Connection Count e Sum como agregação.

  2. Agrupar por Estado de Conexão para que as conexões SNAT bem-sucedidas e falhadas sejam representadas por linhas diferentes.

Como verifico o uso e a alocação da minha porta SNAT?

Expandir

A métrica de portas SNAT usada rastreia quantas portas SNAT estão sendo consumidas para manter os fluxos de saída. Essa métrica indica quantos fluxos exclusivos são estabelecidos entre uma fonte da Internet e uma VM de back-end ou um conjunto de escala de máquina virtual que está atrás de um balanceador de carga e não tem um endereço IP público. Ao comparar o número de portas SNAT que você está usando com a métrica Portas SNAT alocadas, você pode determinar se o serviço está enfrentando ou em risco de esgotamento SNAT e falha de fluxo de saída resultante.

Se as suas métricas indicarem o risco de falha de fluxo de saída, consulte o artigo e tome medidas para mitigar isso e garantir a saúde do serviço.

Para exibir o uso e a alocação da porta SNAT:

  1. Defina a agregação de tempo do gráfico para 1 minuto para garantir que os dados desejados sejam exibidos.

  2. Selecione Portas SNAT Usadas e/ou Portas SNAT Alocadas como o tipo de métrica e Média como a agregação.

    • Por padrão, essas métricas são o número médio de portas SNAT alocadas ou usadas por cada VM de back-end ou conjunto de dimensionamento de máquina virtual. Eles correspondem a todos os IPs públicos do frontend mapeados para o balanceador de carga, agregados através de TCP e UDP.

    • Para exibir o total de portas SNAT usadas ou alocadas para o balanceador de carga, use a agregação métrica Soma.

  3. Filtre por um tipo de protocolo específico, um conjunto de IPs de back-end e/ou IPs de front-end.

  4. Para monitorar a integridade por instância de back-end ou frontend, aplique a divisão.

    • A divisão de notas permite apenas que uma única métrica seja exibida de cada vez.
  5. Por exemplo, para monitorizar o uso do SNAT para fluxos TCP por máquina, agregar pela média, dividir pelos endereços IP de back-end e filtrar pelo tipo de protocolo.

Como faço para verificar as tentativas de entrada/saída de conexão para o meu serviço?

Expandir Uma métrica de pacotes SYN descreve o volume de pacotes TCP SYN, que chegaram ou foram enviados para fluxos de saída associados a um front-end específico. Você pode usar essa métrica para entender as tentativas de conexão TCP ao seu serviço.

Para obter mais informações sobre conexões de saída, consulte Conversão de endereços de rede de origem (SNAT) para conexões de saída

Use Soma como agregação para a maioria dos cenários.

Como posso verificar o consumo de largura de banda da minha rede?

Expandir

A métrica de bytes e contadores de pacotes descreve o volume de bytes e pacotes enviados ou recebidos pelo seu serviço numa base por cada front-end.

Use Soma como agregação para a maioria dos cenários.

Para obter estatísticas de contagem de bytes ou pacotes:

  1. Selecione o tipo de métrica Contagem de Bytes e/ou Contagem de Pacotes, com Soma como agregação.

  2. Efetue um dos seguintes procedimentos:

    • Aplique um filtro para um IP específico de frontend, uma porta de frontend, um IP de backend ou uma porta de backend.

    • Obtenha estatísticas gerais para o seu recurso de balanceador de carga sem qualquer filtragem.

Como faço para diagnosticar minha implantação do balanceador de carga?

Expandir

Ao usar uma combinação entre a disponibilidade do caminho de dados e as métricas de estado da verificação de integridade num único gráfico, pode identificar onde procurar o problema e o resolver. Pode obter a certeza de que o Azure está a funcionar corretamente e usar esse conhecimento para determinar conclusivamente que a configuração ou aplicação é a causa raiz.

Pode usar métricas de sonda de saúde para perceber como o Azure vê a saúde da sua implementação de acordo com a configuração que forneceu. Olhar para os indicadores de saúde é sempre um ótimo primeiro passo para monitorizar ou identificar a causa.

Pode ir mais longe e usar a métrica de disponibilidade de caminhos de dados para obter uma perceção de como o Azure vê a saúde do plano de dados subjacente responsável pela sua implementação específica. Ao combinar ambas as métricas, você pode isolar onde a falha pode estar, conforme ilustrado neste exemplo:

Combinando a disponibilidade do caminho de dados e as métricas de status da sonda de integridade.

Figura: Combinando a disponibilidade do caminho de dados e as métricas de estado da sonda de saúde

O gráfico exibe as seguintes informações:

  • A infraestrutura que hospeda suas VMs estava indisponível e em 0% no início do gráfico. Mais tarde, a infraestrutura estava íntegra e as VMs estavam acessíveis, e mais de uma VM foi colocada no back-end. Essas informações são indicadas pelo rastreamento azul para disponibilidade do caminho de dados, que mais tarde estava em 100%.

  • O status da sonda de saúde, indicado pelo traço roxo, está em 0% no início do gráfico. A área destacada em verde mostra o ponto em que o estado da sonda de saúde se tornou saudável e a implantação do cliente conseguiu aceitar novos fluxos.

O gráfico permite que os clientes solucionem problemas de implantação por conta própria, sem ter que adivinhar ou perguntar ao suporte se outros problemas estão ocorrendo. O serviço não estava disponível porque as sondas de integridade estavam falhando devido a uma configuração incorreta ou a um aplicativo com falha.

Configurar alertas para métricas multidimensionais

O Balanceador de Carga do Azure suporta alertas facilmente configuráveis para métricas multidimensionais. Configure limites personalizados para métricas específicas para disparar alertas com diferentes níveis de severidade para capacitar uma experiência de monitoramento de recursos sem toque.

Use as seguintes definições como ponto de partida e ajuste os limiares para a sua carga de trabalho.

Objetivo de alerta Métrica Aggregation Dimensões ou filtro Condição de exemplo
Detetar uma regra de balanceamento de carga indisponível Disponibilidade do Caminho de Dados Média Dividido com base em todos os valores atuais e futuros dos endereços IP e das portas de front-end Menor ou igual a 0
Detetar uma instância backend pouco saudável Estado da Verificação de Saúde Média Dividido por endereço IP do backend e porta do backend Abaixo da percentagem saudável exigida pela sua carga de trabalho por um período prolongado
Detetar falhas nas ligações de saída Contagem de Ligações SNAT Total Filtre por Connection State = Falhado e divida por todos os valores atuais e futuros dos endereços IP de backend Maior que 0, ou um valor específico de carga de trabalho superior
Detetar o risco de exaustão das portas SNAT Portas SNAT usadas Média Dividido por endereço IP backend e protocolo Superior a uma percentagem específica da carga de trabalho de portas SNAT alocadas, como 75% para severidade baixa e 90% ou 100% para severidade elevada

Para configurar alertas:

  1. Vai à página de alertas do balanceador de carga.

  2. Criar uma nova regra de alerta.

  3. Configura a condição de alerta. Para evitar alertas de disponibilidade com ruído, use a agregação Média, uma janela retrospetiva de cinco minutos e um valor limite de 95% como ponto de partida.

  4. Opcionalmente, adiciona um grupo de ações para reparação automática.

  5. Atribua uma gravidade, nome e descrição do alerta que apoiem uma resposta intuitiva.

  6. Verifica se a regra de alerta está ativada. Abra a sua condição e confirme se a métrica, agregação, dimensões ou filtros pretendidos e limiar correspondem à sua configuração.

Alertas de disponibilidade de entrada

Nota

Se os pools de back-end do seu balanceador de carga estiverem vazios, o balanceador de carga não terá nenhum caminho de dados válido para testar. Como resultado, a métrica de disponibilidade do caminho de dados não estará disponível, e quaisquer alertas Azure configurados na métrica de disponibilidade do caminho de dados não serão ativados.

Para disponibilidade de entrada, crie alertas separados para a Disponibilidade do Caminho de Dados e o Estado da Sonda de Saúde. Use a tabela em Configurar alertas para métricas multidimensionais como ponto de partida e defina a granularidade da agregação e a frequência de avaliação para a sua carga de trabalho.

Alertas de disponibilidade de saída externa

Para a disponibilidade de saída, crie alertas separados para o Número de ligações SNAT e as Portas SNAT utilizadas. Use a tabela em Configurar alertas para métricas multidimensionais para preservar o filtro de falha de conexão, as dimensões do backend e do protocolo, e os limiares de exemplo.

Estado de saúde do recurso

O estado de saúde dos recursos do balanceador de carga padrão está disponível através do Estado de Saúde do Recurso sob Monitorizar > a Saúde do Serviço. Ele é avaliado a cada dois minutos , medindo a disponibilidade do caminho de dados que determina se seus pontos de extremidade de balanceamento de carga de frontend estão disponíveis.

Estado de saúde dos recursos Descrição
Disponível O seu recurso de balanceador de cargas padrão está em boas condições e disponível.
Degradado Seu balanceador de carga padrão tem eventos iniciados pela plataforma ou pelo usuário que afetam o desempenho. A métrica de disponibilidade do caminho de dados relatou menos de 90%, mas mais de 25% de integridade por pelo menos dois minutos. Com esse status, você experimenta um efeito de desempenho moderado a grave. Consulte Suporte e resolução de problemas para Balanceador de Carga do Azure para determinar se existem eventos iniciados pelo utilizador que afetam a sua disponibilidade.
Indisponível Seu recurso de balanceador de carga padrão não está íntegro. A métrica de disponibilidade do caminho de dados relatou menos de 25% de integridade por pelo menos dois minutos. Com este status, experienciará um efeito significativo no desempenho ou falta de disponibilidade para conectividade entrante. Pode haver eventos de usuário ou plataforma causando indisponibilidade. Consulte Suporte e resolução de problemas para Balanceador de Carga do Azure para determinar se existem eventos iniciados pelo utilizador que afetam a sua disponibilidade.
Desconhecido O estado de saúde do recurso do balanceador de carga não foi atualizado ou não recebeu informações sobre a disponibilidade do trajeto de dados nos últimos 10 minutos. Este estado deve ser transitório e refletirá o estado correto assim que os dados forem recebidos.

Para visualizar a saúde dos recursos públicos do balanceador de carga padrão:

  1. Selecione Monitor>estado do serviço.

  2. Selecione Estado de funcionamento do recurso e, em seguida, certifique-se de que ID de subscrição e Tipo de recurso = balanceador de carga estão selecionados.

  3. Na lista, selecione o recurso do balanceador de carga para exibir seu status histórico de integridade.

Uma descrição genérica de um estado de saúde de um recurso está disponível na documentação de integridade do recurso.

Alertas de Resource Health

Os alertas do Azure Resource Health podem avisar você quase em tempo real quando a condição do seu recurso do Balanceador de Carga muda. É recomendável definir alertas de integridade de recursos para notificá-lo quando o recurso do balanceador de carga estiver em um estado Degradado ou Indisponível .

Quando cria alertas de saúde de recursos no Azure para o Load Balancer, o Azure envia notificações de saúde de recursos para a sua subscrição do Azure. Você pode criar e personalizar alertas com base em:

  • A subscrição afetada
  • O grupo de recursos afetado
  • O tipo de recurso afetado (Balanceador de carga)
  • O recurso específico (qualquer recurso de balanceador de carga para o qual você escolher configurar um alerta)
  • O status do evento relacionado ao recurso do balanceador de carga afetado
  • O status atual do recurso do balanceador de carga afetado
  • O status anterior do recurso do balanceador de carga afetado
  • O motivo do tipo de recurso afetado do balanceador de carga

Você também pode configurar para quem o alerta deve ser enviado:

  • Um novo grupo de ação (que pode ser usado para alertas futuros)
  • Um grupo de ação existente

Para obter mais informações sobre como configurar esses alertas de integridade de recursos, consulte:

Próximos passos