当您遇到CLB请求超时或流量限速等网络连接问题,或需要了解CLB的负载和性能时,您可以利用云监控功能查看CLB资源的运行状态和各项指标。您可以通过控制台、API或SDK查看CLB的监控信息。
前提条件
请确保您已经创建了实例并添加了监听。具体操作,请参见:
通过控制台查看监控
在顶部菜单栏,选择CLB实例所属的地域。
在实例管理页面,找到目标实例,通过以下任意一种方式查看监控信息。
方式一:在监控列单击
。在弹出的监控信息面板,选择实例或监听页签。方式二:单击实例ID。在实例详情页签,单击监控页签,选择实例或监听页签。
您可以选择实例下的带宽/流量页签,在监控图表上方查看CLB处理的请求和响应的数据处理量。
您可以通过设置时间来调整监控图表显示的时间段。开启自动刷新后监控图表每分钟自动刷新监控数据。
支持查看的监控指标如下。
监控指标 | 说明 |
流量 |
|
数据包数 |
|
并发连接数 |
|
新建连接数 | 在统计周期内,新建立的从客户端连接到负载均衡的连接请求的平均数。 |
丢弃流量 |
|
丢弃数据包数 |
|
丢弃连接数 | 每秒丢弃的连接数。 |
以下是7层(HTTP/HTTPS)监听特有的监控指标。 | |
7层协议QPS | 每秒可以处理的HTTP/HTTPS请求。 |
7层协议RT | 负载均衡的平均响应时间。 |
7层协议2XX/3XX/4XX/5XX/其他状态码 | 监听返回的HTTP响应代码的数量。 |
7层协议UpstreamCode4XX/5XX | 后端服务器返回的HTTP响应代码的数量。 |
7层协议Upstream RT | 后端服务器的平均响应时间。 |
CLB 监控数据分为实例级和监听级两个维度。实例级指标反映 CLB 实例整体的流量和连接情况;监听级指标反映单个监听端口的流量和连接情况。CLB 监控暂不支持按后端 ECS 实例或应用维度拆分流量数据,无法通过 CLB 控制台直接查看哪个后端应用占用了最多流量。如需定位高流量来源,建议通过以下替代方案排查:
在 ECS 控制台查看各后端 ECS 实例的带宽监控数据:进入目标 ECS 实例的实例详情页,选择监控页签,可按实例维度分别查看各后端服务器的网络带宽使用情况。
分析应用程序的访问日志,通过日志中记录的请求来源和流量统计定位高流量来源。
登录后端服务器,执行命令
iftop -i eth0 -PnN,实时查看网卡上各连接的流量占用情况。
CLB 监控数据的默认统计周期为 60 秒。通过云监控 API(如 DescribeMetricList 接口)查询监控数据时,Period 参数的默认取值为 60(秒),监控图表中每个数据点代表对应时间点前 60 秒内的统计值。
通过API查看监控
通过云监控API可以查看CLB实例的监控项和详细监控数据。
通过API查看监控数据的流程如下:
查看数据命名空间Namespace。调用
DescribeProjectMeta接口查询云监控中CLB的数据命名空间Namespace。可选:查看已有监控项。调用
DescribeMetricMetaList接口查询云监控开放的时序类指标监控项描述或直接查看监控项说明,更多信息,请参见监控报警项说明。查看指定监控项的监控数据。
调用
DescribeMetricLast接口查询CLB指定监控对象的最新监控数据。调用
DescribeMetricList接口查询CLB指定时间段内监控对象的时序指标监控数据。
DescribeProjectMeta
调用DescribeProjectMeta接口查询云监控中CLB的数据命名空间Namespace。
将请求参数中报警产品标签过滤Labels的值设置为
[{"name":"product","value":"SLB"}],其他参数保持默认值。根据返回参数,获取云监控中负载均衡数据命名空间Namespace的值为
acs_slb_dashboard。
DescribeMetricMetaList
调用DescribeMetricMetaList接口查询云监控开放的时序类指标监控项描述。
将请求参数中数据命名空间Namespace的值设置为acs_slb_dashboard,其他参数保持默认值。
根据返回参数,查看负载均衡的时序类指标监控项。可以查看本次示例中使用的监控项7层协议QPS是否存在。
DescribeMetricLast
调用DescribeMetricLast接口查询负载均衡指定监控对象的最新监控数据,本示例查看7层协议QPS的最新监控数据。
在请求参数中,设置查询7层协议QPS的参数。
需要配置以下参数,其他参数可保持默认值。
MetricName:监控项名称,本示例设置为InstanceQps。
Dimensions:维度map,用于查询指定资源的监控数据,本示例设置为
[{"instanceId":"lb-bp1r92vzpemy099f******"}]。Namespace:产品的数据命名空间,用于区分不同的产品,本示例设置为acs_slb_dashboard。
根据返回参数,查看7层协议QPS的最新监控数据。
DescribeMetricList
调用DescribeMetricList接口查询负载均衡指定时间段内的时序指标监控数据。
在请求参数中,设置查询指定时间内7层协议QPS的监控数据。
需要配置以下参数,其他参数可保持默认值。
MetricName:监控项名称,本次示例设置为InstanceQps。
Namespace:产品的数据命名空间,用于区分不同的产品,本次示例设置为acs_slb_dashboard。
Dimensions:维度map,用于查询指定资源的监控数据,本示例设置为
[{"instanceId":"lb-bp1r92vzpemy099f******"}]。StartTime:开始时间,StartTime不能等于或大于EndTime,本次示例设置为
2020-03-28 00:10:00。支持格式:
Unix时间戳:从1970年1月1日开始所经过的毫秒数。
Format格式:YYYY-MM-DDThh:mm:ssZ。
EndTime:结束时间,支持的格式和StartTime一致,本次示例设置为
2020-03-28 00:11:00。
根据返回参数,查看7层协议QPS在指定时间内的监控数据。
通过SDK查看监控
介绍如何通过SDK查看CLB监控项和详细监控数据。本文以SDK调用DescribeMetricList接口查询CLB实例每秒最大并发连接数为例介绍。
设置以下请求参数,其他参数可保持默认值。
MetricName:监控项名称。本文设置为InstanceMaxConnection。
Namespace:产品的数据命名空间。本文设置为acs_slb_dashboard。
Dimensions:维度map,用于查询指定资源的监控数据。本文设置为[{"instanceId":"lb-bp1r92vzpemy099f******"}]。
StartTime:开始时间,不能等于或大于EndTime。本文设置为
2022-10-13 20:45:03。支持格式:
Unix时间戳:从1970年1月1日开始所经过的毫秒数。
Format格式:YYYY-MM-DDThh:mm:ssZ。
EndTime:结束时间,支持的格式和StartTime一致,本文设置为
2022-10-13 20:47:03。
选择SDK示例页签下的Python页签,单击运行示例。
在下方弹出的运行面板中查看运行结果。
常见问题
CLB监控显示有连接数和带宽数据,但请求数为空?
CLB实例的公网IP可能被互联网扫描程序访问。扫描程序通过IP直接发起TCP连接,这些连接会被计入连接数和带宽统计,但扫描程序不会发送有效的HTTP请求,因此七层监控中的请求数显示为空。
这是CLB监控的正常统计行为:
连接数和带宽指标统计所有TCP层面的连接,包括扫描产生的连接。
请求数(QPS)仅统计七层HTTP/HTTPS协议的有效请求,不包含无HTTP请求的TCP连接。
如果您从CLB迁移到ALB后发现CLB仍有连接和带宽数据但请求数为空,通常也是扫描行为导致,不影响已迁移的业务。
能否用 CLB 监控 QPS 精确推算实际请求数?
不能。CLB 监控中的 QPS 是分钟粒度的聚合统计值,与逐笔请求数存在统计偏差,无法与实际请求数精确等同,也不能通过 QPS 与真实值的倍数关系换算请求数或跨实例比例推算。
如需估算到达 CLB 的请求数,建议使用监控中的「7 层协议 QPS」指标,不建议使用状态码类指标。状态码类指标仅统计 CLB 返回给客户端的状态码,不包含未产生状态码的请求(例如连接未完成即中断的情况),存在统计遗漏。
如何查看 CLB 历史流量总和及后端 ECS 流入带宽?
查看历史总流量
CLB 控制台监控展示的是实时流量与带宽的变化趋势,反映的是某一时刻的速率,无法直接汇总出某个时间段(如上个月)的流量总和;且监控数据最多支持查询最近 31 天以内的历史数据。如需按月统计历史流出流量总和,请通过账单的用量数据查看:
单击表格右上角的定制列图标,在用量信息下方勾选用量和用量单位,然后单击确定。
在表格中找到计费项为公网计费方式的行,其用量列的数值即为该账单月份的公网流出流量总和(单位通常为 GB)。
CLB 仅对公网出流量计费,入流量免费,账单中流量费用均为流出流量。
查看后端 ECS 流入带宽
请求经CLB转发到后端 ECS 时表现为内网流量,因此后端 ECS 的接收流量需通过其内网带宽指标查看。您可以通过以下方式查看:
进入目标 ECS 实例的实例详情页,选择监控页签,可按实例维度分别查看各后端服务器的公网和内网带宽使用情况。
若需五元组维度的明细流量信息,可配置 NIS 流量分析器(计费项目)进行核实。
CLB 监控中的并发连接数代表什么?
定义:CLB 监控中的并发连接数指当前活跃的 TCP/UDP 连接会话数,统计的是客户端到 CLB 之间的建联数量,而非 CLB 到后端 ECS 的连接数,也不代表访问用户数。
与规格上限的区分:监控图表中显示的并发连接数仅为当前实际连接数,并非负载均衡实例的规格上限。如需判断是否接近瓶颈,请结合实例性能说明中的并发连接数上限进行评估。
连接数出现规律性波动的原因:若并发连接数出现规律性的一高一低波动(而非平缓曲线),可能是因为业务侧存在部分客户端进行规律性的连接操作(如定时心跳、定时数据拉取)所导致,属于正常现象。
CLB TCP 监听是否支持响应时间(RT)监控?
不支持。CLB 基础监控中,仅 7 层(HTTP/HTTPS)监听支持响应时间(RT)指标,4 层(TCP/UDP)监听不支持应用层响应时间监控。如需分析 TCP 监听的延迟原因,建议通过后端服务器(如Nginx)的访问日志进行分析。