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

O Azure Load Balancer expõe os seguintes recursos de diagnóstico:

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

  • Estado de funcionamento do recurso: O estado de funcionamento do recurso do seu balanceador de carga está disponível na página Estado de funcionamento do recurso 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.

Métricas multidimensionais

O Azure Load Balancer fornece métricas multidimensionais por meio das Métricas do Azure no portal do Azure e ajuda você a obter informações de diagnóstico em tempo real sobre seus recursos de balanceador de carga.

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

Metric Tipo de recurso Description Agregação recomendada
Disponibilidade do caminho dos dados Balanceador de carga público e interno Um balanceador de carga padrão 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. Enquanto as instâncias íntegras permanecerem, a medição seguirá o mesmo caminho do tráfego com balanceamento de carga 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 sonda de estado de funcionamento Balanceador de carga público e interno Os balanceadores de carga padrão utilizam um serviço de verificação de estado de funcionamento distribuído que monitoriza o estado de funcionamento do ponto final da aplicação de acordo com as definições de configuração. 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 SYN (sincronizar) Balanceador de carga público e interno Um balanceador de carga padrão 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 padrão relata o número de fluxos de saída mascarados para o front-end 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. Contadores para fluxos SNAT de saída bem-sucedidos e com falha são relatados. 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 padrão 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 padrão 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 padrão 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. Isso é esperado, pois o algoritmo do Azure Load Balancer é baseado em fluxos Soma
Contagem de pacotes Balanceador de carga público e interno Um balanceador de carga padrão 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 é recomendada para a disponibilidade do caminho de dados e o status da sonda de integridade. Em vez disso, use a média para os dados de saúde mais bem representados.

Exibir suas métricas de balanceador de carga no portal do Azure

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

Nota

O Azure Load Balancer não envia testes de integridade para máquinas virtuais desalocadas. Quando as máquinas virtuais são deslocalizadas, o balanceador de carga interrompe o relatório de 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 padrão:

  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 Azure Monitor, selecione o recurso de 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.

Metric for data path availability for a standard load balancer.

Figura: Métrica para disponibilidade de caminho de dados para um balanceador de carga padrão

Recupere métricas multidimensionais programaticamente por meio de APIs

Para obter orientações de API para recuperar definições e valores de métricas multidimensionais, consulte Passo a passo da API REST de Monitoramento do Azure. 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'.

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

Expandir

A métrica para disponibilidade do caminho de dados 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 é um reflexo da integridade da 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 essa métrica com o status da sonda de integridade ("Disponibilidade da instância de back-end").

Para obter a disponibilidade do caminho de dados para seus recursos de balanceador de carga padrão:

  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 frontend ou porta frontend como a dimensão com o endereço IP frontend necessário ou porta frontend. Em seguida, agrupe-os pela dimensão selecionada.

Load balancer frontend probing details.

Figura: Detalhes da sondagem frontend do balanceador de carga

A métrica é gerada por uma medição ativa em banda. Um serviço de sondagem dentro da região origina tráfego para a medição. O serviço é ativado assim que você cria uma implantação com um front-end público e continua até que você remova o front-end.

Um pacote correspondente ao front-end e à regra da implantação é gerado periodicamente. Ele atravessa a região desde a origem até o host onde uma VM no pool de back-end está localizada. 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. Esta sonda está em banda no seu ponto de extremidade com balanceamento de carga. Depois que a sonda chega ao host de computação, onde uma VM íntegra no pool de back-end está localizada, o host de computação gera uma resposta ao serviço de sondagem. Sua VM não vê esse tráfego.

A disponibilidade do caminho de dados falha pelos seguintes motivos:

  • Sua implantação não tem VMs íntegras restantes no pool de back-end.

  • Ocorreu uma interrupção da infraestrutura.

Para fins de diagnóstico, você pode usar a Métrica para 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 testes?

Expandir

