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.

Monitorizar o Balanceador de Carga do Azure utilizando métricas multidimensionais

O Balanceador de Carga do Azure fornece métricas multidimensionais através do Azure Metrics no portal Azure, e ajuda-o a obter informações diagnósticas em tempo real sobre os recursos do seu balanceador de carga. Observe que as métricas multidimensionais não são suportadas para Basic Load Balancers

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 desalocadas, o balanceador de carga deixa de reportar métricas nessa situação. Métricas que não estão disponíveis aparecem como uma linha tracejada no portal, ou exibem 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 definir a agregação temporal para cinco minutos e utilizar o tipo de agregação de métricas Soma para métricas como a alocação SNAT, o gráfico apresenta cinco vezes o total de portas SNAT alocadas.

Recomendação: Ao analisar o tipo de agregação métrica Soma e Contagem, use um valor de agregação temporal superior a um minuto.

Recupere métricas multidimensionais programaticamente por meio de APIs

Para orientações da API sobre a obtenção de definições e valores de métricas multidimensionais, consulte o guia da API Azure Monitoring REST. Pode escrever estas métricas numa conta de armazenamento adicionando uma definição de diagnóstico para a categoria Todas as Métricas .

Cenários comuns de diagnóstico do Balanceador de Carga do Azure e vistas recomendadas

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. O pacote então percorre a região desde a origem até ao host de uma VM no pool backend. 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 de Estado da Sonda de Saúde com o tipo de agregação média .

  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.

Se as ligações de saída falharem intermitentemente, pode haver esgotamento da porta SNAT. Verifique as métricas de utilização e alocação de portas SNAT e reveja as orientações de esgotamento de portas SNAT. Para maior capacidade de SNAT, use o Azure NAT Gateway.

Para obter estatísticas de conexão SNAT:

  1. Selecione o tipo de métrica Conexões SNAT e Soma 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. Esta métrica indica quantos fluxos únicos são estabelecidos entre uma origem na Internet e uma VM de back-end ou um conjunto de dimensionamento de máquinas virtuais que estejam atrás de um balanceador de carga e não tenham um endereço IP público. Ao comparar o número de portas SNAT que está a usar com a métrica de Portas SNAT Alocadas, pode determinar se o seu serviço está a experienciar ou em risco de esgotamento do SNAT e consequente falha no fluxo de saída.

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 a utilização de SNAT para fluxos TCP por máquina, agrega por Média, divide por IPs Backend e filtra por Tipo de Protocolo.

Como posso verificar as tentativas de conexão de entrada e saída 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 os tipos de métrica de Contagem de Bytes e Contagem de Pacotes , tendo 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 diagnostico a implementação do meu 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. A linha azul da disponibilidade do caminho de dados, que mais tarde atingiu os 100 por cento, indica esta informação.

  • 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 ajuda-te a resolver o problema da implantação sem teres de adivinhar ou perguntar ao suporte se há outros problemas. 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.

Para configurar alertas:

  1. Ir para a página de alerta do balanceador de carga

  2. Criar nova regra de alerta

    1. Configurar condição de alerta (Para evitar alertas excessivos, configure os alertas com o tipo de agregação definido como Média, com base numa janela de cinco minutos de dados e com um limite de 95%)

    2. (Opcional) Adicionar grupo de ação para reparo automatizado

    3. Atribua gravidade, nome e descrição do alerta que permitam uma reação intuitiva

Alertas de disponibilidade de entrada

Nota

Se os pools backend do teu balanceador de carga estiverem vazios, o balanceador de carga não tem caminhos de dados válidos para testar. Como resultado, a métrica de disponibilidade do caminho de dados não está disponível, e quaisquer alertas do Azure configurados na métrica de disponibilidade do caminho de dados não são ativados.

Para criar alertas para a disponibilidade de tráfego de entrada, pode criar dois alertas separados com base nas métricas de disponibilidade do caminho de dados e de estado da sonda de saúde. Os clientes podem ter diferentes cenários que requerem uma lógica de alerta específica, mas os exemplos seguintes são úteis para a maioria das configurações.

Ao utilizar a disponibilidade de caminhos de dados, pode disparar alertas sempre que uma regra específica de balanceamento de carga se tornar indisponível. Você pode configurar este alerta definindo uma condição de alerta para a disponibilidade do caminho de dados e dividindo por todos os valores atuais e futuros tanto para a porta frontend quanto para o endereço IP do frontend. Definir a lógica de alerta para ser menor ou igual a 0 faz com que este alerta dispare sempre que qualquer regra de balanceamento de carga se torna inresponsiva. Defina a granularidade da agregação e a frequência da avaliação de acordo com a avaliação desejada.

Ao usar o estado da sonda de saúde, pode alertar quando uma dada instância de backend falha em responder à sonda de saúde durante um período significativo de tempo. Configure a sua condição de alerta para utilizar a métrica de estado da sonda de saúde e segmentar por endereço IP de back-end e porta de back-end, utilizando o tipo de agregação Média. Isso garante que você possa alertar separadamente para a capacidade de cada instância de back-end individual de atender ao tráfego em uma porta específica.

Alertas de disponibilidade de saída externa

Para a disponibilidade de tráfego de saída, pode configurar dois alertas separados com base no número de ligações SNAT e nas métricas de portas SNAT utilizadas.

Para detetar falhas de ligação de saída, configure um alerta usando a métrica de contagem de ligações SNAT e filtre para Estado da Ligação = Falhado. Use a agregação Total. Depois, divida esta métrica por endereço IP do backend e defina-a para incluir todos os valores atuais e futuros, para que possa alertar separadamente para cada instância backend que tenha falhado as ligações. Defina o limite para ser maior que zero ou um número maior se você espera ver algumas falhas de conexão de saída.

Ao usar a métrica de portas SNAT utilizadas, pode definir um alerta para um risco mais elevado de esgotamento de SNAT e falha de ligação de saída. Certifique-se de dividir por endereço IP e protocolo do backend quando usar este alerta. Use a Agregação Média. Defina o limiar para ser superior a uma percentagem do número de portas que aloca por instância que considere insegura. Por exemplo, configure um alerta de baixa gravidade quando uma instância de back-end usa 75% de suas portas alocadas. Configure um alerta de alta severidade quando forem utilizados 90% ou 100% das portas alocadas.

Estado de saúde dos recursos

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