博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用户行为日志概述
阅读量:6826 次
发布时间:2019-06-26

本文共 1661 字,大约阅读时间需要 5 分钟。

写在前面

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

当然,日志也是一个很大的概念,任何程序都有可能输出日志:操作系统内核、各种应用服务器等等。日志的内容、规模和用途也各不相同,很难一概而论。这里我想主要说的就是,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,配合伟大的正则表达式,基本就可以解决所有的问题。

  • 大数据场景

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

在这里插入图片描述

在这里插入图片描述

转载于:https://www.cnblogs.com/liuge36/p/9882622.html

你可能感兴趣的文章
在Eclipse中使用XDebug调试代码 | Using XDebug debug code in eclipse
查看>>
[译] box-shadow 属性
查看>>
使用vue.js开发时的一些坑
查看>>
beego的ORM-配置数据库
查看>>
学习promise编写和使用
查看>>
PHP 打印函数之 print print_r
查看>>
固定头部的表格
查看>>
Decode Ways leetcode
查看>>
try-catch-finally中的return
查看>>
yii2 常用方法记录
查看>>
可想造一个属于你自己的jQuery库?(二)
查看>>
使用Coverage分析WSGI项目的代码覆盖率
查看>>
Linux 用户被差别对待?无法通过 apple.com 管理 Apple ID
查看>>
spring JdbcTemplate 在项目中的浅层(5个使用场景)封装 ...
查看>>
Kafka科普系列 | 轻松理解Kafka中的延时操作
查看>>
Python零基础学习笔记(二十九)—— OS模块
查看>>
MySQL8.0 - 新特性 - 通过SQL管理UNDO TABLESPACE
查看>>
函数计算实现 oss 上传超大 zip 压缩文件的自动解压处理 ...
查看>>
linux+xampp搭建WordPress个人网站过程详解
查看>>
JavaScript函数_函数作用域
查看>>