每天分析日志的哥们实在伤不起,经常需要给出PV,UV,独立IP等一些统计值,使用C/C++,java都可以写,过程是这样的,先读取文件,逐行扫描,把能标记的值放入数据结构中,排重得出最终结果,其实Linux本身有很强大的文本处理功能,完全可以用shell + 一些文本小工具得出结果。

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,就完成了基本的统计需求:)

https://fukun.org/archives/03191870.html点击打开链接
了解日志的各种定义后,这里分享一下从网上淘来的一些对日志分析的脚本

1.查看apache的进程数
ps -aux | grep httpd | wc -l

2.分析日志查看当天的ip连接数
cat default-access_log | grep “10/Dec/2010” | awk ‘{print $2}’ | sort | uniq -c | sort -nr

3.查看指定的ip在当天究竟访问了什么url
cat default-access_log | grep “10/Dec/2010” | grep “218.19.140.242” | awk ‘{print $7}’ | sort | uniq -c | sort -nr

4.查看当天访问排行前10的url
cat default-access_log | grep “10/Dec/2010” | awk ‘{print $7}’ | sort | uniq -c | sort -nr | head -n 10

5.看到指定的ip究竟干了什么
cat default-access_log | grep 218.19.140.242 | awk ‘{print $1″t”$8}’ | sort | uniq -c | sort -nr | less

6.查看访问次数最多的几个分钟(找到热点)
awk ‘{print $4}’ default-access_log |cut -c 14-18|sort|uniq -c|sort -nr|head

三.使用awstats自动分析日志
当然啦,如果想最简单和最直观的分析日志还是用工具,现在网上较流行的工具是awstats,一个基于perl的web日志分析工具,功能很强大也支持IIS等服务器
下载地址 http://awstats.sourceforge.net

shell统计pv和uv、独立ip的方法相关推荐

  1. java pv uv 统计_shell统计pv和uv、独立ip的方法

    每天分析日志的哥们实在伤不起,经常需要给出PV,UV,独立IP等一些统计值,使用C/C++,java都可以写,过程是这样的,先读取文件,逐行扫描,把能标记的值放入数据结构中,排重得出最终结果,其实Li ...

  2. java实现统计pv和uv_shell统计pv与uv、独立ip的方法

    问题描述: 每天分析日志的哥们实在伤不起,经常需要给出PV,UV,独立IP等一些统计值,使用C/C++,java都可以写,过程是这样的,先读取文件,逐行扫描,把能标记的值放入数据结构中,排重得出最终结 ...

  3. 实现 PV、UV、IP 日统计

    引用:https://yzhyaa.blog.csdn.net/article/details/113821594?spm=1001.2101.3001.6650.1&utm_medium=d ...

  4. 用PHP做网站的PV、UV、IP访客统计

    用PHP做网站访客统计,听起来好像有点多此一举,想想有那么多好用的统计工具不用,偏偏想自己写?不过,有时还是按项目需求走吧. 就当我是在废话吧,还是想唠叨一下PV.UV.IP三者的定义与区别. 1.P ...

  5. PV、UV、IP的区别

    PV.UV.IP的区别 作者:段漫 日期:2010/6/2 23:06:47 网站推广需要一个网站访问统计工具,常用的统计工具有百度统计.51la.量子恒道统计等.网站访问量常用的指标为PV.UV.I ...

  6. pv 、uv、ip、vv、cv分别是什么

    作为一名准产品新汪,虽然没有十足干货,但希望记下苦海行舟之点滴,以求共勉! PV(page view,页面浏览量) 用户每打开1个网站页面,记录1个PV.用户多次打开同一页面,PV值累计多次.主要用来 ...

  7. 网站中PV、UV、IP的区别

    网站推广需要一个网站访问统计工具,常用的统计工具有百度统计.51la.量子恒道统计等.网站访问量常用的指标为PV.UV.IP.那么什么是PV.UV和IP,PV.UV.IP的区别是什么? 首先来看看ip ...

  8. PV、UV、IP之间的区别与联系pv uv vv cv 的区别 不是记不住意思,是真心记不清简写。。。。

    PV是网站分析的一个术语,用以衡量网站用户访问的网页的数量.对于广告主,PV值可预期它可以带来多少广告收入.一般来说,PV与来访者的数量成正比,但是PV并不直接决定页面的真实来访者数量,如同一个来访者 ...

  9. 使用Nginx访问日志统计PV和UV

    一个网站当用户量增大时候,不可避免有统计pv和uv的需求. UV(Unique Visitor):独立访客,以cookie为依据区分不同访客,UV计算一天之内(00:00-24:00),访问网站的访客 ...

最新文章

  1. Delete、Upadate、Insert事件触发常见错误
  2. 经典DP 嵌套矩形 (南洋理工ACM—16)
  3. jQuery Mobile教程:jQuery Mobile基本事件
  4. 7-5 统计大写辅音字母 (15 分)
  5. MacOS12+SublimeText+Skim无法正常跳转Skim的问题与解决
  6. timesten配置使用客户端连接timesten服务器
  7. PCB线路板制作之蚀刻工艺流程
  8. jsp+Servlet实现短信验证码(腾讯云)保姆式教学
  9. 【071】张大妈计算器-工资计算器及各地薪资报告
  10. 玩转Linux与运维岗(21)
  11. 一款英国折叠车如何在中国城市流行?
  12. arma找不到合适的模型_ARMA模型建模与预测指导
  13. h5跨域访问图片_h5标签canvas关于getImageData跨域的问题
  14. WebSocket+Tomcat实现网页简易聊天室
  15. SQL中实用的小技巧
  16. Mysql常见面试题(陆续更新中)...
  17. 贴片陶瓷电容材质NPO、C0G、X7R、X5R、Y5V、Z5U区别
  18. python base64编码与图片之间的转换
  19. php搞笑证件,摆摊证制作软件app 摆摊证搞笑图片怎么做
  20. 集合中篇—栈与队列区块链

热门文章

  1. java代码实现excel文件数据导入
  2. PDK工艺库安装总结
  3. 计算机维护费可以跨年吗,税控维护费跨年抵扣分录怎么做
  4. 廊坊汽车迁入北京流程纪实
  5. android l 论坛,同步更新魔趣源码Android-L编译
  6. 为什么说“三岁看大,七岁看老”
  7. 丝绒绳的价值:炒​​作和排他性对发射策略的影响
  8. php对字符串进行加密、解密
  9. 大数据Kylin(一):基础概念和Kylin简介
  10. 在IIS7、IIS7.5中应用程序池最优配置方案