Shell 统计PV, UV ,独立IP
来源:互联网 发布:网络现金赌博官网 编辑:程序博客网 时间:2024/04/30 04:41
转载感谢分享http://www.jb51.net/article/49316.htm
Nngix输出的access log文件如下:
日志文件代码
复制代码代码如下:
192.168.1.166 - - 119272312 [05/Nov/2011:16:06:59 +0800] "GET /index.html HTTP/1.1" 200 370 "http://192.168.1.201/" "Chrome/15.0.874.106" "-"
192.168.1.166 - - 119272312 [05/Nov/2011:16:06:59 +0800] "GET /poweredby.png HTTP/1.1" 200 3034 "http://192.168.1.201/" "Chrome/15.0.874.106" "-"
192.168.1.177 - - 1007071650 [05/Nov/2011:16:06:59 +0800] "GET /favicon.ico HTTP/1.1" 404 3650 "-" "Chrome/15.0.874.106" "-"
192.168.1.178 - - 58565468 [05/Nov/2011:16:17:40 +0800] "GET / HTTP/1.1" 200 3700 "-" "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)" "-"
192.168.1.166 - - 119272312 [05/Nov/2011:16:17:40 +0800] "GET /nginx-logo.png HTTP/1.1" 200 370 "http://192.168.1.201/" "Chrome/15.0.874.106" "-"
PV很简单,大致就是统计某个URL的访问次数,例如统计/index.html的访问次数
复制代码代码如下:
grep "/index.html" /var/log/nginx/access.log –c
UV呢,我们根据用户标识(第四列) ,首先需要字符串截取,使用cut命令,以空格符号分割,-d “ ”, 再取第四列-f 4,然后这里需要排重,需要使用uniq工具,uniq速度很快,但是基于就近排重,前一个后一个一样会排重,之间间隔了不一样的,就不行了,这就必须使用sort工具来对标识符进行排序,排序后再使用uniq工具就可以达到目的,之间我们用管道符号链接, 最后再用 wc –l 输出统计数
比如我们统计访问了/index.html这也页面的uv:
复制代码代码如下:
grep "/index.html" /var/log/nginx/access.log | cut –d “ ” –f 4| sort | uniq | wc –l
独立IP:
假设我们要统计整站的独立IP,那么我们不需要使用 grep来匹配具体页面,只需要使用cat输出即可:
复制代码代码如下:
cat /var/log/nginx/access.log | cut –d “ ” –f 1 | sort| uniq | wc -l
都木有使用强大的awk,就完成了基本的统计需求:)
如果想统计排名前十可以关注sort
http://blog.sina.com.cn/s/blog_a56ef5490101dh9i.html
0 0
- Shell 统计PV, UV ,独立IP
- Shell 统计PV, UV ,独立IP
- Shell 统计PV, UV ,独立IP
- shell统计pv和uv、独立ip的方法
- Shell统计访问ip UV、PV
- pv/uv/vv/独立ip介绍
- 网站统计IP PV UV实现原理
- 网站数据统计 PV UV IP 是什么意思
- 网站访问量统计之UV/PV/IP
- 网站统计IP PV UV实现原理
- 关于PV、UV、独立IP访问的区别
- 统计UV和PV
- python统计pv、uv
- 统计pv uv-
- mapreduce 统计PV UV
- PV/UV/IP
- PV,UV以及IP
- PV ,UV, IP, PR
- 这是我的第一篇博客,初来驾到请多多指教!
- Android Studio常用插件
- Spring UT-IT
- 给 Android 开发者的 RxJava 详解
- iOS重写父类中的方法时要先调用父类中的方法的原因
- Shell 统计PV, UV ,独立IP
- 一个函数使用另一个函数中的变量
- uva_10180_Rope Crisis in Ropeland!_WA
- PHP CURL上传文件出现413 Request Entity Too Large
- 移动平台—企业转型需要的核心驱动力
- Spark定制班第7课:Spark Streaming源码解读之JobScheduler内幕实现和深度思考
- 弗洛伊德(Floyd)算法
- Service-四大组件之一
- Loss和神经网络训练