用户行为日志概述

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liuge36/article/details/83111036

写在前面

什么是用户行为日志呢?其实也叫做用户行为轨迹,流量日志等。简单来说,就是用户每次访问网站产生的行为数据(访问,浏览,搜索,点击等)。基本上,只要你访问了任何一个网站,该网站都会有你的行为记录。

当然,日志也是一个很大的概念,任何程序都有可能输出日志:操作系统内核、各种应用服务器等等。日志的内容、规模和用途也各不相同,很难一概而论。这里我想主要说的就是,Web日志。即,web服务器记录的日志。常见的就像nginx日志。

通常,我们的nginx会配置不同用户行为参数来记录每次用户的访问行为,如下:
配置方法:可以参考这片文章

一组真实的nginx日志:

223.104.25.1 - - [21/Nov/2017:20:34:16 +0800] "GET / HTTP/1.1" 200 94 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.0 Mobile/14G60 Safari/602.1" "-"
223.104.25.1 - - [21/Nov/2017:20:34:16 +0800] "GET / HTTP/1.1" 200 94 "-" "Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_3 like Mac OS X) AppleWebKit/603.3.8 (KHTML, like Gecko) Version/10.0 Mobile/14G60 Safari/602.1" "-"
156.151.199.137 - - [21/Nov/2017:20:34:19 +0800] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36" "-"

从日志中我们可以获取:
在这里插入图片描述

从上图中可以看到,可以获取访问者的IP、访问的时间、访问的目标网页、来源的地址以及访问者所使用的客户端的UserAgent信息等。

如果需要更多的信息,则要用其它手段去获取,常见的操作就是埋点,埋点也是很大的东西,简单理解就是,可以使用诸如Ajax请求的东西,将更多信息异步发送到自己的服务器保存,这一操作对用户是完全透明的。

用户行为日志分析的意义

  • 网站的眼睛,referer
  • 网站的神经 网页布局是否合理,用户体验
  • 网站的大脑

毫无疑问,Web日志中包含了大量产品分析人员会感兴趣的信息:
最简单的,我们可以从中获取网站每类页面的PV值(PageView,页面访问量)、独立IP数(即去重之后的IP数量)等;
稍微复杂一些的,可以计算得出用户所检索的关键词排行榜、用户停留时间最高的页面等,从而进行精准推荐营销;
更复杂的,构建广告点击模型、分析用户行为特征等等。

总之,一句话,用户行为日志分析能够为公司带来很好的收益。这才是主要的。哈哈哈

用户行为日志分析的方法

  • 数据量比较小的情况
    在这种情况下我们使用单机版本就是完全可以解决的,也许是几十MB、几百MB或者几十GB。
    总之就是在单机处理尚能忍受的时候。一切都很好办,现成的各种Unix/Linux工具——awk、grep、sort、join等都是日志分析的利器,如果仅仅是想知道某个页面的PV,一个wc+grep就能搞定。如果有稍复杂的逻辑,那就使用各种脚本语言,尤其是perl,配合伟大的正则表达式,基本就可以解决所有的问题。

  • 大数据场景

当我们的单机无法忍受,这个时候,就该我们大数据里面的组件来处理了。常见的处理步骤是这样的:

在这里插入图片描述

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/liuge36/article/details/83111036