要通过slb访问日志分析流量热点,需先开启slb访问日志功能并配置日志服务sls,再用sql查询request_uri、client_ip等字段定位热点,结合转发策略交叉分析业务级流量,并配置告警与下钻排查实现闭环。

要通过 SLB 访问日志分析流量热点,核心是开启日志采集 + 配置日志服务(SLS)+ 使用 SQL 快速查询分析。整个过程不复杂但容易忽略几个关键开关。
开启 SLB 访问日志功能
SLB 默认不记录访问日志,必须手动启用:
- 登录阿里云控制台 → 进入「负载均衡 SLB」→ 找到目标实例 → 左侧菜单点击「日志管理」→「访问日志」
- 点击「设置」,选择已创建的 SLS Project 和 Logstore(若无,需先在日志服务控制台新建)
- 确认地域与 SLB 实例一致,勾选「开启访问日志」并保存
- 日志通常在开启后 1 分钟内开始写入,延迟极低(秒级)
配置日志服务(SLS)做实时分析
SLS 是阿里云原生日志平台,天然支持亿级日志秒查和聚合分析:
- 进入日志服务控制台 → 找到对应 Logstore → 点击「查询分析」
- 使用内置字段快速定位热点,例如:
status:统计 4xx/5xx 错误集中路径
request_uri:按 URL 路径聚合访问量(SELECT request_uri, COUNT(*) AS cnt GROUP BY request_uri ORDER BY cnt DESC LIMIT 10)
client_ip:识别高频访问 IP 或地域分布
upstream_response_time:发现响应慢的接口(如WHERE upstream_response_time > 2000) - 可直接保存为「仪表盘」,设置定时刷新,实现流量热点可视化监控
结合转发策略定位业务级热点
如果 SLB 配置了多条域名或路径转发策略,日志中会携带 host 和 request_uri 字段,可交叉分析:
- 比如你有两条策略:
www.example.com /api/v1/order → 订单服务组www.example.com /api/v1/user → 用户服务组
可分别统计:SELECT COUNT(*) FROM log WHERE host='www.example.com' AND request_uri LIKE '/api/v1/order%' - 配合时间范围(如最近 5 分钟),能快速判断是某个微服务突发流量,还是某类接口被恶意刷量
- 若发现某路径 QPS 异常飙升,可立即联动 APIcat 等工具自动创建 ACL 拦截规则
进阶建议:自动告警与下钻排查
光看 Top10 不够,要建立闭环:
- 在 SLS 中为关键指标(如 5xx 错误率 > 1%、单路径 QPS > 5000)配置「告警策略」,触发钉钉/邮件通知
- 告警时附带原始日志上下文(如错误请求的完整 request_id、client_ip、user_agent),便于快速下钻到具体 ECS 实例排查
- 将高频 client_ip 与 SLB 的「访问控制」联动,临时封禁异常来源(需提前创建好 ACL 策略组)











