我们进行需要对网站日志进行分析,如指定时间段访问量,哪个ip访问最多,哪个url访问最多,为后续优化操作提供数据支持。下面介绍几个常见的数据分析
1、获取pv数
cat /usr/local/nginx/logs/access.log | wc -l
2、获取ip数
cat /usr/local/nginx/logs/access.log | awk '{print $1}' | sort -k1 -r | uniq | wc -l
3、获取最耗时的请求时间、url、耗时,前10名
cat /usr/local/class/logs/access.log | awk '{print $4,$7,$NF}' | awk -F '"' '{print $1,$2,$3}' | sort -k3 -rn | head -10
4、HTTP状态码(非200)统计 Top5
awk '{if ($13 != 200){print $13}}' access.log|sort|uniq -c|sort -rn|head -5
5、查看访问100次以上的IP
awk '{print $1}' access.log | sort -n |uniq -c |awk '{if($1 >100) print $0}'|sort -rn
6、访问最频繁的URL TOP5
awk '{print $7}' access.log|sort |uniq -c |sort -nr |head -5
7、每分钟请求量统计
统计每分钟的请求数,top100的时间点(精确到分钟)
awk '{print $4}' access.log |cut -c 14-18|sort|uniq -c|sort -nr|head -n 100
8、分析post请求,错误页面对应ip统计
grep 'POST .* 40[45] ' access.log | awk '{print $1}' | sort -rn | uniq -c | awk '{if($1 > 50) print $2}'
发表评论 取消回复