本节介绍了 HTTP 运行状况监控器类型的特定配置。
HTTP 运行状况监控器仅应用于虚拟服务附加了 HTTP 应用程序配置文件的池。
配置 HTTP 运行状况监控器
如果选择 HTTP 以作为运行状况监控器类型,则可以为 HTTP 设置配置一个运行状况监控器。要配置常规运行状况监控器设置,请参见“创建新的运行状况监控器”。
要配置 HTTP 运行状况监控器,请执行以下操作:
指定一个必须用于运行状况检查的运行状况监控器端口。如果配置了该字段,客户端将定向到与监控的默认端口不同的端口。如果该字段保留空白,将使用为服务器配置的默认端口。
输入用户名和密码以进行服务器身份验证。有关对运行状况监控器进行身份验证的更多详细信息,请参见“对 HTTP 和 HTTPS 运行状况监控器进行身份验证”。
使用客户端请求标头和客户端请求正文部分将 HTTP 请求发送到 Web 服务器。NSX Advanced Load Balancer 不会验证该请求,因为不同的服务器可能支持独特的请求语法:
- 方法
-
尽管
GET
、POST
和HEAD
是最常用的监控方法,但可以使用任何方法。如果未定义方法,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 字节。
选中使用确切请求复选框以使用确切的
http_request
字符串,而不自动插入任何标头,例如主机标头。确保明确配置了所有强制和必需的标头。有关覆盖默认标头的更多信息,请参见覆盖运行状况监控器中的主机标头。在服务器响应数据中,输入服务器标头和正文响应的前 2kb 中的关键字匹配项。
在响应代码字段中,输入成功匹配的 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),以确保服务器收到完整格式的请求。