使用顾问程序请求或响应选项获取特定于服务的建议

启动 HTTP 或 HTTPS 顾问后,您可以定义一个唯一的客户端 HTTP URL 字符串,特定于您想要在服务器上查询的服务。 此 URL 允许顾问评估服务器内各个服务的运行状况。

有关此任务

对于 HTTP 端口下每个定义的逻辑服务器,您可以指定一个唯一的客户端 HTTP URL 字符串,特定于您想要在服务器上查询的服务。 HTTP 或 HTTPS 顾问使用advisorrequest字符串来查询服务器的健康状况。 缺省值为 HEAD / HTTP/1.0.

advisorresponse字符串是顾问在 HTTP 响应中扫描的响应。 顾问程序使用 advisorresponse 字符串与从服务器收到的实际响应进行比较。 缺省值为空。

过程

发出带有 advisorrequestadvisorresponse 参数的 server set 命令。
  • dscontrol>> shell 提示符发出命令时,如果字符串中包含空格,那么必须将该字符串括在引号内,如以下示例中所示。
    server set cluster@port@server advisorrequest "head / http/1.0"
    
    server set cluster@port@server advisorresponse "HTTP 200 OK" 
  • 从操作系统提示符发出 dscontrol 命令时,必须在文本前面加上 ″\″ ,并在文本后面加上 \"",如以下示例中所示。
    dscontrol server set cluster@port@server advisorrequest "\"head / http/1.0\""
    
    dscontrol server set cluster@port@server advisorresponse "\"HTTP 200 OK\"" 
笔记:启动指定 HTTP 端口号的 HTTP 或 HTTPS 顾问后,将为该 HTTP 端口下的服务器启用顾问请求和响应值。 有关更多信息,请参阅 dscontrol server

负载均衡器会自动将某些 HTTP 标头添加到advisorrequestHTTP 和 HTTPS 顾问的字符串。 只能修改 Host 头。

下表列出了负载均衡器添加到advisorrequestHTTP 顾问的字符串。

表 1. HTTP 顾问的 HTTP 标头和值
HTTP 头
主机 负载均衡器配置的服务器名称。 有关更多信息,请参阅 主机头值
用户代理 IBM_Load_Balancer_HTTP_Advisor
接受 */*

下表列出了负载均衡器添加到advisorrequestHTTPS 顾问的字符串。

表 2. HTTPS 顾问的 HTTP 标头和值
HTTP 头
主机 负载均衡器配置的服务器名称。 有关更多信息,请参阅 主机头值
用户代理 IBM_Load_Balancer_Https_Advisor
接受 image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*
接受编码 gzip
Accept-Language en
Accept-Charset iso-8859-1,*,utf-8
连接 关闭
主机头值
Host 头中的值是将服务器定义添加到负载均衡器时使用的服务器名称。 以下示例演示针对不同 dscontrol 命令添加的 Host 头,其中服务器的主机名为 server.ibm.com ,而主机名解析为 1.2.3.4 IP 地址。
  • 以下命令的 Host 头为 Host: server.ibm.com
    dscontrol server add mycluster@80@server.ibm.com
  • 以下命令的 Host 头为 Host: server
    dscontrol server add mycluster@80@server
  • 以下命令的 Host 头为 Host: myserver
    dscontrol server add mycluster@80@myserver address 1.2.3.4
advisorrequest 字符串包含 Host 头时,负载均衡器将使用 advisorrequest 字符串中设置的值,如以下示例中所示。
  • 以下命令的 Host 头为 Host: server.ibm.com
    dscontrol server add mycluster@80@myserver address 1.2.3.4 advisorrequest "\"HEAD / HTTP/1.1\r\nHost: server.ibm.com\""
  • 以下命令的 Host 头为空: Host: 。 当未将任何值分配给头时, Web 服务器通常会响应 400 Bad Request 错误。
    dscontrol server add mycluster@80@myserver address 1.2.3.4 advisorrequest "\"HEAD / HTTP/1.1\r\nHost: \""
注: 请勿在 advisorrequestadvisorresponse 字段中使用后跟空格的引号序列,例如 " 。 后跟空格的引号将解释为字段输入的末尾。