Systemüberwachung des Application Gateways – ÜbersichtApplication Gateway health monitoring overview

Azure Application Gateway überwacht standardmäßig die Integrität aller Ressourcen in seinem Back-End-Pool und entfernt automatisch alle als fehlerhaft geltenden Ressourcen aus dem Pool.Azure Application Gateway by default monitors the health of all resources in its back-end pool and automatically removes any resource considered unhealthy from the pool. Application Gateway überwacht die fehlerhaften Instanzen weiterhin und fügt sie dem fehlerfreien Back-End-Pool hinzu, sobald sie verfügbar sind und auf Zustandsüberprüfungen reagieren.Application Gateway continues to monitor the unhealthy instances and adds them back to the healthy back-end pool once they become available and respond to health probes. Application Gateway sendet die Integritätstests über denselben Port, der in den HTTP-Einstellungen des Back-Ends festgelegt wurde.Application gateway sends the health probes with the same port that is defined in the back-end HTTP settings. Durch diese Konfiguration wird sichergestellt, dass derselbe Port getestet wird, den der Kunde für die Verbindung mit dem Back-End verwenden würde.This configuration ensures that the probe is testing the same port that customers would be using to connect to the backend.

Beispiel für einen Application Gateway-Test

Zusätzlich zur Nutzung der standardmäßigen Überwachung der Integritätsüberprüfung können Sie die Integritätsüberprüfung auch an die Anforderungen Ihrer Anwendung anpassen.In addition to using default health probe monitoring, you can also customize the health probe to suit your application's requirements. In diesem Artikel werden sowohl standardmäßige als auch benutzerdefinierte Integritätstests behandelt.In this article, both default and custom health probes are covered.

Hinweis

Dieser Artikel wurde aktualisiert und beinhaltet jetzt das neue Az-Modul von Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. Sie können das AzureRM-Modul weiterhin verwenden, das bis mindestens Dezember 2020 weiterhin Fehlerbehebungen erhält.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Weitere Informationen zum neuen Az-Modul und zur Kompatibilität mit AzureRM finden Sie unter Introducing the new Azure PowerShell Az module (Einführung in das neue Az-Modul von Azure PowerShell).To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Anweisungen zur Installation des Az-Moduls finden Sie unter Install Azure PowerShell (Installieren von Azure PowerShell).For Az module installation instructions, see Install Azure PowerShell.

Standardmäßige IntegritätsüberprüfungDefault health probe

Ein Anwendungsgateway konfiguriert automatisch eine standardmäßige Integritätsüberprüfung, wenn Sie keine benutzerdefinierte Überprüfungskonfiguration einrichten.An application gateway automatically configures a default health probe when you don't set up any custom probe configuration. Das Verhalten der Überwachung funktioniert durch das Erstellen einer HTTP-Anforderung an die für den Back-End-Pool konfigurierten IP-Adressen.The monitoring behavior works by making an HTTP request to the IP addresses configured for the back-end pool. Bei Standardüberprüfungen wird auch HTTPS für den Integritätstest der Back-Ends verwendet, wenn die HTTP-Einstellungen des Back-Ends für HTTPS konfiguriert sind.For default probes if the backend http settings are configured for HTTPS, the probe uses HTTPS as well to test health of the backends.

Beispiel: Sie konfigurieren Ihr Application Gateway für die Verwendung der Back-End-Server A, B und C zum Empfang von HTTP-Netzwerkdatenverkehr an Port 80.For example: You configure your application gateway to use back-end servers A, B, and C to receive HTTP network traffic on port 80. Die standardmäßige Integritätsüberwachung testet die drei Server alle 30 Sekunden auf eine fehlerfreie HTTP-Antwort.The default health monitoring tests the three servers every 30 seconds for a healthy HTTP response. Eine fehlerfreie HTTP-Antwort weist einen Statuscode zwischen 200 und 399 auf.A healthy HTTP response has a status code between 200 and 399.

