IBM Cloud Docs
监视应用程序负载均衡器度量值

监视应用程序负载均衡器度量值

IBM Cloud® Application Load Balancer for VPC (ALB) 监视度量值随 IBM Cloud® Monitoring提供,这是一种专门用于数据聚集,使用情况警报和深入可视化的服务。 更多信息,请参阅 IBM Cloud Monitoring 入门指南

负载均衡器会计算度量值,并将这些度量值发送到监视实例,这反映了不同类型的使用和流量。 您可以从 IBM Cloud Monitoring 仪表板或其 API 对度量进行可视化和分析。

按服务套餐提供的度量值

受支持的监视度量值包括:

  • 在给定时间与应用程序负载均衡器的活动连接
  • 在给定时间内通过负载均衡器传递的数据的吞吐量
  • 连接速率,或对何时与负载均衡器建立更多或更少连接的分析
  • 后端收到的 HTTP / HTTPS 请求总数
  • HTTP / HTTPS 请求的平均响应时间
  • 使用 HTTP 2xx 后端响应代码(成功请求)的响应计数
  • 使用 HTTP 3xx 后端响应代码(重定向)的响应计数
  • 使用 HTTP 4xx 后端响应代码(客户端故障)的响应计数
  • 使用 HTTP 5xx 后端响应代码(服务器端错误)的响应计数
  • 池中后端成员总数
  • 池中活动后端成员的计数

这些度量可帮助跟踪负载均衡器的流量和使用模式,并可提供有关高峰交通时间,使用情况下降和总体使用模式的洞察。

每个度量值都由以下元数据类型组成:

  • 度量名称——所收集度量的名称。
  • 度量类型-度量类型确定度量值是计数器度量还是标尺度量。 其中每个度量的类型均为 gauge,表示可随时间任意波动的单个数字值。
  • 值类型-特定度量的计量单位。 示例包括字节或计数。 值类型 none 表示度量值表示该度量类型的个别出现。
  • 分段-要如何划分和显示监视度量值。

仅相同区域中的资源,因为选中的子网可通过此 VPN 网关进行连接。

活动连接数

活动连接数是在特定时间在负载均衡器上建立的连接数。

活动连接度量值包含以下元数据:

应用程序负载均衡器活动连接指标元数据
元数据 描述
度量值名称 ibm_is_load_balancer_active_connections
度量类型 gauge
值类型 none
细分依据 Application load balancer appliance metricsApplication load balancer resource nameApplication load balancer listener metrics

连接速率

连接速率是每秒到负载均衡器的新入局活动连接数。

应用程序负载均衡器连接率指标元数据
元数据 描述
度量值名称 ibm_is_load_balancer_connection_rate
度量类型 gauge
值类型 none
细分依据 Application load balancer appliance metricsApplication load balancer resource nameApplication load balancer listener metrics

吞吐量

吞吐量是一段时间内进出负载均衡器的数据量。

应用程序负载均衡器吞吐量指标元数据
元数据 描述
度量值名称 ibm_is_load_balancer_throughput
度量类型 gauge
值类型 byte
细分依据 Application load balancer appliance metricsApplication load balancer resource nameApplication load balancer listener metrics

请求计数

请求计数是指负载均衡器每分钟发送到后端服务器的 HTTP 和 HTTPS 请求总数。 此指标仅适用于 HTTP 和 HTTPS 听众。

应用程序负载均衡器请求计数指标元数据
元数据 描述
度量值名称 ibm_is_load_balancer_request_count
度量类型 gauge
值类型 none
细分依据 Application load balancer appliance metricsApplication load balancer resource nameApplication load balancer listener metrics

请求等待时间

请求延迟是指负载均衡器对 给定 HTTP / HTTPS 侦听器最近1024个请求的平均响应时间。 此度量值要求从给定侦听器的后端接收到至少 1024 个响应,以便报告准确的值。 此指标仅适用于 HTTP 和 HTTPS 听众。

