Share via


Problemen oplossen met verminderde beschikbaarheid in Azure Traffic Manager

In dit artikel wordt beschreven hoe u problemen kunt oplossen met een Azure Traffic Manager-profiel dat een gedegradeerde status heeft. Als eerste stap bij het oplossen van problemen met een gedegradeerde status van Azure Traffic Manager is het inschakelen van logboekregistratie. Raadpleeg Resourcelogboeken inschakelen voor meer informatie. Voor dit scenario moet u er rekening mee houden dat u een Traffic Manager-profiel hebt geconfigureerd dat verwijst naar een aantal van uw cloudapp.net gehoste services. Als de status van uw Traffic Manager de status Gedegradeerd weergeeft, is de status van een of meer eindpunten mogelijk gedegradeerd:

gedegradeerde eindpuntstatus

Als in de status van Traffic Manager de status Inactief wordt weergegeven, zijn beide eindpunten mogelijk uitgeschakeld:

Inactieve Traffic Manager-status

Traffic Manager-tests begrijpen

  • Traffic Manager beschouwt een eindpunt alleen als ONLINE wanneer de test een HTTP 200-antwoord van het testpad ontvangt. Als uw toepassing een andere HTTP-antwoordcode retourneert, moet u die antwoordcode toevoegen aan de verwachte statuscodebereiken van uw Traffic Manager-profiel.
  • Een 30x omleidingsantwoord wordt behandeld als een fout, tenzij u dit hebt opgegeven als een geldige antwoordcode in de verwachte statuscodebereiken van uw Traffic Manager-profiel. Traffic Manager test het omleidingsdoel niet.
  • Voor HTTPs-tests worden certificaatfouten genegeerd.
  • De werkelijke inhoud van het testpad maakt niet uit, zolang er maar een 200 wordt geretourneerd. Het testen van een URL naar bepaalde statische inhoud, zoals '/favicon.ico' is een veelgebruikte techniek. Dynamische inhoud, zoals de ASP-pagina's, retourneert mogelijk niet altijd 200, zelfs niet wanneer de toepassing in orde is.
  • Een best practice is om het testpad in te stellen op iets dat voldoende logica heeft om te bepalen of de site omhoog of omlaag is. In het vorige voorbeeld, door het pad in te stellen op '/favicon.ico', test u alleen of w3wp.exe reageert. Deze test geeft mogelijk niet aan dat uw webtoepassing in orde is. Een betere optie is om een pad in te stellen naar iets zoals '/Probe.aspx' dat logica bevat om de status van de site te bepalen. U kunt bijvoorbeeld prestatiemeteritems gebruiken om het CPU-gebruik te gebruiken of het aantal mislukte aanvragen te meten. Of u kunt proberen toegang te krijgen tot databaseresources of sessiestatus om ervoor te zorgen dat de webtoepassing werkt.
  • Als alle eindpunten in een profiel zijn gedegradeerd, behandelt Traffic Manager alle eindpunten als in orde en routeert verkeer naar alle eindpunten. Dit gedrag zorgt ervoor dat problemen met het testmechanisme niet leiden tot een volledige onderbreking van uw service.

Problemen oplossen

Als u een testfout wilt oplossen, hebt u een hulpprogramma nodig waarmee de HTTP-statuscode wordt weergegeven die wordt geretourneerd vanuit de test-URL. Er zijn veel hulpprogramma's beschikbaar waarmee u het onbewerkte HTTP-antwoord kunt zien.

U kunt ook het tabblad Netwerk van de F12-foutopsporingsprogramma's in Internet Explorer gebruiken om de HTTP-antwoorden weer te geven.

Voor dit voorbeeld willen we het antwoord van onze test-URL zien: http://watestsdp2008r2.cloudapp.net:80/Probe. Het volgende PowerShell-voorbeeld illustreert het probleem.

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

Voorbeelduitvoer:

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

U ziet dat er een omleidingsantwoord is ontvangen. Zoals eerder vermeld, wordt elke andere StatusCode dan 200 beschouwd als een fout. Traffic Manager wijzigt de eindpuntstatus in Offline. Als u het probleem wilt oplossen, controleert u de websiteconfiguratie om ervoor te zorgen dat de juiste StatusCode kan worden geretourneerd vanuit het testpad. Configureer de Traffic Manager-test opnieuw zodat deze verwijst naar een pad dat een 200 retourneert.

Als uw test gebruikmaakt van het HTTPS-protocol, moet u mogelijk de certificaatcontrole uitschakelen om SSL/TLS-fouten tijdens de test te voorkomen. Met de volgende PowerShell-instructies wordt certificaatvalidatie uitgeschakeld voor de huidige PowerShell-sessie:

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

Volgende stappen

Verkeersrouteringsmethoden in Traffic Manager

Wat is Traffic Manager?

Cloudservices

Azure App Service

Bewerkingen op Traffic Manager (REST API-referentiemateriaal)

Azure Traffic Manager-cmdlets