本节介绍了 HTTP 运行状况监控器类型的特定配置。

HTTP 运行状况监控器仅应用于虚拟服务附加了 HTTP 应用程序配置文件的池。

配置 HTTP 运行状况监控器

如果选择 HTTP 以作为运行状况监控器类型,则可以为 HTTP 设置配置一个运行状况监控器。要配置常规运行状况监控器设置,请参见“创建新的运行状况监控器”。



要配置 HTTP 运行状况监控器,请执行以下操作:

  1. 指定一个必须用于运行状况检查的运行状况监控器端口。如果配置了该字段,客户端将定向到与监控的默认端口不同的端口。如果该字段保留空白,将使用为服务器配置的默认端口。

  2. 输入用户名和密码以进行服务器身份验证。有关对运行状况监控器进行身份验证的更多详细信息,请参见“对 HTTP 和 HTTPS 运行状况监控器进行身份验证”。

  3. 使用客户端请求标头客户端请求正文部分将 HTTP 请求发送到 Web 服务器。NSX Advanced Load Balancer 不会验证该请求,因为不同的服务器可能支持独特的请求语法:

    方法

    尽管 GETPOSTHEAD 是最常用的监控方法,但可以使用任何方法。如果未定义方法,NSX Advanced Load Balancer 将使用 GET。如果未指定版本,则 HTTP 版本可以是 1.0 或 1.1。

    GET /index.htm

    POST /upload.asp HTTP/1.0\r\nHost: www.site.com\r\nContent-Length: 10\r\nABCDE12345

    路径

    路径可以包括 URI 和查询,例如 /index.htm?user=test。如果未指定路径,NSX Advanced Load Balancer 将使用 /。

    注:

    运行状况监控器的 HTTP 请求正文的最大大小从 1024 字节增加到 5120 字节。

  4. 选中使用确切请求复选框以使用确切的 http_request 字符串,而不自动插入任何标头,例如主机标头。确保明确配置了所有强制和必需的标头。有关覆盖默认标头的更多信息,请参见覆盖运行状况监控器中的主机标头

  5. 服务器响应数据中,输入服务器标头和正文响应的前 2kb 中的关键字匹配项。

  6. 响应代码字段中,输入成功匹配的 HTTPS 响应代码。成功的 HTTP 监控器要求填充响应代码和/或服务器响应数据字段。响应代码要求服务器返回指定范围内的响应代码。对于 GET 请求,服务器通常必须返回 200、301 或 302。对于 HEAD 请求,服务器通常返回 304。响应代码本身不验证服务器的响应内容,而仅验证状态。

示例

以下是一个 HTTP 运行状况检查发送字符串示例:

GET /health/local HTTP/1.0
User-Agent: avi/1.0
Host: 10.10.10.3
Accept: */*

以下是示例服务器响应:

HTTP/1.0 200 OK
Server: Apache-Coyote/1.1
Cache-Control: no-cache, no-store
Pragma: no-cache
Content-Type: text/plain
Content-Length: 15
Date: Fri, 20 May 2016 18:23:05 GMT
Connection: close

Health Check Ok

服务器响应包括响应代码 200 以及

服务器响应数据 Health Check ok

因此,该服务器将标记为 UP

请注意,NSX Advanced Load Balancer 在发送字符串中自动包含额外的标头(包括 User-Agent、Host 和 Accept),以确保服务器收到完整格式的请求。