记一次简单的抓爬虫的过程
某日,通过自建的监控系统,我们发现部门下属全部业务的 notFound 页面的性能上报量都有大幅的异常增长,进而影响了单一页面的性能指标以及全量的性能指标。
遇到流量突然暴涨的情况,我们首先从两个角度分析:业务自身的正常增长、来自爬虫的异常增长。
从正常增长的角度来看:
通过以上三点,我们基本可以确定异常流量来自于爬虫
想解决爬虫就需要先定位爬虫的特征,比如 相同的 UA、相似的 IP段 等。
我们先在服务端日志中进行分析,发现 IP 和 UA 特征并不明显。
这是由于业务特质导致的。我们业务的 notFound 页面一直有承担部分爬虫流量的职责,所以整体服务调用量一直较多。在大量服务日志中,爬虫部分 IP 并不是特别起眼。
我们换个角度,从前端性能日志来分析。刚才讲到虽然 notFound 页面服务调用量较高,不过由于大部分请求都是直接爬页面,没有在浏览器中进行渲染,所以前端性能上报量一直比较稳定。可以用来做突破口。
在分析前端性能日志时,我们借助了集团内部共建的 TAM 平台的多维度分析视图来进一步定位。
如图,可以看到在 ISP 分析视图中,来自阿里巴巴的流量占比近70%,这是非常明显的异常聚集。
根据这个特征,我们去前端性能上报的原始日志中进行过滤,发现阿里巴巴的请求IP都在一个网段中,再使用 awk 拆解日志进行聚合分析,来自阿里巴巴的网段在头部呈现聚集态势,如图:
现在我们可以得出结论了:异常增长的流量来自于阿里巴巴神马搜索的爬虫
能定位到爬虫的特征,我们就可以根据具体的特征来施加不同维度的封禁手段。
通过本次异常流量问题的定位和解决,我们应该学会:
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有