Wenn die Standardüberprüfung für Server A fehlschlägt, entfernt das Application Gateway sie aus dem Back-End-Pool, und der Netzwerkdatenverkehr an diesen Server wird angehalten.If the default probe check fails for server A, the application gateway removes it from its back-end pool, and network traffic stops flowing to this server. Die Standardüberprüfung führt weiterhin alle 30 Sekunden eine Überprüfung für Server A aus.The default probe still continues to check for server A every 30 seconds. Wenn Server A erfolgreich auf eine Anforderung einer standardmäßigen Integritätsüberprüfung antwortet, wird er dem Back-End-Pool wieder als fehlerfrei hinzugefügt, und der Datenverkehr an den Server startet erneut.When server A responds successfully to one request from a default health probe, it is added back as healthy to the back-end pool, and traffic starts flowing to the server again.

TestabgleichProbe Matching

Standardmäßig gilt eine HTTP(S)-Antwort mit einem Statuscode zwischen 200 und 399 als fehlerfrei.By default, an HTTP(S) response with status code between 200 and 399 is considered healthy. Benutzerdefinierte Integritätstests unterstützen außerdem zwei Abgleichskriterien.Custom health probes additionally support two matching criteria. Abgleichskriterien können verwendet werden, um optional die Standardinterpretation einer fehlerfreien Antwort zu ändern.Matching criteria can be used to optionally modify the default interpretation of what constitutes a healthy response.

Abgleichskriterien:The following are matching criteria:

  • Abgleich des Statuscodes der HTTP-Antwort: Testabgleichskriterium zum Akzeptieren der vom Benutzer angegebenen HTTP-Antwortcodes oder -Antwortcodebereiche.HTTP response status code match - Probe matching criterion for accepting user specified http response code or response code ranges. Einzelne kommagetrennte Antwortstatuscodes und ein Bereich von Statuscodes werden unterstützt.Individual comma-separated response status codes or a range of status code is supported.
  • Abgleich des HTTP-Antworttexts: Testabgleichskriterium, das den HTTP-Antworttext heranzieht und ihn mit einer vom Benutzer angegebenen Zeichenfolge abgleicht.HTTP response body match - Probe matching criterion that looks at HTTP response body and matches with a user specified string. Beim Abgleich wird lediglich auf das Vorhandensein der vom Benutzer angegebenen Zeichenfolge im Antworttext geachtet. Es ist kein Abgleich mit einem vollständigen regulären Ausdruck.The match only looks for presence of user specified string in response body and is not a full regular expression match.

Abgleichskriterien können mithilfe des Cmdlets New-AzApplicationGatewayProbeHealthResponseMatch angegeben werden.Match criteria can be specified using the New-AzApplicationGatewayProbeHealthResponseMatch cmdlet.

Beispiel:For example:

$match = New-AzApplicationGatewayProbeHealthResponseMatch -StatusCode 200-399
$match = New-AzApplicationGatewayProbeHealthResponseMatch -Body "Healthy"

Nachdem Sie die Abgleichskriterien angegeben haben, können sie der Testkonfiguration mit einem -Match-Parameter in PowerShell angefügt werden.Once the match criteria is specified, it can be attached to probe configuration using a -Match parameter in PowerShell.

Einstellungen für die standardmäßige IntegritätsüberprüfungDefault health probe settings

ÜberprüfungseigenschaftProbe property WertValue BESCHREIBUNGDescription
Überprüfungs-URLProbe URL http://127.0.0.1:<port>/ URL-PfadURL path
IntervallInterval 3030 Wartezeitraum in Sekunden, bevor der nächste Integritätstest gesendet wird.The amount of time in seconds to wait before the next health probe is sent.
ZeitüberschreitungTime-out 3030 Gibt in Sekunden an, wie lange das Anwendungsgateway auf eine Testantwort wartet, bevor der Test als fehlerhaft gekennzeichnet wird.The amount of time in seconds the application gateway waits for a probe response before marking the probe as unhealthy. Wenn ein Test als fehlerfrei zurückgegeben wird, wird das entsprechende Back-End sofort als fehlerfrei gekennzeichnet.If a probe returns as healthy, the corresponding backend is immediately marked as healthy.
Fehlerhafter SchwellenwertUnhealthy threshold 33 Steuert an, wie viele Tests gesendet werden sollen, falls für den regulären Integritätstest ein Fehler auftritt.Governs how many probes to send in case there is a failure of the regular health probe. Diese zusätzlichen Integritätstests werden in kurzen Abständen gesendet, um die Back-End-Integrität schnell zu ermitteln und nicht auf das Testintervall zu warten.These additional health probes are sent in quick succession to determine the health of the backend quickly and do not wait for the probe interval. Der Back-End-Server wird als außer Betrieb markiert, nachdem die Anzahl der aufeinanderfolgenden fehlgeschlagenen Überprüfungen den fehlerhaften Schwellenwert erreicht.The back-end server is marked down after the consecutive probe failure count reaches the unhealthy threshold.

