Problembehandlung beim Status "Heruntergestuft" in Traffic ManagerTroubleshooting degraded state on Azure Traffic Manager

In diesem Artikel wird beschrieben, wie Probleme bei einem Azure Traffic Manager-Profil mit dem Status „Heruntergestuft“ behoben werden können.This article describes how to troubleshoot an Azure Traffic Manager profile that is showing a degraded status. Der erste Schritt bei der Problembehandlung eines beeinträchtigten Status von Azure Traffic Manager besteht darin, die Diagnoseprotokollierung zu aktivieren.As a first step in troubleshooting a Azure Traffic Manager degraded state is to enable diagnostic logging. Weitere Informationen erhalten Sie unter Aktivieren von Diagnoseprotokollen.Refer to Enable diagnostic logs for more information. Für dieses Szenario nehmen wir an, Sie haben ein Traffic Manager-Profil konfiguriert, das auf einige Ihrer in cloudapp.net gehosteten Dienste verweist.For this scenario, consider that you have configured a Traffic Manager profile pointing to some of your cloudapp.net hosted services. Wenn die Integrität von Traffic Manager den Status Heruntergestuft anzeigt, könnte der Status einer oder mehrerer Endpunkte Heruntergestuft sein:If the health of your Traffic Manager displays a Degraded status, then the status of one or more endpoints may be Degraded:

Heruntergestufter Endpunktstatus

Wenn die Integrität von Traffic Manager den Status Inaktiv anzeigt, sind möglicherweise beide Endpunkte Deaktiviert:If the health of your Traffic Manager displays an Inactive status, then both end points may be Disabled:

Traffic Manager-Status Inaktiv

Hinweise zu Traffic Manager-TestsUnderstanding Traffic Manager probes

  • In Traffic Manager wird ein Endpunkt nur als ONLINE eingestuft, wenn beim Test eine Antwort „200“ vom Testpfad zurückgegeben wird.Traffic Manager considers an endpoint to be ONLINE only when the probe receives an HTTP 200 response back from the probe path. Wenn Ihre Anwendung einen anderen HTTP-Antwortcode zurückgibt, sollten Sie diesen Antwortcode zu den erwarteten Statuscodebereichen Ihres Traffic Manager-Profils hinzufügen.If you application returns any other HTTP response code you should add that response code to Expected status code ranges of your Traffic Manager profile.
  • Eine 30x-Umleitungsantwort wird als Fehler behandelt, es sei denn, Sie haben sie in den erwarteten Statuscodebereichen Ihres Traffic Manager-Profils als gültigen Antwortcode angegeben.A 30x redirect response is treated as failure unless you have specified this as a valid response code in Expected status code ranges of your Traffic Manager profile. Traffic Manager testet das Umleitungsziel nicht.Traffic Manager does not probe the redirection target.
  • Bei HTTPs-Tests werden Zertifikatfehler ignoriert.For HTTPs probes, certificate errors are ignored.
  • Der eigentliche Inhalt des Testpfads ist unerheblich, solange eine Antwort „200“ zurückgegeben wird.The actual content of the probe path doesn't matter, as long as a 200 is returned. Der Test einer URL mit statischem Inhalt wie „/favicon.ico“ ist eine gängige Methode.Probing a URL to some static content like "/favicon.ico" is a common technique. Dynamische Inhalte wie die ASP-Seiten geben möglicherweise nicht immer „200“ zurück, auch wenn die Anwendung fehlerfrei ist.Dynamic content, like the ASP pages, may not always return 200, even when the application is healthy.
  • Es wird empfohlen, den Testpfad mit ausreichender Logik festzulegen, sodass ermittelt werden kann, ob die Website aktiv oder inaktiv ist.A best practice is to set the probe path to something that has enough logic to determine that the site is up or down. Durch Festlegen des Pfads im Beispiel oben auf „/favicon.ico“ wird lediglich getestet, ob „w3wp.exe“ antwortet.In the previous example, by setting the path to "/favicon.ico", you are only testing that w3wp.exe is responding. Mit diesem Test wird jedoch nicht getestet, ob die Webanwendung fehlerfrei ist.This probe may not indicate that your web application is healthy. Besser wäre es, den Pfad beispielsweise auf „/Probe.aspx“ mit der entsprechenden Logik festzulegen, sodass ermittelt wird, ob die Website fehlerfrei ist.A better option would be to set a path to a something such as "/Probe.aspx" that has logic to determine the health of the site. So könnten Sie beispielsweise Leistungsindikatoren für die CPU-Auslastung verwenden oder die Anzahl der fehlgeschlagenen Anforderungen messen.For example, you could use performance counters to CPU utilization or measure the number of failed requests. Oder Sie könnten versuchen, auf Datenbankressourcen oder Sitzungszustand zuzugreifen, um sicherzustellen, dass die Webanwendung funktioniert.Or you could attempt to access database resources or session state to make sure that the web application is working.
  • Wenn alle Endpunkte in einem Profil heruntergestuft sind, behandelt Traffic Manager alle Endpunkte als fehlerfrei und leitet den Datenverkehr an alle Endpunkte weiter.If all endpoints in a profile are degraded, then Traffic Manager treats all endpoints as healthy and routes traffic to all endpoints. Dadurch wird sichergestellt, dass Probleme mit dem Testmechanismus nicht zu einem vollständigen Ausfall des Diensts führen.This behavior ensures that problems with the probing mechanism do not result in a complete outage of your service.