应用程序负载均衡器请求延迟指标元数据
元数据 描述
度量值名称 ibm_is_load_balancer_request_latency
度量类型 gauge
值类型 milliseconds
细分依据 Application load balancer appliance metricsApplication load balancer resource nameApplication load balancer listener metrics

HTTP 2xx 响应代码计数

HTTP 2xx 响应代码计数是指每分钟从后端接收到的 200-299范围内的所有 HTTP 响应代码的计数。 此指标仅适用于 HTTP 和 HTTPS 听众。

应用程序负载均衡器 HTTP 2xx 响应计数 指标 元数据
元数据 描述
度量值名称 ibm_is_load_balancer_backend_http_2xx
度量类型 gauge
值类型 none
细分依据 Application load balancer appliance metricsApplication load balancer resource nameApplication load balancer listener metrics

HTTP 3xx 响应代码计数

HTTP 3xx 响应代码计数是指每分钟从后端接收到的 300-399范围内的所有 HTTP 响应代码的计数。 此指标仅适用于 HTTP 和 HTTPS 听众。

应用程序负载均衡器 HTTP 3xx 响应计数 指标 元数据
元数据 描述
度量值名称 ibm_is_load_balancer_backend_http_3xx
度量类型 gauge
值类型 none
细分依据 Application load balancer appliance metricsApplication load balancer resource nameApplication load balancer listener metrics

HTTP 4xx 响应代码计数

HTTP 4xx 响应代码计数是指每分钟从后端接收的 400-499范围内的所有 HTTP 响应代码的计数。 此指标仅适用于 HTTP 和 HTTPS 听众。

应用程序负载均衡器 HTTP 4xx 响应计数 指标 元数据
元数据 描述
度量值名称 ibm_is_load_balancer_backend_http_4xx
度量类型 gauge
值类型 none
细分依据 Application load balancer appliance metricsApplication load balancer resource nameApplication load balancer listener metrics

HTTP 5xx 响应代码计数

HTTP 5xx 响应代码计数是指每分钟从后端接收到的 500-599范围内的所有 HTTP 响应代码的计数。 此指标仅适用于 HTTP 和 HTTPS 听众。

应用程序负载均衡器 HTTP 5xx 响应计数 指标 元数据
元数据 描述
度量值名称 ibm_is_load_balancer_backend_http_5xx
度量类型 gauge
值类型 none
细分依据 Application load balancer appliance metricsApplication load balancer resource nameApplication load balancer listener metrics

成员总数

成员总数是在池中创建的成员数。 此指标仅适用于TCP、HTTP 和 HTTPS 侦听器。

应用程序负载均衡器 总成员数 指标 元数据
元数据 描述
度量值名称 ibm_is_load_balancer_backend_total_members
度量类型 gauge
值类型 none
细分依据 Application load balancer appliance metricsApplication load balancer resource nameApplication load balancer listener metricsApplication load balancer pool metrics

活动成员

活动成员计数是池中的正常成员数。 此指标仅适用于TCP、HTTP 和 HTTPS 侦听器。

应用程序负载均衡器活动成员计数指标元数据
元数据 描述
度量值名称 ibm_is_load_balancer_backend_active_members
度量类型 gauge
值类型 none
细分依据 Application load balancer appliance metricsApplication load balancer resource nameApplication load balancer listener metricsApplication load balancer pool metrics

度量分段

您可以将数据拆分为 IBM Cloud Monitoring 仪表板中的各种可视化,从而允许根据您的首选项查看不同度量值。 例如,如果您在每个帐户中有多个负载均衡器或具有不同负载均衡器的帐户,那么您可能希望关注特定侦听器端口。

例如,您可以按 Application load balancer listener portactive connections 进行分段,以显示通过每种侦听器类型连接到负载均衡器的活动用户数量。 为了说明这一点,假设您的负载均衡器有两个不同的监听协议,一个 HTTP 在端口80上,另一个用于TCP,在端口8080上。 仪表板将显示不同的行,以一种颜色显示通过端口80上的 HTTP 连接的10个用户,以另一种颜色显示通过端口8080上的TCP连接的6个用户。