Hinweis

Dieser Port stimmt mit dem Port in den HTTP-Einstellungen des Back-Ends überein.The port is the same port as the back-end HTTP settings.

Der Standardtest untersucht nur „http://127.0.0.1:<Port>“, um den Integritätsstatus zu bestimmen.The default probe looks only at http://127.0.0.1:<port> to determine health status. Wenn Sie die Integritätsüberprüfung für eine benutzerdefinierte URL konfigurieren oder andere Einstellungen ändern möchten, müssen Sie benutzerdefinierte Überprüfungen verwenden.If you need to configure the health probe to go to a custom URL or modify any other settings, you must use custom probes.

TestintervalleProbe intervals

Alle Application Gateway-Instanzen testen das Back-End unabhängig voneinander.All instances of Application Gateway probe the backend independent of each other. Für jede Application Gateway-Instanz gilt die gleiche Testkonfiguration.The same probe configuration applies to each Application Gateway instance. Wenn die Testkonfiguration beispielsweise vorgibt, dass alle 30 Sekunden Integritätstests gesendet werden sollen, und das Anwendungsgateway über zwei Instanzen verfügt, senden beide Instanzen den Integritätstest alle 30 Sekunden.For example, if the probe configuration is to send health probes every 30 seconds and the application gateway has two instances, then both instances send the health probe every 30 seconds.

Falls mehrere Listener vorhanden sind, testen die einzelnen Listener das Back-End unabhängig voneinander.Also if there are multiple listeners, then each listener probes the backend independent of each other. Wenn beispielsweise zwei Listener auf denselben Back-End-Pool über zwei unterschiedliche Ports verweisen (über zwei unterschiedliche Back-End-HTTP-Einstellungen konfiguriert), testen die einzelnen Listener dasselbe Back-End unabhängig voneinander.For example, if there are two listeners pointing to the same backend pool on two different ports (configured by two backend http settings) then each listener probes the same backend independently. In diesem Fall sind zwei Tests von jeder Anwendungsgatewayinstanz für die beiden Listener vorhanden.In this case, there are two probes from each application gateway instance for the two listeners. Wenn bei diesem Szenario zwei Instanzen des Anwendungsgateways vorhanden sind, werden für den virtuellen Back-End-Computer vier Tests pro konfiguriertem Testintervall durchgeführt.If there are two instances of the application gateway in this scenario, the backend virtual machine would see four probes per the configured probe interval.

Benutzerdefinierte IntegritätsüberprüfungCustom health probe

Benutzerdefinierte Überprüfungen ermöglichen Ihnen eine präzisere Kontrolle über die Überwachung des Systemzustands.Custom probes allow you to have a more granular control over the health monitoring. Bei Verwendung von benutzerdefinierten Überprüfungen können Sie das Überprüfungsintervall, die URL und den zu überprüfenden Pfad konfigurieren und festlegen, wie viele fehlerhafte Antworten akzeptiert werden, bevor die Back-End-Pool-Instanz als fehlerhaft gekennzeichnet wird.When using custom probes, you can configure the probe interval, the URL and path to test, and how many failed responses to accept before marking the back-end pool instance as unhealthy.

Einstellungen für die benutzerdefinierte IntegritätsüberprüfungCustom health probe settings

Die folgende Tabelle enthält Definitionen der Eigenschaften eines benutzerdefinierten Integritätstests.The following table provides definitions for the properties of a custom health probe.

