awk 日志分析总结
2020-08-20 本文已影响0人
皮儿吃屁
1、查看有多少个IP访问:
awk '{print $1}' access.log | sort | uniq | wc -l
2、查看访问前十个ip地址
awk '{print $1}' access.log | sort | uniq -c | sort -nr | head -10
3、查看某一个IP访问了哪些页面:
grep ^127.0.0.1 access.log | awk '{print $1,$7}' | uniq
4、查看某一时间段的IP访问量(4-5点)
grep "07/Apr/2020:0[4-5]" access.log | awk '{print $1}' | sort | uniq -c | sort -nr | wc -l
5、查看访问100次以上的IP
awk '{print $1}' access.log | sort | uniq -c | awk '{ if($1 >100) print $0 }' | sort -rn
6、去掉百度爬虫后统计访问页面
grep -v 'baiduSpider' access.log | awk '{print $7}'
7、查看最近1000条记录,访问量最高的页面
tail -1000 access.log | awk '{print $7}' | sort | uniq -c | sort -nr | less
8、统计每秒的请求数,top100的时间点(精确到秒)
awk '{print $4}' access.log | cut -c 14-21 | sort | uniq -c | sort -nr | head -100
9、在nginx log中最后一个字段加入$request_time,列出传输时间超过 3 秒的页面,显示前20条
awk '($NF > 3){print $7}' access.log | sort | uniq -c | sort -nr | head -20