根据weblog分析某个业务下的ip访问量
目标:
对日志做分析,获取各个模块的ip访问量。
计划方法:
1. 首先获得符合条件的访问日志记录
2. 对符合条件的记录做排序做uniq得到模块目录下唯一ip列表
3. 再使用uniq 获得各个模块的ip数量
实施步骤:
1. 提取符合条件的日志行,输出ip地址和url
-
cat www.access.log |awk '($7 ~ /\.php/|| $7 ~/\/mod1\//){print $1 " " $7}'
2. 通过sed从url中提取模块目录的名称
-
|sed -e 's/\(^\/[^\/?"]*\).*/\1/'
3. 排序求每个模块下唯一的ip
-
| awk '{print $2 " " $1}' |sort |uniq
4. 对每个模块做统计倒序排列
-
| awk '{print $1}' | uniq -c |sort -nr
合起来:
-
cat www.access.log |awk '($7 ~ /\.php/|| $7 ~/\/mod1\//){print $1 " " $7}' \
-
|sed -e 's/\(^\/[^\/?"]*\).*/\1/' \
-
| awk '{print $2 " " $1}' |sort |uniq
-
| awk '{print $1}' | uniq -c |sort -nr
Popularity: 5% [?]