Resolução de problemas do estado degradado no Gestor de Tráfego do Azure

Este artigo descreve como resolver problemas de um perfil do Gestor de Tráfego do Azure que mostra um estado degradado. Como primeiro passo na resolução de problemas de um estado degradado do Gestor de Tráfego do Azure, é ativar o registo. Veja Ativar registos de recursos para obter mais informações. Para este cenário, considere que configurou um perfil do Gestor de Tráfego que aponta para alguns dos seus cloudapp.net serviços alojados. Se o estado de funcionamento do Gestor de Tráfego apresentar um estado Degradado , o estado de um ou mais pontos finais poderá estar Degradado:

estado do ponto final degradado

Se o estado de funcionamento do Gestor de Tráfego apresentar um estado Inativo , ambos os pontos finais poderão ser Desativados:

Estado do Gestor de Tráfego Inativo

Compreender as pesquisas do Gestor de Tráfego

  • O Gestor de Tráfego considera que um ponto final é ONLINE apenas quando a sonda recebe uma resposta HTTP 200 de volta do caminho da sonda. Se a aplicação devolver qualquer outro código de resposta HTTP, deve adicionar esse código de resposta aos Intervalos de código de estado esperados do perfil do Gestor de Tráfego.
  • Uma resposta de redirecionamento 30x é tratada como uma falha, a menos que o tenha especificado como um código de resposta válido em Intervalos de código de estado esperados do perfil do Gestor de Tráfego. O Gestor de Tráfego não sonda o destino de redirecionamento.
  • Para sondas HTTPs, os erros de certificado são ignorados.
  • O conteúdo real do caminho da sonda não importa, desde que seja devolvido um 200. Sondar um URL para algum conteúdo estático como "/favicon.ico" é uma técnica comum. Os conteúdos dinâmicos, como as páginas do ASP, podem nem sempre devolver 200, mesmo quando a aplicação está em bom estado de funcionamento.
  • Uma melhor prática é definir o caminho da sonda para algo que tenha lógica suficiente para determinar que o site está para cima ou para baixo. No exemplo anterior, ao definir o caminho como "/favicon.ico", está apenas a testar que w3wp.exe está a responder. Esta sonda pode não indicar que a aplicação Web está em bom estado de funcionamento. Uma melhor opção seria definir um caminho para algo como "/Probe.aspx" que tenha lógica para determinar o estado de funcionamento do site. Por exemplo, pode utilizar contadores de desempenho para utilizar a CPU ou medir o número de pedidos falhados. Em alternativa, pode tentar aceder aos recursos da base de dados ou ao estado da sessão para garantir que a aplicação Web está a funcionar.
  • Se todos os pontos finais num perfil estiverem degradados, o Gestor de Tráfego tratará todos os pontos finais como estando em bom estado de funcionamento e encaminha o tráfego para todos os pontos finais. Este comportamento garante que os problemas com o mecanismo de pesquisa não resultam numa falha completa do serviço.

Resolução de problemas

Para resolver uma falha de pesquisa, precisa de uma ferramenta que mostre o código de estado HTTP devolvido a partir do URL da pesquisa. Existem muitas ferramentas disponíveis que lhe mostram a resposta HTTP não processada.

Além disso, pode utilizar o separador Rede das Ferramentas de Depuração F12 no Internet Explorer para ver as respostas HTTP.

Para este exemplo, queremos ver a resposta do nosso URL de pesquisa: http://watestsdp2008r2.cloudapp.net:80/Probe. O seguinte exemplo do PowerShell ilustra o problema.

Invoke-WebRequest 'http://watestsdp2008r2.cloudapp.net/Probe' -MaximumRedirection 0 -ErrorAction SilentlyContinue | Select-Object StatusCode,StatusDescription

Exemplo de saída:

StatusCode StatusDescription
---------- -----------------
        301 Moved Permanently

Repare que recebemos uma resposta de redirecionamento. Conforme indicado anteriormente, qualquer StatusCode diferente de 200 é considerado uma falha. O Gestor de Tráfego altera o estado do ponto final para Offline. Para resolver o problema, verifique a configuração do site para garantir que o StatusCode adequado pode ser devolvido a partir do caminho da pesquisa. Reconfigure a sonda do Gestor de Tráfego para apontar para um caminho que devolve um 200.

Se a sonda estiver a utilizar o protocolo HTTPS, poderá ter de desativar a verificação de certificados para evitar erros SSL/TLS durante o teste. As seguintes instruções do PowerShell desativam a validação do certificado para a sessão atual do PowerShell:

add-type @"
using System.Net;
using System.Security.Cryptography.X509Certificates;
public class TrustAllCertsPolicy : ICertificatePolicy {
    public bool CheckValidationResult(
    ServicePoint srvPoint, X509Certificate certificate,
    WebRequest request, int certificateProblem) {
    return true;
    }
}
"@
[System.Net.ServicePointManager]::CertificatePolicy = New-Object TrustAllCertsPolicy

Passos Seguintes

Acerca dos métodos de encaminhamento de tráfego do Gestor de Tráfego

O que é o Gestor de Tráfego

Serviços em Nuvem

Serviço de Aplicações do Azure

Operações do Traffic Manager (Referência da API REST)

Cmdlets do Gestor de Tráfego do Azure