应用程序网关 - 后端运行状况

应用程序网关运行状况探测(默认和自定义)持续监视池中的所有后端服务器,以确保传入流量仅发送到正在运行的服务器。 这些运行状况检查可实现网关的无缝数据平面操作。 当后端服务器可以接收流量时,探测成功且被视为正常。 否则不正常。 运行状况探测报告的精确表示形式也可用于通过后端运行状况功能使用。

后端运行状况报告

服务器的运行状况报告可能的状态为:

  1. 正常 - 当应用程序网关探测从后端服务器收到预期的响应代码时显示。
  2. 不正常 - 当探测未收到响应或响应与预期的响应代码或正文不匹配时显示。
  3. 未知 - 当应用程序网关的控制平面无法与应用程序网关实例通信(对于后端运行状况调用)时,或者在对后端服务器的 FQDN 进行DNS 解析时发生。

有关不正常和未知状态的原因和解决方案的完整信息,请访问故障排除文章

注意

后端运行状况报告根据相应的探测的刷新间隔进行更新,不依赖于页面刷新或后端运行状况 API 请求的时刻。

查看后端运行状况的方法

可以通过 Azure 门户、REST API、PowerShell 和 Azure CLI 生成后端服务器运行状况报告。

使用 Azure 门户

应用程序网关门户提供了信息丰富的后端运行状况报告,其中包含可视化效果和工具,以便更快地进行故障排除。 每行显示确切的目标服务器、其所属的后端池、其后端设置关联(包括端口和协议),以及最新探测收到的响应。 请访问运行状况探测文章,了解如何根据后端池、服务器和后端设置的数量撰写此报告。

对于不正常和未知状态,你还将找到“故障排除”链接,其中显示了以下工具:

  1. Azure 网络观察程序的连接故障排除 - 请访问连接故障排除文档文章,了解如何使用此工具。

  2. 后端服务器证书可视化 - 使用后端服务器证书可视化,可以轻松了解问题区域,从而快速处理问题。 图中的三个核心组件提供了完整的描述 — 客户端、应用程序网关和后端服务器。 但是,此故障排除部分中介绍的问题仅侧重于应用程序网关和后端服务器之间的 TLS 连接。

    Screenshot and explanation of a certificate error on the Backend Health page.

阅读插图

  • 红线表示网关与后端服务器或后端服务器上的证书组件之间的 TLS 连接出现问题。
  • 如果应用程序网关或后端服务器块中有红色文本,则表示后端设置或服务器证书分别出现问题。
  • 必须根据错误指示和位置对相应的属性(应用程序网关的后端设置或后端服务器)执行操作。
  • 提供了每种错误类型的解决方案。 还提供了文档链接以获取详细信息。

使用 PowerShell

下面的 PowerShell 代码演示如何使用 Get-AzApplicationGatewayBackendHealth cmdlet 查看后端运行状况:

Get-AzApplicationGatewayBackendHealth -Name ApplicationGateway1 -ResourceGroupName Contoso

使用 Azure CLI

az network application-gateway show-backend-health --resource-group AdatumAppGatewayRG --name AdatumAppGateway

结果

以下代码片段演示了一个响应示例:

{
"BackendAddressPool": {
    "Id": "/subscriptions/00000000-0000-0000-000000000000/resourceGroups/ContosoRG/providers/Microsoft.Network/applicationGateways/applicationGateway1/backendAddressPools/appGatewayBackendPool"
},
"BackendHttpSettingsCollection": [
    {
    "BackendHttpSettings": {
        "Id": "/00000000-0000-0000-000000000000/resourceGroups/ContosoRG/providers/Microsoft.Network/applicationGateways/applicationGateway1/backendHttpSettingsCollection/appGatewayBackendHttpSettings"
    },
    "Servers": [
        {
        "Address": "hostname.chinanorth2.chinacloudapp.cn",
        "Health": "Healthy"
        },
        {
        "Address": "hostname.chinanorth2.chinacloudapp.cn",
        "Health": "Healthy"
        }
    ]
    }
]
}

后续步骤