全局属性

以下属性可用于对三个度量进行分段。

全局属性
属性 属性名称 属性描述
Resource ibm_resource 负载均衡器的唯一标识
Scope ibm_scope 与给定负载均衡器关联的帐户
Service name ibm_service_name ibm-is-load-balancer

其他属性

以下属性可用于对一个或多个全局属性进行分段。 请查看各个细分选项的指标。

其他属性
属性 属性名称 属性描述
应用程序负载均衡器设备度量值 ibm_is_load_balancer_appliance_ip 来自负载均衡器后端的度量。 由于负载均衡器高度可用,因此多个设备支持每个负载均衡器以实现冗余。
应用程序负载均衡器侦听器度量值 ibm_is_load_balancer_listener_port 从各个侦听器及其端口收集的度量。 在负载均衡器设置中配置侦听器。 监视度量值反映来自这些侦听器的度量值。
应用程序负载均衡器池度量值 ibm_is_load_balancer_pool_name 从各个侦听器端口和运行状况检查端口 (如果配置了运行状况检查端口) 或后端成员端口 (如果未配置运行状况检查端口) 收集的度量。 您必须在负载均衡器设置中配置侦听器,包含成员的后端池以及 (如果需要) 运行状况检查端口。 监视度量值反映来自这些侦听器和运行状况检查端口或后端成员端口的度量值。
应用程序负载均衡器资源名称 ibm_is_load_balancer_resource_name 负载均衡器的唯一名称

以下样本值适用于其不同配置中的 ibm_is_load_balancer_pool_name 属性。 如果池没有成员,那么此值的格式将为 Pool_ListenerPort。 如果池具有成员并且配置了运行状况检查端口,那么此值的格式将为 Pool_ListenerPort:HealthCheckPort。 否则,如果池具有成员但未配置运行状况检查端口,那么值将为 Pool_ListenerPort:Member1Port/Member2Port/...

池名称属性
侦听器端口 HealthCheck 端口 Member1 端口 Member2 端口 Member3 端口 'ibm_is_load_balancer_pool_name 值'
9999
Pool_9999
80 80 80 8090
Pool_80:80
8099 443 9080 7080 8888 Pool_8099:443
8081
80 8090 9090 Pool_8081:9090/8090/80
8088
9080 7080
Pool_8088:9080/7080

显示的指标包含一个 UNIX 时间戳和该时间戳结束的时间间隔的指标值。 您可以指定不同的作用域以及报告度量值的时间间隔。

IBM Cloud Application Load Balancer 支持的侦听器协议包括:

  • HTTP
  • HTTPS
  • TCP

指定侦听器端口将按该侦听器过滤度量。 例如,如果未指定端口,并且度量值为 Throughput,那么 IBM Cloud Monitoring 将报告所有侦听器协议的总吞吐量。 然而,如果协议是 HTTP 在端口80上,那么 IBM Cloud Monitoring 只报告 HTTP 流量的吞吐量。

您还可以指定报告度量值的时间间隔。 仪表板中支持的时间间隔为:

  • 10 秒
  • 1 分钟
  • 10 分钟
  • 1 小时
  • 6 小时
  • 2 周
  • 定制

每个时间间隔内可报告的数据点数量大致相同。 例如,如果时间间隔为 1 小时,那么每个数据点表示 5 分钟的数据。 如果时间间隔为 2 周,那么每个数据点表示 24 小时的数据。

启用度量值监视

要接收监视度量值,必须使用监视实例设置 IBM Cloud Monitoring。