ÜberprüfungseigenschaftProbe property BESCHREIBUNGDescription
NAMEName Name der Überprüfung.Name of the probe. Dieser Name wird verwendet, um in den Back-End-HTTP-Einstellungen auf die Überprüfung zu verweisen.This name is used to refer to the probe in back-end HTTP settings.
ProtocolProtocol Das zum Senden der Überprüfung verwendete Protokoll.Protocol used to send the probe. Für die Überprüfung wird das in den HTTP-Einstellungen des Back-Ends festgelegte Protokoll verwendet.The probe uses the protocol defined in the back-end HTTP settings
HostHost Hostname zum Senden der ÜberprüfungHost name to send the probe. Nur relevant, wenn in Application Gateway mehrere Standorte konfiguriert sind. Andernfalls verwenden Sie 127.0.0.1.Applicable only when multi-site is configured on Application Gateway, otherwise use '127.0.0.1'. Dieser Wert entspricht nicht dem Hostnamen des virtuellen Computers.This value is different from VM host name.
PathPath Relativer Pfad der Überprüfung.Relative path of the probe. Der gültige Pfad beginnt mit „/“.The valid path starts from '/'.
IntervallInterval Überprüfungsintervall in SekundenProbe interval in seconds. Dieser Wert ist das Zeitintervall zwischen zwei aufeinanderfolgenden Überprüfungen.This value is the time interval between two consecutive probes.
ZeitüberschreitungTime-out Zeitüberschreitung der Überprüfung in Sekunden.Probe time-out in seconds. Die Überprüfung wird als fehlerhaft markiert, wenn innerhalb des Zeitraums für die Zeitüberschreitung keine gültige Antwort empfangen wird.If a valid response is not received within this time-out period, the probe is marked as failed.
Fehlerhafter SchwellenwertUnhealthy threshold Anzahl der Wiederholungsversuche der ÜberprüfungProbe retry count. Der Back-End-Server wird als außer Betrieb markiert, nachdem die Anzahl der aufeinanderfolgenden fehlgeschlagenen Überprüfungen den fehlerhaften Schwellenwert erreicht.The back-end server is marked down after the consecutive probe failure count reaches the unhealthy threshold.

Wichtig

Falls Application Gateway für einen einzelnen Standort konfiguriert ist, muss der Hostname standardmäßig als „127.0.0.1“ angegeben werden, sofern in der benutzerdefinierten Überprüfung nichts anderes konfiguriert ist.If Application Gateway is configured for a single site, by default the Host name should be specified as '127.0.0.1', unless otherwise configured in custom probe. Als Verweis wird ein Test an <Protokoll>://<Host>:<Port><Pfad> gesendet.For reference a custom probe is sent to <protocol>://<host>:<port><path>. Dieser Port ist immer der gleiche Port, der in den HTTP-Einstellungen des Back-Ends definiert ist.The port used will be the same port as defined in the back-end HTTP settings.

NSG-AspekteNSG considerations

Wenn sich eine Netzwerksicherheitsgruppe (NSG) in einem Application Gateway-Subnetz befindet, müssen die Portbereiche 65503 - 65534 im Application Gateway-Subnetz für eingehenden Datenverkehr geöffnet sein.If there is a network security group (NSG) on an application gateway subnet, port ranges 65503-65534 must be opened on the application gateway subnet for inbound traffic. Diese Ports sind erforderlich, damit die Back-End-Integritäts-API verwendet werden kann.These ports are required for the backend health API to work.

Außerdem kann die Internetkonnektivität in ausgehender Richtung nicht blockiert werden, und eingehender Datenverkehr vom AzureLoadBalancer-Tag muss zugelassen werden.Additionally, outbound Internet connectivity can't be blocked, and inbound traffic coming from the AzureLoadBalancer tag must be allowed.

Nächste SchritteNext steps

Nachdem Sie sich mit der Systemüberwachung von Application Gateway vertraut gemacht haben, können Sie einen benutzerdefinierten Integritätstest im Azure-Portal oder einen benutzerdefinierten Integritätstest mit PowerShell und dem Azure Resource Manager-Bereitstellungsmodell konfigurieren.After learning about Application Gateway health monitoring, you can configure a custom health probe in the Azure portal or a custom health probe using PowerShell and the Azure Resource Manager deployment model.