ProblembehandlungTroubleshooting

Zum Beheben eines Testfehlers wird ein Tool benötigt, mit dem der von der Test-URL zurückgegebene HTTP-Statuscode angezeigt wird.To troubleshoot a probe failure, you need a tool that shows the HTTP status code return from the probe URL. Es gibt eine ganze Reihe von Tools, mit denen die unverarbeitete HTTP-Antwort angezeigt werden kann.There are many tools available that show you the raw HTTP response.

Sie können aber auch die Registerkarte „Netzwerk“ der F12-Tools zum Debuggen in Internet Explorer verwenden, um die HTTP-Antworten anzuzeigen.Also, you can use the Network tab of the F12 Debugging Tools in Internet Explorer to view the HTTP responses.

In diesem Beispiel soll die Antwort der folgenden Test-URL angezeigt werden: http://watestsdp2008r2.cloudapp.net:80/Probe.For this example we want to see the response from our probe URL: http://watestsdp2008r2.cloudapp.net:80/Probe. Das folgende PowerShell-Beispiel dient als Veranschaulichung des Problems.The following PowerShell example illustrates the problem.

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

Beispielausgabe:Example output:

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

Wie Sie sehen, haben wir eine Umleitungsantwort erhalten.Notice that we received a redirect response. Wie bereits erwähnt, gelten alle Statuscodes außer „200“ als Fehler.As stated previously, any StatusCode other than 200 is considered a failure. Somit ändert Traffic Manager den Endpunktstatus in „Offline“.Traffic Manager changes the endpoint status to Offline. Sie können dieses Problem beheben, indem Sie die Konfiguration der Website überprüfen, um sicherzustellen, dass vom Testpfad der richtige Statuscode zurückgegeben wird.To resolve the problem, check the website configuration to ensure that the proper StatusCode can be returned from the probe path. Konfigurieren Sie den Traffic Manager-Test so, dass er auf einen Pfad verweist, der eine Antwort „200“ zurückgibt.Reconfigure the Traffic Manager probe to point to a path that returns a 200.

Wenn bei dem Test das HTTPS-Protokoll verwendet wird, müssen Sie möglicherweise die Zertifikatsüberprüfung deaktivieren, um SSL/TLS-Fehler während des Tests zu vermeiden.If your probe is using the HTTPS protocol, you may need to disable certificate checking to avoid SSL/TLS errors during your test. Mit den folgenden PowerShell-Anweisungen können Sie die Zertifikatsüberprüfung für die aktuelle PowerShell-Sitzung deaktivieren:The following PowerShell statements disable certificate validation for the current PowerShell session:

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ächste SchritteNext Steps

Informationen zu Traffic Manager-Routingmethoden für DatenverkehrAbout Traffic Manager traffic routing methods

Was ist Traffic Manager?What is Traffic Manager

Cloud ServicesCloud Services

Azure App ServiceAzure App Service

Vorgänge für Traffic Manager (REST-API-Referenz)Operations on Traffic Manager (REST API Reference)

Azure Traffic Manager-CmdletsAzure Traffic Manager Cmdlets