Felsöka degraderat tillstånd på Azure Traffic Manager

Den här artikeln beskriver hur du felsöker en Azure Traffic Manager-profil som visar en degraderad status. Det första steget i att felsöka ett Azure-Traffic Manager degraderat tillstånd är att aktivera loggning. Mer information hittar du i Aktivera resurs loggar . I det här scenariot bör du tänka på att du har konfigurerat en Traffic Manager-profil som pekar på några av dina cloudapp.net-värdbaserade tjänster. Om hälso tillståndet för Traffic Manager visar degraderad status kan statusen för en eller flera slut punkter försämras:

status för degraderad slut punkt

Om hälso tillståndet för Traffic Manager visar inaktiv status kan båda slut punkterna vara inaktiverade:

Status för inaktiva Traffic Manager

Förstå Traffic Manager avsökningar

  • Traffic Manager anser att en slut punkt endast är ONLINE när avsökningen får ett HTTP 200-svar tillbaka från avsöknings Sök vägen. Om du returnerar en annan HTTP-svarskod måste du lägga till den svars koden till förväntade status kod intervall i Traffic Manager profilen.
  • Ett 30 omdirigerings svar behandlas som ett haveri om du inte har angett en giltig svarskod i förväntade status kod intervall för din Traffic Manager profil. Traffic Manager avsöker inte omdirigerings målet.
  • Certifikat fel ignoreras för HTTPs-avsökningar.
  • Det faktiska innehållet i avsöknings Sök vägen spelar ingen roll, så länge som en 200 returneras. Avsökning av en URL till ett statiskt innehåll, t. ex. "/favicon.ico" är en vanlig teknik. Dynamiskt innehåll, som ASP-sidor, kan inte alltid returnera 200, även om programmet är felfritt.
  • Ett bra tips är att ställa in avsöknings Sök vägen till något som har tillräckligt med logik för att avgöra om platsen är aktiv eller inte. I föregående exempel, genom att ange sökvägen till "/favicon.ico", testar du bara att w3wp.exe svarar. Den här avsökningen kanske inte indikerar att webb programmet är felfritt. Ett bättre alternativ är att ange en sökväg till något som "/PROBE.aspx" som har logik för att fastställa webbplatsens hälso tillstånd. Du kan till exempel använda prestanda räknare för processor användning eller mäta antalet misslyckade förfrågningar. Eller så kan du försöka få åtkomst till databas resurser eller sessionstillstånd för att kontrol lera att webb programmet fungerar.
  • Om alla slut punkter i en profil är degraderade Traffic Manager behandlar alla slut punkter som felfria och dirigerar trafik till alla slut punkter. Det här beteendet säkerställer att problem med avsöknings mekanismen inte resulterar i ett fullständigt avbrott i tjänsten.

Felsökning

Om du vill felsöka ett avsöknings fel behöver du ett verktyg som visar HTTP-statuskoden från avsöknings-URL: en. Det finns många tillgängliga verktyg som visar RAW HTTP-svaret.

Du kan också använda fliken nätverk i verktyget F12-felsökning i Internet Explorer för att Visa HTTP-svar.

I det här exemplet vill vi se svaret från vår avsöknings-URL: http: / /watestsdp2008r2.cloudapp.net:80/PROBE. I följande PowerShell-exempel visas problemet.

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

Exempel på utdata:

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

Observera att vi har fått ett omdirigerings svar. Som tidigare nämnts anses en annan StatusCode som inte är 200. Traffic Manager ändrar slut punkts statusen till offline. Lös problemet genom att kontrol lera webbplats konfigurationen för att se till att rätt StatusCode kan returneras från avsöknings Sök vägen. Konfigurera om Traffic Manager-avsökningen så att den pekar på en sökväg som returnerar en 200.

Om avsökningen använder HTTPS-protokollet kan du behöva inaktivera certifikat kontroll för att undvika SSL/TLS-fel under testet. Följande PowerShell-uttryck inaktiverar certifikat validering för den aktuella PowerShell-sessionen:

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

Nästa steg

Om Traffic Manager Traffic routing-metoder

Vad är Traffic Manager

Molntjänster

Azure App Service

Åtgärder i Traffic Manager (REST-API-referens)

Azure Traffic Manager-cmdletar