为此,请执行以下步骤:

  1. 浏览至 度量值监视门户网站,然后单击 创建监视实例

  2. 选择监视实例的区域。

    如果没有现有负载均衡器,请参阅 创建 IBM Cloud Application Load Balancer for VPC 以供应一个负载均衡器。

    区域应与现有负载均衡器的位置匹配。

  3. 选择定价套餐。

    在选择窗口中说明了定价计划详细信息。 请选择最符合您要求的计划。

  4. 为实例提供服务名称。 它可以是您想要的任何名称,并且不会影响功能。

    请勿创建多个同名的监视实例。

  5. 可选,选择一个资源组。 资源组是一种按自定义分组组织账户资源的方式。 任何使用 IBM Cloud Identity and Access Management (IAM)访问控制管理的帐户资源都属于您帐户中的资源组。

    如果您没有任何预先配置的资源组,或者没有理由有选择地共享此资源,请使用缺省选择。

    如果您的帐户具有多个资源组,那么您可以选择哪个帐户有权访问此监视实例。 这允许您将度量值提供给某些资源组,而不提供给其他资源组。

  6. 选中 启用平台度量 复选框。 必须选择此项才能从负载均衡器接收度量值。

  7. 单击创建。 您将返回到监视度量主页。

在几分钟内,将显示具有多个配置的新监视实例。 您可能必须刷新浏览器才能看到该浏览器。

使用 IBM Cloud Monitoring 仪表板

要查看和使用度量值,请执行以下步骤:

  1. 浏览至 度量值监视门户网站

  2. 单击要使用的监控实例的服务名称旁边的 View IBM Cloud Monitoring

    首次访问监视实例时,将显示多个窗口作为内部设置的一部分。 保留这些选择及其缺省条目,然后单击整个页面,直到到达主页面。

  3. 选择左侧边栏上的 仪表板 以打开“IBM 负载均衡器监视度量”仪表板。 然后,单击 缺省仪表板> IBM > 负载均衡器监视度量。 缺省仪表板不可编辑。

  4. 将显示仪表板中的 11 个主要度量: 吞吐量,活动连接数,连接速率,请求计数,请求等待时间,HTTP_2xx 响应计数,HTTP_3xx 响应计数,HTTP_4xx 响应计数,HTTP_5xx 响应计数,成员总数和活动成员数。 您必须创建定制仪表板以按负载均衡器标识或侦听器端口修改度量的参数和分段。

    您可以使用末尾的条形来选择要查看所显示度量值的时间窗口。

创建自定义指标仪表板

您可以创建自己的仪表板来定制监视度量值,例如查看有关特定负载均衡器的信息,或者查看仅通过特定侦听器的流量。

要定制仪表板,请执行以下步骤:

  1. 浏览至 度量值监视门户网站

  2. 单击要使用的监控实例的服务名称旁边的 View IBM Cloud Monitoring。 这将显示仪表板。

  3. 在左侧边栏上,选择 仪表板。 然后,单击面板中的绿色 + 符号。

  4. 选择 空白仪表板,然后选择所需的可视表示类型。

    IBM Cloud Monitoring 为仪表板提供八个不同的可视化。 阅读每个可视化的描述,然后选择最符合您需求的可视化。

    ("查看一段时间内的趋势") 是最简单也是最基本的选项。 它也是选择频率最高的选项。 本主题中的示例显示基于折线图的可视化。

  5. 配置定制仪表板。

    • 度量 字段中,输入 ibm_is 以显示三个负载均衡器度量: ibm_is_load_balancer_active_connectionsibm_is_load_balancer_connection_rateibm_is_load_balancer_throughput

    您可以通过启用 ibm_is_load_balancer_listener_port 度量来监视侦听器端口流量。

    • 您可以通过单击 覆盖仪表板作用域来选择要在仪表板中显示的作用域。 例如,您可以显示特定负载均衡器的度量。

    • 您还可以设置分段以在定义的作用域中比较度量。 例如,您可以查看按侦听器端口分段的特定负载均衡器的吞吐量。

  6. 单击 保存 以访问新的定制仪表板。

    缺省情况下,仪表板以名称“空白仪表板”开头。 您可以从侧边栏中选择 仪表盘,然后单击名称旁边的 Edit 图标 Edit 图标 来更改名称。

