可创建服务监控器以便为特定类型的网络流量定义运行状况检查参数。将服务监控器与池关联后,将根据服务监控器参数对池成员进行监控

关于此任务

支持五种类型的监控器:ICMP、TCP、UDP、HTTP 和 HTTPS。

过程

  1. 登录到 vSphere Web Client。
  2. 单击网络和安全 (Networking & Security),然后单击 NSX Edge (NSX Edges)
  3. 双击一个 NSX Edge。
  4. 单击管理 (Manage),然后单击负载平衡器 (Load Balancer)选项卡。
  5. 在左侧导航面板中,单击服务监控器 (Service Monitoring)
  6. 单击添加 (Add) (“添加”图标) 图标。
  7. 输入服务监控器的名称 (Name)

    “时间间隔”、“超时”和“重试次数最大值”是所有类型的运行状况检查的通用参数。

  8. 输入测试服务器的时间间隔 (Interval)(秒)。

    时间间隔是监控器将请求发送到后端服务器的时间段(秒)。

  9. 输入超时 (Timeout)。在每个运行状况检查中,超时值是为接收服务器响应而留出的最长时间(秒)。
  10. 输入重试次数最大值 (Max Retries)。该值是将服务器声明为 DOWN 之前测试服务器的次数。

    例如,如果时间间隔 (Interval)设置为 5 秒,超时 (Timeout)设置为 15 秒,重试次数最大值 (Max Retries)设置为 3,则表示 NSX 负载平衡器将每 5 秒探查一次后端服务器。在每次探测中,如果在 15 秒内收到来自服务器的预期响应,则运行状况检查结果为 OK。如果没有收到响应,则结果为 CRITICAL。如果最近三次的运行状况检查结果均为 DOWN,则服务器将被标记为 DOWN。

  11. 从下拉菜单中选择将运行状况检查请求发送到服务器的方式。支持五种类型的监控器 - ICMP、TCP、UDP、HTTP 和 HTTPS。系统中嵌入了三个预定义的监控器:default_tcp_monitor、default_http_monitor 和 default_https_monitor。
  12. 如果选择 ICMP 作为监控器类型,则没有适用的任何其他参数。请将其他参数保留为空。
  13. 如果选择 TCP 作为监控器类型,则可以使用三个其他参数:“发送”、“接收”和“扩展”。
    1. 发送(可选)- 在建立连接后发送到后端服务器的字符串。
    2. 接收(可选) - 输入要匹配的字符串。此字符串可以是响应的标头或正文。只有在收到的字符串与该定义匹配时,才会将服务器视为 UP。
    3. 扩展 - 在“扩展”部分中以“键=值”对形式输入高级监控器参数。

      示例扩展 warning=10 表示,如果服务器未在 10 秒内响应,则将状态设置为警告。

      所有扩展项都应使用回车符分隔。

      表 1. TCP 协议的扩展

      监控扩展

      说明

      escape

      可以在发送或退出字符串中使用 \n、\r、\t 或 \。必须在发送或退出选项之前使用。默认:发送选项中不添加任何内容,\r\n添加到退出末尾。

      all

      所有预期字符串都需要在服务器响应中出现。默认为 any。

      quit=STRING

      发送到服务器的字符串,启动完全关闭连接。

      refuse=ok|warn|crit

      接受状态为 ok、warn 或 crit 的 TCP 拒绝,默认为 crit。

      mismatch=ok|warn|crit

      接受预期字符串与状态 ok、warn 或 crit 不匹配。默认为 warn。

      jail

      从 TCP 套接字隐藏输出。

      maxbytes=INTEGER

      接收的字节数比指定的字节数多时关闭连接。

      delay=INTEGER

      发送字符串与轮询响应之间所等待的秒数。

      certificate=INTEGER[,INTEGER]

      证书必须有效的最短天数。第一个值是警告天数,第二个值用于严重级别(如果未指定,则为 0)。

      warning=DOUBLE

      响应时间(秒):在此范围内不反应则发出警告。

      critical=DOUBLE

      响应时间(秒):在此范围内不反应则变成严重状态。

  14. 如果选择 HTTPHTTPS 作为监控器类型,请执行以下步骤。
    1. 预期(可选)- 在“预期”部分中输入监控器要求与 HTTP 响应状态行匹配的字符串。这是一个逗号分隔的列表。

      例如,200,301,302,401。

    2. 方法(可选)- 从下拉菜单中选择检测服务器状态的方法:GET、OPTIONS 或 POST。
    3. URL(可选)- 输入要获取或发布的 URL(默认值为“/”)。
    4. 如果选择 POST 方法,请在加粗 (Bold)部分中输入要发送的数据。
    5. 接收 (Receive)部分中输入与响应内容匹配的字符串。此字符串可以是响应的标头或正文。

      如果“预期”部分中的字符串不匹配,则监控器不会尝试与“接收”内容匹配。

    6. 扩展 - 在“扩展”部分中以“键=值”对形式输入高级监控器参数。

      示例扩展 warning=10 表示,如果服务器未在 10 秒内响应,则将状态设置为警告。

      所有扩展项都应使用回车符分隔。

      表 2. HTTP/HTTPS 协议的扩展

      监控扩展

      说明

      no-body

      不等待文档正文:停止读取标头后的内容。注意,这仍然是 HTTP GET 或 POST,而不是 HEAD。

      ssl-version=3

      使用 sslv3 强制实施 SSL 握手。

      默认情况下,将在运行状况检查选项中禁用 sslv3 和 tlsv1。

      ssl-version=10

      使用 tls 1.0 强制实施 SSL 握手。

      ssl-version=11

      使用 tls 1.1 强制实施 SSL 握手。

      ssl-version=12

      使用 tls 1.2 强制实施 SSL 握手。

      max-age=SECONDS

      如果文档存在时间超过 SECONDS,则发出警告。该数字还可以采用 10m(表示分钟)、10h(表示小时)或 10d(表示天数)的形式。

      content-type=STRING

      指定 POST 调用中的 Content-Type 标头介质类型。

      linespan

      允许正则表达式跨新行(前面必须加上 -r 或 -R)。

      regex=STRING 或 ereg=STRING

      在页面中搜索正则表达式 STRING。

      eregi=STRING

      在页面中搜索不区分大小写的正则表达式 STRING。

      invert-regex

      找到则返回 CRITICAL,否则返回 OK。

      proxy-authorization=AUTH_PAIR

      代理服务器上完成基本身份验证所需的用户名和密码。

      useragent=STRING

      要在 HTTP 标头中作为 User Agent 发送的字符串。

      header=STRING

      要在 HTTP 标头中发送的任何其他标记。对其他标头使用多次。

      onredirect=ok|warning|critical|follow|sticky|stickyport

      如何处理重定向后的页面。sticky 类似于 follow 但遵循指定的 IP 地址。stickyport 还确保端口保持不变。

      pagesize=INTEGER:INTEGER

      所需页面大小最小值(字节):所需页面大小最大值(字节)。

      warning=DOUBLE

      响应时间(秒):在此范围内不反应则发出警告。

      critical=DOUBLE

      响应时间(秒):在此范围内不反应则变成严重状态。

      expect = STRING

      以逗号分隔的字符串列表,需要在服务器响应的第一(状态)行中使用其中的至少一个字符串(默认值:HTTP/1)。如果指定,则跳过所有其他状态行逻辑(例如:3xx、4xx、5xx 处理)

      string = STRING

      需要在内容中使用的字符串。

      url = PATH

      要获取或发布的 URL(默认值:/)。

      post = STRING

      要对 http POST 数据编码的 URL。

      method = STRING

      设置 HTTP 方法(例如,HEAD、OPTIONS、TRACE、PUT、DELETE)。

      timeout = INTEGER

      在连接超时之前等待的秒数(默认值为 10 秒)。

      表 3. HTTPS 协议的扩展

      监控扩展

      说明

      certificate=INTEGER

      证书必须有效的最短天数。端口默认为 443。如果使用该选项,则不检查 URL。

      authorization=AUTH_PAIR

      使用基本身份验证的站点上的用户名和密码。

      ciphers='ECDHE-RSA-AES256-GCM-SHA384'

      显示在 HTTPS 运行状况检查中使用的密码。

  15. 如果您选择 UDP 作为监控器类型,请执行以下步骤:
    1. 发送(必需):输入要在建立连接后发送到后端服务器的字符串。
    2. 接收(必需):输入预期从后端服务器接收的字符串。只有在收到的字符串与该定义匹配时,才会将服务器视为 UP。
    注:

    UDP 监控器不支持扩展。

  16. 单击确定 (OK)

下一步做什么

将服务监控器与池关联。