首页/云/云网络与负载均衡速查/负载均衡访问日志
负载均衡54 条

负载均衡访问日志

七层负载均衡支持把访问日志投递到日志服务或对象存储,记录客户端 IP、状态码、后端成员、各项耗时等字段,是排查 4xx/5xx 与慢请求的一手数据,开启后按需要设置保留周期。

访问日志是排障的一手数据

七层负载均衡可以把访问日志投递到日志服务或对象存储,记录时间、客户端 IP、请求行、状态码、后端成员与各项耗时。相比只有监控曲线,日志能回答「哪条规则、哪个后端、哪类请求出错」,是排查 4xx 与 5xx、定位慢请求、做访问审计的基础。开启后要按需设置保留周期,控制存储成本。

基本信息

日志内容时间、客户端 IP、请求行、状态码、后端成员、上游与总耗时
投递方式写入日志服务或对象存储,部分产品支持控制台下载
主要用途错误率分析、慢请求定位、访问审计
成本存储与索引会产生费用,需要设置保留期
前提日志项目与日志库需要预先配置并授权

典型使用场景

  • 5xx 突增,按后端成员维度区分是全量故障还是单成员问题
  • 排查慢请求:对比上游耗时与总耗时,判断耗时发生在哪一段
  • 统计错误码分布,决定优先修哪类问题
  • 配合安全审计,追溯某个来源 IP 的访问行为
  • 验证发布效果:对比发布前后的状态码与耗时分布

聚合错误码与耗时

聚合错误码与耗时
# 状态码分布
awk '{print $9}' access.log | sort | uniq -c | sort -rn | head
tail -n 1000 access.log | awk '{print $9}' | sort | uniq -c | sort -rn | head -10
# 找出 5xx 请求涉及的后端成员
awk '$9 ~ /^5/ {print $9, $NF}' access.log | sort | uniq -c | sort -rn | head

关键字段读法

字段含义排查用途
状态码负载均衡返回给客户端的状态码区分 4xx 客户端问题与 5xx 服务端问题
后端成员本次请求转发的后端地址与端口定位是否个别成员异常
上游耗时后端处理该请求的时间偏大说明后端慢
总耗时含排队与传输的总时间与上游耗时差值大说明链路或排队问题
排查 5xx 时先看状态码分布与后端成员维度,能快速区分全量问题与个别成员问题,避免一上来就登录实例翻日志。
日志保留期设置过短,等到复盘或审计时数据已经不在了;关键业务建议按合规要求确定保留时长。

易错点

  • 只有监控曲线没有明细日志,定位故障依赖猜测与经验
  • 日志保留期过短,事后复盘时缺少证据
  • 忽略了开启日志需要配置日志项目与授权,事后想查却没有历史数据
  • 把日志全量导出到本地分析,没做索引与聚合,排查效率很低

数据来源与参考

  • 阿里云 ALB 访问日志文档
  • 腾讯云 CLB 日志投递说明
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