Solucionar problemas de integridade do recurso e de disponibilidade de entrada
Este artigo pode ajudar você a investigar problemas que afetam a disponibilidade dos recursos de IP de front-end e back-end do balanceador de carga.
Use a funcionalidade de integridade do recurso no Azure Load Balancer para determinar a integridade do balanceador de carga. Ele analisa a métrica Disponibilidade do Caminho de Dados para determinar se os pontos de extremidade de balanceamento de carga, as combinações de IP de front-end e portas de front-end com regras de balanceamento de carga estão disponíveis.
Observação
O Load Balancer Básico não dá suporte à funcionalidade de integridade do recurso.
A tabela a seguir descreve a lógica para determinar o status de integridade do balanceador de carga.
Status de integridade de recurso | Descrição |
---|---|
Disponível | Seu recurso do 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 de Disponibilidade do Caminho de Dados relatou integridade inferior a 90%, mas superior a 25% por pelo menos dois minutos. Você pode estar enfrentando degradação de desempenho moderada a grave. |
Não disponível | Seu recurso do balanceador de carga não está íntegro. A métrica Disponibilidade do Caminho de Dados 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. Os eventos do usuário ou da plataforma podem estar causando indisponibilidade. |
Desconhecido | O status de integridade do recurso do balanceador de carga não foi atualizado ou não 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 dá suporte à funcionalidade de integridade do recurso. |
Monitorar a disponibilidade do 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 Investigação de Integridade. É importante entender seu significado para obter insights corretos.
Disponibilidade do Caminho de Dados
Um ping TCP gera a métrica de Disponibilidade do Caminho de Dados a cada 25 segundos em todas as portas de front-end em que 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 de IP/porta de frontend para cada uma de suas regras de balanceamento de carga, em um período de tempo de amostra.
Status da Investigação de Integridade
Um ping do protocolo definido na investigação de integridade gera a métrica de Status da Investigação de Integridade. Esse ping é enviado para cada instância no pool de back-end e na porta definida na investigação de integridade. Para investigações HTTP e HTTPS, um ping bem-sucedido requer uma resposta HTTP 200 OK
. Com investigações TCP, qualquer resposta é considerada bem-sucedida.
O Azure Load Balancer determina a integridade de cada instância de back-end quando a investigação atinge o número de falhas ou êxitos consecutivos que você configurou para a propriedade de limite de investigação. O status de integridade de cada instância de backend determina se a instância de backend tem ou não permissão para receber tráfego.
Semelhante à 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 Saúde indica a saúde do backend isoladamente do seu balanceador de carga, sondando suas instâncias de backend sem enviar tráfego pelo frontend.
Importante
O Status da Investigação de Integridade é amostrado a cada minuto. Ista amostragem pode levar a flutuações secundárias em um valor outrora constante.
Por exemplo, considere cenários ativos/passivos em que há duas instâncias de back-end, uma investigada e outra investigada. O serviço de investigação de integridade pode capturar sete amostras para a instância íntegra e seis para a instância não íntegra. Essa situação leva a um valor anteriormente estável de 50 mostrado como 46,15 para um intervalo de um minuto.
Diagnosticar balanceadores de carga degradados e indisponíveis
Conforme descrito neste artigo sobre a integridade do recurso, um balanceador de carga degradado mostra entre 25% e 90% para a Disponibilidade do Caminho de Dados. Um balanceador de carga indisponível é aquele com menos de 25% para Disponibilidade do Caminho de Dados em um período de dois minutos.
Execute as mesmas etapas para investigar a falha que você observa em qualquer Status da Investigação de Integridade ou alertas de Disponibilidade de Caminho de Dados que você configurou. As etapas a seguir exploram o que fazer caso verifique a integridade do recurso e encontre o balanceador de carga indisponível com um valor de Disponibilidade de Caminho de Dados de 0%. Seu serviço está inativo.
No portal do Azure, acesse a exibição das métricas detalhadas da página para obter insights do balanceador de carga. Acesse a exibição na página do recursos do balanceador de carga ou no link da mensagem de integridade do recurso.
Acesse o guia de disponibilidade de front-end e back-end e revisamos uma janela de 30 minutos do período em que o estado degradado ou indisponível ocorreu. Se o valor de Disponibilidade do Caminho de Dados for 0%, você saberá que algo está impedindo o tráfego para todas as regras de balanceamento de carga. Também é possível visualizar por quanto tempo esse problema durou.
Verifique a métrica Status da Investigação de Integridade para determinar se o caminho de dados está indisponível porque você não tem instâncias de back-end íntegras para atender ao tráfego. Caso tenha pelo menos uma instância de back-end íntegra para todas as suas regras de balanceamento de carga e de entrada, você saberá que sua configuração não é o que está fazendo com que seus caminhos de dados fiquem indisponíveis. Esse cenário indica um problema da plataforma do Azure. Embora os problemas de plataforma sejam raros, eles disparam um alerta automatizado para nossa equipe para resolução rápida.
Diagnosticar falhas de investigação de integridade
Se a métrica do Status da Investigação de Integridade indicar que suas instâncias de back-end não estão íntegras, recomendamos usar a seguinte a lista de verificação abaixo para descartar erros comuns de configuração:
Verifique a utilização da CPU para seus recursos para determinar se eles estão sob uma alta carga.
Verifique isso exibindo a métrica percentual de CPU do recurso por meio da página Métricas. Para obter mais informações, confira Solucionar problemas de alta utilização da CPU para as máquinas virtuais do Windows Azure.
Caso esteja usando uma verificação de investigação HTTP ou HTTPS, verifique se o aplicativo está íntegro e respondendo.
Validar que seu aplicativo é 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.
Examine os NSGs (grupos de segurança de rede) aplicados aos seus recursos de back-end. Verifique se nenhuma regra tem uma prioridade maior do
AllowAzureLoadBalancerInBound
que a que bloqueia a investigação de integridade.Execute essa tarefa acessando as configurações de rede suas VMs de back-end ou os conjuntos de dimensionamento de máquinas virtuais. Caso descobra que esse problema de NSG é o caso, mova a regra existente
Allow
ou crie uma nova regra de alta prioridade para permitir o tráfego do Azure Load Balancer.Verifique seu sistema operacional. Verifique se as VMs estão escutando na porta de investigação. Examine também as regras de firewall do sistema operacional para as VMs para garantir que elas não estejam bloqueando o tráfego de investigação proveniente do endereço IP
168.63.129.16
.Você pode verificar as portas de escuta executando
netstat -a
no prompt de comando do Windows ounetstat -l
em um terminal do Linux.Garanta que você está usando o protocolo correto. Por exemplo, uma investigação que usa HTTP para investigar uma porta escutando um aplicativo não HTTP irá falhar.
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.