要随时返回到缺省仪表板,请选择 仪表板> 缺省仪表板> IBM > 负载均衡器监视度量

使用 API 处理 IBM Cloud Monitoring

您还可以使用度量值查询 API 来处理监视实例。 如果您需要原始数据点或希望从命令行界面使用度量,而不是使用 IBM Cloud Monitoring 仪表板,那么可能需要执行此操作。

创建监视实例后,必须收集以下两部分信息。

  • Monitor API 令牌
  • IBM Cloud Monitoring 实例的端点

要收集此信息并使用度量值查询 API 来处理监视实例,请执行以下步骤:

  1. 访问 监视主页,然后单击要处理的实例旁边的 打开仪表板。 显示仪表板后,选择左侧边栏上的“帐户概要文件”图标,然后选择 设置。 将显示您的帐户设置。

  2. Monitor API 令牌是位于 Monitor API 令牌 字段中的字母数字字符串。 单击密钥右侧的 复制 按钮以将其传输到剪贴板。

    请勿共享此 API 令牌。 具有此 API 令牌的任何人都具有对度量值的完全访问权。

  3. 要获取 IBM Cloud Monitoring 实例的端点,请在浏览器中浏览到主仪表板。 然后,选择仪表板的 URL,显示如下:

    https://us-south.monitoring.cloud.ibm.com/#/default-dashboard/ibm_is_load_balancer?last=3600
    

    URL (此处为 us-south.monitoring.cloud.ibm.com )的第一部分是您的终端。 记下来

  4. 在同时具有 API 令牌和端点之后,可以格式化 POST 请求。 以下 POST 请求是一个示例,其中包含您可以修改的所有参数。 这些参数包括:

    • Monitor API 令牌。
    • 监视实例的端点。
    • ibm_resource 的值 (这是要查看其度量值的负载均衡器标识)。

    如果要查看所有负载均衡器的此度量,请勿输入 scope 属性的值。 例如,请使用 "scope" : ""

    • 要查看其结果的度量标准类型。 此示例使用 ibm_is_load_balancer_throughput,但 ibm_is_load_balancer_active_connectionsibm_is_load_balancer_connection_rate 也是有效选项。
    • fromto 属性定义聚焦扫描的时间,以纪元时间和微秒为单位设置。
    • samplingvalue 属性设置 POST 请求中返回的数据的详细程度。

由于大量数据存储在 IBM Cloud Monitoring中,因此选择特定粒度级别很重要。IBM Cloud Monitoring 随给定请求随时只能返回 600 个数据点。 因此,samplingvalue 属性很重要。 如果将这两行保留在请求之外,那么将返回该时间段内的汇总总和。

如果 fromto 指定的时间范围较大 (例如,4 天),但您定义的 samplingvalue 为 10 秒,那么这意味着您将接收到 4 天的数据,这些数据将拆分为 10 秒区块。 由于返回的数据量很大,因此这不是一个有用的采样。 建议指定较大的块 (例如,1 小时而不是 10 秒)。

curl \
-H 'Authorization: Bearer <API_TOKEN>’ \
-H 'Content-Type: application/json' \
https://us-south.monitoring.cloud.ibm.com/api/data/batch  \
-d '{
 "requests": [
     {
         "format": {
             "type": "data"
         },
         "scope": "ibm_resource = \"cfc851b1-f30b-4a06-b354-5b64526c0a69\"",
         "metrics": {
             "k0": "timestamp",
             “v1”: "ibm_is_load_balancer_throughput"
         },
         "time": {
             "from": 1584396900000000,
             "to": 1584402600000000,
              “sampling”: 600000000
         },
         "group": {
             "by": [
                 {
                     "metric": "k0",
                     “value” : 600000000
                 }
             ],
             "aggregations": {
                 “v1”: "sum"
             },
             "groupAggregations": {
                 “v1”: "sum"
             }
         }
     }
 ]
}'