nginx 日志查询

转载:https://www.jianshu.com/p/f105fb19dd0b

1、根据访问IP统计UV
awk '{print $1}' access.log|sort | uniq -c |wc -l

2、统计访问URL统计PV
awk '{print $7}' access.log|wc -l

3、查询访问最频繁的URL
awk '{print $7}' access.log|sort | uniq -c |sort -n -k 1 -r|more

4、查询访问最频繁的IP
awk '{print $1}' access.log|sort | uniq -c |sort -n -k 1 -r|more

5、根据时间段统计查看日志
cat access.log| sed -n '/14/Mar/2015:21/,/14/Mar/2015:22/p'|more

6、统计IP访问个数(和根据访问IP统计UV一样)
cat access.log | awk '{ips[$1]+=1} END{for(ip in ips) print ips[ip],ip}' | sort -nr | wc -l

7、查看3点-6点之间的Ip访问个数
grep "2016:0[3-6]" access.log | awk '{ips[$1]+=1} END{for(ip in ips) print ips[ip],ip}' | sort –nr | wc -l

8、查看3点-6点之间的ip访问数,并且访问数>=200的ip.
grep '2016:0[3-12]' access.log | awk '{ips[$1]+=1}END{for(ip in ips) if(ips[ip]>=200) print ips[ip],ip}' | sort -nr

9、查看并发连接数
netstat -nat|grep ESTABLISHED|wc -l

10、获取每分钟的请求数量,输出成csv文件
cat /usr/local/nginx/logs/access.log | awk '{print substr(2","$1}' > access.csv

11、获取最耗时的请求时间、url、耗时,前10名, 可以修改后面的数字获取更多,不加则获取全部
cat /usr/local/nginx/logs/access.log | awk '{print 7,1,3}' | sort -k3 -rn | head -10

12、查看http的并发请求数与其TCP连接状态
netstat -n | awk '/^tcp/ {++b[NF]} END {for(key in state) print key,"\t",state[key]}'

 

posted @ 2023-11-16 14:48  leihongnu  阅读(54)  评论(0编辑  收藏  举报