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]}'
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)