A métrica de status da sonda de integridade descreve a integridade da implantação do seu aplicativo conforme configurada por você quando você configura a sonda de integridade do seu balanceador de carga. O balanceador de carga usa o status da sonda de integridade para determinar para onde enviar novos fluxos. Os testes de integridade são originários de um endereço de infraestrutura do Azure e são visíveis no sistema operacional convidado da VM.

Para obter o status da sonda de integridade para seus recursos de balanceador de carga padrão:

  1. Selecione a métrica Estado da Pesquisa de Estado de Funcionamento com Tipo de agregação média.

  2. Aplique um filtro no endereço IP ou porta de frontend necessários (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 serviço estiver usando regras de IP flutuante ou de retorno direto do servidor, verifique se o serviço está escutando o endereço IP da configuração IP da placa de rede e o loopback configurado com o endereço IP frontend.

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

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 de conexões SNAT descreve o volume de conexões bem-sucedidas e com falha para fluxos de saída.

Um volume de conexões com falha maior que zero indica exaustão da porta SNAT. Você deve investigar mais para determinar o que pode estar causando essas 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 Tipo de métrica Conexões SNAT e Soma como agregação.

  2. Agrupar por Estado de Conexão para que as contagens de conexão SNAT bem-sucedidas e com falha sejam representadas por linhas diferentes.

Load balancer SNAT connection count.

Figura: Contagem de conexões SNAT do balanceador de carga

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 suas métricas indicarem risco de falha de fluxo de saída, consulte o artigo e tome medidas para mitigar isso para garantir a integridade 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 frontend mapeados para o balanceador de carga, agregados sobre TCP e UDP.

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

  3. Filtre para 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 monitorar o uso do SNAT para fluxos TCP por máquina, agregar por média, dividir por IPs de back-end e filtrar por tipo de protocolo.

Average TCP SNAT port allocation and usage for a set of backend VMs.

Figura: Alocação e uso médio de porta SNAT TCP para um conjunto de VMs de back-end

TCP SNAT port usage per backend instance.

Figura: Uso da porta TCP SNAT por instância de back-end

Como faço para verificar as tentativas de conexão de entrada/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.

Load balancer SYN count.

Figura: Contagem SYN do balanceador de carga

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

Expandir

A métrica bytes e contadores de pacotes descreve o volume de bytes e pacotes enviados ou recebidos pelo seu serviço por 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 em um IP de frontend, porta de frontend, IP de back-end ou porta de back-end específicos.

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

Load balancer byte count.

Figura: Contagem de bytes do balanceador de carga

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

Expandir

Usando uma combinação da disponibilidade do caminho de dados e das métricas de status da sonda de integridade em um único gráfico, você pode identificar onde procurar o problema e resolvê-lo. Você pode obter certeza de que o Azure está funcionando corretamente e usar esse conhecimento para determinar conclusivamente se a configuração ou o aplicativo é a causa raiz.

Você pode usar métricas de teste de integridade para entender como o Azure vê a integridade de sua implantação de acordo com a configuração fornecida. Olhar para as sondas de saúde é sempre um ótimo primeiro passo para monitorar ou determinar uma causa.

Você pode dar um passo adiante e usar a métrica de disponibilidade do caminho de dados para obter informações sobre como o Azure exibe a integridade do plano de dados subjacente responsável por sua implantação específica. Ao combinar ambas as métricas, você pode isolar onde a falha pode estar, conforme ilustrado neste exemplo:

Combining data path availability and health probe status metrics.

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

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 circular em verde destaca onde o status da sonda de integridade se tornou íntegro e em que ponto a implantação do cliente foi capaz de 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 Azure Load Balancer 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 (Observação: para evitar alertas barulhentos, recomendamos configurar alertas com o tipo de agregação definido como Média, olhando para trás em uma janela de dados de cinco minutos 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 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 do Azure configurados na métrica de disponibilidade do caminho de dados não serão acionados.

Para alertar sobre a disponibilidade de entrada, você pode criar dois alertas separados usando as métricas de disponibilidade de caminho de dados e status da sonda de integridade. Os clientes podem ter diferentes cenários que exigem lógica de alerta específica, mas os exemplos abaixo são úteis para a maioria das configurações.

Usando a disponibilidade do caminho de dados, você pode disparar alertas sempre que uma regra específica de balanceamento de carga ficar indisponível. Você pode configurar esse alerta definindo uma condição de alerta para a disponibilidade do caminho de dados e dividindo por todos os valores atuais e futuros para a porta frontend e o endereço IP do frontend. Definir a lógica de alerta como menor ou igual a 0 fará com que esse alerta seja disparado sempre que qualquer regra de balanceamento de carga deixar de responder. Defina a granularidade da agregação e a frequência da avaliação de acordo com a avaliação desejada.

Com o status da sonda de integridade, você pode alertar quando uma determinada instância de back-end não responder à sonda de integridade por um período significativo de tempo. Configure sua condição de alerta para usar a métrica de status da sonda de integridade e dividir por endereço IP de back-end e porta de back-end. 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. Use o tipo de agregação média e defina o valor do limite de acordo com a frequência com que sua instância de back-end é investigada e seu limite considerado íntegro.

Você também pode alertar em um nível de pool de back-end não dividindo por nenhuma dimensão e usando o tipo de agregação média . Isso permite que você configure regras de alerta, como alertar quando 50% dos membros do meu pool de back-end não estiverem íntegros.

Alertas de disponibilidade de saída

Para disponibilidade de saída, você pode configurar dois alertas separados usando a contagem de conexão SNAT e métricas de porta SNAT usadas.

Para detetar falhas de conexão de saída, configure um alerta usando a contagem de conexões SNAT e filtrando para Estado da Conexão = Falha. Use a agregação Total . Em seguida, você pode dividir isso por endereço IP de back-end definido para todos os valores atuais e futuros para alertar separadamente para cada instância de back-end com conexões com falha. 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.

Com portas SNAT usadas, você pode alertar sobre um risco maior de exaustão SNAT e falha de conexão de saída. Certifique-se de que está a dividir por endereço IP de back-end e protocolo ao utilizar este alerta. Use a agregação média . Defina o limite para ser maior do que uma porcentagem do número de portas que você alocou por instância que você determinar que não é segura. 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 gravidade quando ele usar 90% ou 100% de suas portas alocadas.

Estado de funcionamento do recurso

O status de integridade dos recursos do balanceador de carga padrão é exposto por meio da integridade do recurso existente em Monitorar > a integridade 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 funcionamento dos recursos Descrição
Disponível Seu recurso de balanceador de carga padrão está íntegro 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. Siga o guia RHC de solução de problemas para determinar se há eventos iniciados pelo usuário que afetam 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 esse status, você experimenta um efeito significativo no desempenho ou falta de disponibilidade para conectividade de entrada. Pode haver eventos de usuário ou plataforma causando indisponibilidade. Siga o guia RHC de solução de problemas para determinar se há eventos iniciados pelo usuário que afetam sua disponibilidade.
Desconhecido O status de integridade do recurso do balanceador de carga não foi atualizado ou não recebeu informações sobre a disponibilidade do caminho de dados nos últimos 10 minutos. Este estado deve ser transitório e refletirá o estado correto assim que os dados forem recebidos.

Para exibir a integridade dos recursos públicos do balanceador de carga padrão:

  1. Selecione Monitorar>integridade do serviço.

    The service health link on Azure Monitor.

    Figura: O link de integridade do serviço no Azure Monitor

  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.

    Select resource for health view.

    Figura: Selecionar recurso para o modo de exibição de integridade

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

    Resource health status.

    Figura: Estado de funcionamento do recurso

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

Alertas de Resource Health

Os alertas de Integridade de Recursos do Azure podem notificá-lo quase em tempo real quando o estado de integridade do recurso do balanceador de carga for alterado. É 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 você cria alertas de integridade de recursos do Azure para o balanceador de carga, o Azure envia notificações de integridade de recursos para sua assinatura 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 do 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 tipo de motivo do recurso do balanceador de carga afetado

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