七牛云存储访问日志的启用&分析说明
开启访问日志
七牛云存储提供访问日志记录功能,以便开发者分析更多的访问信息。该功能默认关闭,需要您在「空间设置」中手动开启,并指定访问日志保存到的空间。建议将访问日志保存在您的私有空间中,以免您的日志可以被任意访问。
访问日志的保存
命名规则:
保存格式:gzip
访问日志的格式
访问日志中每条记录的格式如下:
$remote_addr - $remote_user [$time_local] $request $status $body_bytes_sent $http_referer $http_user_agent $host V1
每个字段对应的内容为:
字段名称 | 对应内容 |
---|---|
$remote_addr | 远程(用户的)ip地址 |
- | 分隔符 |
$remote_user[$time_local] | 用户的本地时间 |
$request | 当前请求 |
$status | 请求结果的状态码 |
$body_bytes_sent | 响应大小(包含响应头) |
$http_referer | 来源链接 |
$http_user_agent | 客户端终端信息 |
$host | Host |
V1 | 当前版本号 |
一条具体的日志记录如下:
211.161.248.102 - - [22/Feb/2016:10:04:34 +0800] "GET /hexo_logo.jpg HTTP/1.1" 200 686 "NULL" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36" "http://qingkang.me" V1
日志分析
我们可以将访问日志下载至本地进行详细的分析,日志文件格式为.gz的压缩文件,需解压。下面是几个分析事例,假设对日志文件part0进行操作。「以下操作在linux或Mac环境命令行下进行」
查看当天被请求次数最多的前n个资源
cat part0 | awk '{print $7}' | sort | uniq -c | sort -nr | head -n
查看当天访问的ip数,过滤重复
cat part0 | awk '{print $1}' | sort | uniq -c | sort -nr
查看某一时间段的ip连接数__「8点-9点之间请求的独立ip数」
cat part0 | grep "2016:0[8-9]" | awk '{print $1}' | sort | uniq -c | sort -nr | wc -l
查看某个文件被请求的次数__「查看请求文件example.png的源ip,按请求次数排序」
cat part0 | grep 'example.png' | awk '{print $1}' | sort | uniq -c | sort -nr
统计某一时间段内总流量__「10点时的总流量,单位M」
cat part0 |grep '2016:10'| awk '{sum+=$9} END{print sum/1048576}'