通过nginx日志利用shell统计日pv和uv
网上记录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
这个是看当日的,看昨天的改日期格式就行。