托管至SAE的应用,有时会出现访问流量异常增长的情形。
此时,我们需要对流量异常日期对应的应用访问日志进行分析,从而排查流量异常增长的原因。
一个简单有效的方式就是对访客IP进行统计,因为流量异常很可能是由于少数几个IP在短时间内的大量访问造成的(当然也不排除DDoS攻击)。
要获取SAE的访问日志,可以从SAE的日志面板手工下载,也可以使用SAE的实时日志API,参阅博文:SAE实时日志API Python使用小记。
由于我们只需要使用日志的IP字段,通过SAE实时日志API中fop参数的fields命令可以移除多余的日志字段,从而节省下载流量造成的云豆消耗。
通过下面的Python代码即可实现特定日期的访客IP统计。
在工作目录下创建sae_log_util.py,apibus_handler.py,ip_counter.py并拷贝相应代码,执行ip_counter.py即可。
sae_log_util.py:
#-*-coding: utf8 -*-
#sae_log_util.py
#sae log utility based on sae apibus_handler
#author ...