档案日期2015的37

2015年9月14日 - 2015年9月20日

使用SAE实时日志API统计IP来访次数

托管至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 blog: https://bookshadow.com
#src date: 2015-09-17

status_code_dict = {200 : 'OK', 206 : 'Partial Content', 400 : 'Bad ...

继续阅读

[LeetCode]First Missing Positive

题目描述:

Given an unsorted integer array, find the first missing positive integer.

For example,
Given [1,2,0] return 3,
and [3,4,-1,1] return 2.

Your algorithm should run in O(n) time and uses constant space.

题目大意:

给定一个未经排序的数组,寻找第一个缺失的正整数。

例如,
给定 [1,2,0] 返回3,
给定 ...

继续阅读

每日归档

上周

下周

归档