采集到SLB 7层负载均衡日志后,您可以在日志服务控制台查询分析日志、查看客户端PV全球分布、请求方法PV趋势、状态码PV趋势、客户端PV热力图、状态码分布等仪表盘。
背景信息
对于大部分云上架构而言,负载均衡是基础设施组件,对SLB持续的监控、探测、诊断和报告是一个强需求。阿里云SLB是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力。通过消除单点故障,为应用提供大规模、高可靠的并发Web访问支撑。
SLB访问日志功能当前支持基于HTTP/HTTPS的7层负载均衡,访问日志内容丰富,完整字段说明请参见日志字段详情。SLB典型指标如下所示:
PV:客户端发起HTTP、HTTPS请求的次数。
UV:对于相同客户端只计算一次,合计总体请求次数。
请求成功率:状态码为2XX的请求次数占总PV的比例。
请求报文流量:客户端请求报文长度总和。
返回客户端流量:SLB返回给客户端的HTTP Body字节数总和。
请求的热点分布:统计客户端地理位置,按照地理位置统计每个地域的PV情况。
前提条件
已采集到SLB 7层负载均衡日志。具体操作,请参见开通访问日志功能。
查看仪表盘
登录日志服务控制台。
在Project列表区域,单击目标Project。
在左侧导航栏,选择仪表盘>仪表盘列表。
在仪表盘列表中,单击目标仪表盘,包括slb-user-log-slb_layer7_operation_center_en和slb-user-log-slb_layer7_access_center_en。
说明在仪表盘卡片的右上角,选择
,查看该图表对应的查询和分析语句。业务概览
通过过滤器筛选某指定SLB实例的PV、UV随时间的变化趋势。过滤器操作请参见添加过滤器。
分析流量与延迟情况(
slb_layer7_access_center_cn
)统计一定时间范围内请求报文的流量和返回客户端的流量。
统计一定时间范围内请求的响应时间变化趋势和upstream响应时间变化趋势。
统计一定时间范围内高延迟的请求。
分析用户请求情况(
slb_layer7_operation_center_cn
)统计一定时间范围内的请求方法、请求协议分布情况。
统计一定时间范围内各种请求方法的PV趋势。
统计一定时间范围内服务运行情况。
如果出现大量的500状态码则表示后端RealServer的应用程序发生内部错误。
统计一定时间范围内各种状态码的PV变化趋势。
分析请求源
统计客户端所属的网络运营商分布情况。
统计客户端所在的地理位置(国家、省份、城市)。
查看用户代理信息。
通过用户代理(http_user_agent)可得知哪些用户在访问网站或服务。例如搜索引擎会使用爬虫机器人扫描或下载网站资源,一般情况下低频爬虫访问可以帮助搜索引擎及时更新网站内容,有助于网站的推广和SEO。但如果高PV的请求都来自于爬虫,则可能影响服务性能及浪费机器资源。
运营概览
运营人员可基于SLB访问日志分析流量情况,进而辅助业务决策。例如通过分析Host和URI信息获知访客最关注的内容,为网站内容建设提供有力的参考。
使用桑基图分析请求调度
客户端流量会先被SLB处理,分发到其中一台RealServer中进行实际的业务逻辑处理。SLB可自动检测到不健康的机器并重新分配流量到其它正常服务的RealServer上,等异常机器恢复后再重新分配流量。
为SLB实例添加一个监听,例如服务器(192.168.0.0)同时兼有跳板机职能,其性能是其它三台服务器的4倍,为该服务器设置监听权重为100,其余服务器监听权重为20。执行如下查询分析语句分析请求流量分布情况。
* | select COALESCE(client_ip, vip_addr, upstream_addr) as source, COALESCE(upstream_addr, vip_addr, client_ip) as dest, sum(request_length) as inflow group by grouping sets( (client_ip, vip_addr), (vip_addr, upstream_addr))
桑基图展示每台RealServer的负载情况,多个客户端向SLB发起请求,请求报文流量基本遵循20:20:20:100比例转发到后端RealServer中。