Solucionar problemas de integridade de recursos e disponibilidade de entrada

Este artigo pode ajudá-lo a investigar problemas que afetam a disponibilidade do IP de front-end e dos recursos de back-end do seu balanceador de carga.

Você pode usar o recurso de integridade do recurso no Balanceador de Carga do Azure para determinar a integridade do seu balanceador de carga. Ele analisa a métrica Data Path Availability para determinar se os pontos de extremidade de balanceamento de carga, o IP de frontend e as combinações de porta de frontend com regras de balanceamento de carga estão disponíveis.

Nota

O Balanceador de Carga Básico não suporta o recurso de integridade do recurso.

A tabela a seguir descreve a lógica para determinar o status de integridade do seu balanceador de carga.

Estado de funcionamento dos recursos Descrição
Disponível Seu recurso de balanceador de carga está íntegro e disponível.
Degradado Seu balanceador de carga tem eventos iniciados pela plataforma ou pelo usuário que afetam o desempenho. A métrica Data Path Availability relatou menos de 90%, mas maior que 25% de integridade por pelo menos dois minutos. Você pode estar enfrentando degradação de desempenho moderada a grave.
Indisponível Seu recurso de balanceador de carga não está íntegro. A métrica Data Path Availability relatou menos de 25% de integridade por pelo menos dois minutos. Você pode estar enfrentando uma degradação significativa do desempenho ou uma falta de disponibilidade para conectividade de entrada. Eventos de usuário ou plataforma podem estar causando indisponibilidade.
Desconhecido O estado de funcionamento do recurso do balanceador de carga não foi atualizado nem recebeu informações de Disponibilidade do Caminho de Dados nos últimos 10 minutos. Esse estado pode ser transitório ou o balanceador de carga pode não suportar o recurso de integridade do recurso.

Monitore a disponibilidade do seu balanceador de carga

As duas métricas que o Azure Load Balancer usa para verificar a integridade do recurso são Disponibilidade do Caminho de Dados e Status da Sonda de Integridade. É importante entender seu significado para obter insights corretos.

Disponibilidade do Caminho de Dados

Um ping TCP gera a métrica Disponibilidade do Caminho de Dados a cada 25 segundos em todas as portas front-end onde você configurou regras de balanceamento de carga. Esse ping TCP é roteado para qualquer uma das instâncias de back-end íntegras (investigadas). A métrica é uma taxa de sucesso percentual agregada de pings TCP em cada combinação IP/porta frontend para cada uma das suas regras de balanceamento de carga, em um período de tempo de amostragem.

Estado da Sonda de Estado de Funcionamento

Um ping do protocolo definido na sonda de integridade gera a métrica Status da Sonda de Integridade. Esse ping é enviado para cada instância no pool de back-end e na porta definida no teste de integridade. Para testes HTTP e HTTPS, um ping bem-sucedido requer uma HTTP 200 OK resposta. Com as sondas TCP, qualquer resposta é considerada bem-sucedida.

O Balanceador de Carga do Azure determina a integridade de cada instância de back-end quando a sonda atinge o número de sucessos ou falhas consecutivos que você configurou para a propriedade de limite de teste. O status de integridade de cada instância de back-end determina se a instância de back-end tem ou não permissão para receber tráfego.

Assim como a métrica Disponibilidade do Caminho de Dados, a métrica Status da Sonda de Integridade agrega a média de pings bem-sucedidos e totais durante o intervalo de amostragem. O valor Status da Sonda de Integridade indica a integridade do back-end isoladamente do seu balanceador de carga, examinando suas instâncias de back-end sem enviar tráfego pelo frontend.

Importante

O status da sonda de integridade é amostrado em um minuto. Esta amostragem pode conduzir a pequenas flutuações num valor que, de outro modo, seria estável.

Por exemplo, considere cenários ativos/passivos em que há duas instâncias de back-end, uma sondada para cima e outra para baixo. O serviço de investigação de integridade pode capturar sete amostras para a instância saudável e seis para a instância não íntegra. Esta situação leva a um valor anteriormente estável de 50 mostrando como 46,15 para um intervalo de um minuto.

