网上记录nginx日志统计访问量的脚本的文档很多,但是看来看去实际都是一个东西,如下:
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
其中,第五条不好使,具体不说了,也没有统计当日的的pv和uv,自己为了zabbix写了一个,其实也很简单,记一下。
pv:cat /usr/local/nginx/logs/access.log| sed -n /$(date "+%d\/%b\/%Y")/p |awk '{print $7}' |sort|wc -l
uv:cat /usr/local/nginx/logs/access.log| sed -n /$(date "+%d\/%b\/%Y")/p |awk '{print $1}' |sort|uniq -c |wc -l
这个是看当日的,看昨天的格式(如UV):
cat /usr/local/nginx/logs/access.log| sed -n /$(date -d "yesterday" "+%d\/%b\/%Y")/p |awk '{print $1}' |sort|uniq -c |wc -l
转载于:https://blog.51cto.com/devin223/2083334