博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Nginx日志常用分析命令汇总 (转)

Posted on 2016-12-29 14:57  moss_tan_jun  阅读(364)  评论(0编辑  收藏  举报

 

 

 

三、常用日志分析命令

1、总请求数

 

1
wc -l access.log |awk '{print $1}'

2、独立IP数

 

1
awk '{print $1}' access.log|sort |uniq |wc -l

3、每秒客户端请求数 TOP5

 

1
awk  -F'[ []' '{print $5}' access.log|sort|uniq -c|sort -rn|head -5

4、访问最频繁IP Top5

 

1
awk '{print $1}' access.log|sort |uniq -c | sort -rn |head -5

5、访问最频繁的URL TOP5

 

1
awk '{print $7}' access.log|sort |uniq -c | sort -rn |head -5

6、响应大于10秒的URL TOP5

 

1
awk '{if ($12 > 10){print $7}}' access.log|sort|uniq -c|sort -rn |head -5

7、HTTP状态码(非200)统计 Top5

 

1
awk '{if ($13 != 200){print $13}}' access.log|sort|uniq -c|sort -rn|head -5

8、分析请求数大于50000的源IP的行为

 

 

 

1
2
3
4
5
6
7
8
9
10
awk '{print $1}' access.log|sort |uniq -c |sort -rn|awk '{if ($1 > 50000){print $2}}' > tmp.txt
for in $(cat tmp.txt)
do
   echo $i  >> analysis.txt
   echo "访问行为统计" >> analysis.txt
   grep $i  access.log|awk '{print $6}' |sort |uniq -c | sort -rn |head -5 >> analysis.txt
   echo "访问接口统计" >> analysis.txt
   grep $i  access.log|awk '{print $7}' |sort |uniq -c | sort -rn |head -5 >> analysis.txt
   echo -e "\n"  >> /root/analysis/$Ydate.txt
done