Diagnosticar balanceadores de carga degradados e indisponíveis

Conforme descrito neste artigo sobre integridade de recursos, um balanceador de carga degradado mostra entre 25% e 90% para disponibilidade de caminho de dados. Um balanceador de carga indisponível é aquele com menos de 25% para Disponibilidade de Caminho de Dados durante um período de dois minutos.

Você pode seguir as mesmas etapas para investigar a falha que você vê em qualquer alerta de Status da Sonda de Integridade ou Disponibilidade de Caminho de Dados que você configurou. As etapas a seguir exploram o que fazer se você verificar a integridade do recurso e achar que seu balanceador de carga não está disponível com um valor de Disponibilidade de Caminho de Dados de 0%. O seu serviço está inativo.

  1. No portal do Azure, vá para a exibição de métricas detalhadas da página para obter informações sobre o balanceador de carga. Aceda à vista a partir da página do recurso do balanceador de carga ou a partir da ligação na mensagem de estado de funcionamento do recurso.

  2. Vá para a guia para disponibilidade de frontend e back-end e revise uma janela de 30 minutos do período de tempo em que o estado degradado ou indisponível ocorreu. Se o valor Data Path Availability for 0%, você sabe que algo está impedindo o tráfego para todas as suas regras de balanceamento de carga. Você também pode ver quanto tempo esse problema durou.

  3. Verifique a métrica Status da Sonda de Integridade para determinar se o caminho de dados não está disponível porque você não tem instâncias de back-end íntegras para atender ao tráfego. Se você tiver pelo menos uma instância de back-end íntegra para todas as suas regras de entrada e balanceamento de carga, saberá que sua configuração não é o que está causando a indisponibilidade dos caminhos de dados. Este cenário indica um problema da plataforma Azure. Embora os problemas da plataforma sejam raros, eles disparam um alerta automatizado para nossa equipe para resolução rápida.

Diagnosticar falhas na sonda de integridade

Se a métrica Status da Sonda de Integridade indicar que suas instâncias de back-end não estão íntegras, recomendamos usar a seguinte lista de verificação para excluir erros comuns de configuração:

  • Verifique a utilização da CPU para seus recursos para determinar se eles estão sob alta carga.

    Você pode verificar visualizando a métrica Porcentagem de CPU do recurso na página Métricas . Para obter mais informações, consulte Solucionar problemas de alta CPU para máquinas virtuais do Windows do Azure.

  • Se você estiver usando uma sonda HTTP ou HTTPS, verifique se o aplicativo está íntegro e responsivo.

    Valide se seu aplicativo está funcional acessando-o diretamente por meio do endereço IP privado ou do endereço IP público no nível da instância associado à sua instância de back-end.

  • Analise os NSGs (grupos de segurança de rede) aplicados aos seus recursos de back-end. Certifique-se de que nenhuma regra tenha uma prioridade maior do AllowAzureLoadBalancerInBound que aquela que bloqueia a sonda de integridade.

    Você pode fazer essa tarefa visitando as configurações de rede de suas VMs de back-end ou conjuntos de dimensionamento de máquina virtual. Se você achar que esse problema do NSG é o caso, mova a regra existente Allow ou crie uma nova regra de alta prioridade para permitir o tráfego do Balanceador de Carga do Azure.

  • Verifique o seu SO. Certifique-se de que suas VMs estão escutando na porta de teste. Analise também as regras de firewall do sistema operacional para as VMs para garantir que elas não estejam bloqueando o tráfego de sonda originado do endereço 168.63.129.16IP.

    Você pode verificar as portas de escuta executando netstat -a a partir de um prompt de comando do Windows ou netstat -l de um terminal Linux.

  • Certifique-se de que está a utilizar o protocolo certo. Por exemplo, um teste que usa HTTP para investigar uma porta escutando um aplicativo não-HTTP falha.

  • Não coloque o Firewall do Azure no pool de back-end de balanceadores de carga. Para obter mais informações, consulte Integrar o Firewall do Azure ao Azure Standard Load Balancer.