日志分析
数据情况
每行记录有5部分组成:访问者IP、访问时间、访问资源、访问状态(HTTP状态码)、本次访问流量
指标KPI
1.浏览PV
(1)定义:页面浏览量即为PV(Page View),是指所有用户浏览页面的总和,一个独立用户每打开一个页面就被记录1 次。
(2)分析:网站总浏览量,可以考核用户对于网站的兴趣,就像收视率对于电视剧一样。但是对于网站运营者来说,更重要的是,每个栏目下的浏览量。
计算公式:记录计数,从日志中获取访问次数,又可以细分为各个栏目下的访问次数。
用户注册数
注册用户量,指的是某款软件系统截止到某一时刻所拥有的已注册的用户总量。通常所说的用户量,如果没有特别说明,一般指的就是注册用户量
3.IP数
(1)定义:一天之内,访问网站的不同独立 IP 个数加和。其中同一IP无论访问了几个页面,独立IP 数均为1。
(2)分析:这是我们最熟悉的一个概念,无论同一个IP上有多少电脑,或者其他用户,从某种程度上来说,独立IP的多少,是衡量网站推广活动好坏最直接的数据。
计算公式:对不同的访问者ip,计数
跳出率
(1)定义:只浏览了一个页面便离开了网站的访问次数占总的访问次数的百分比,即只浏览了一个页面的访问次数 / 全部的访问次数汇总。
(2)分析:跳出率是非常重要的访客黏性指标,它显示了访客对网站的兴趣程度:跳出率越低说明流量质量越好,访客对网站的内容越感兴趣,这些访客越可能是网站的有效用户、忠实用户。
计算公式:①统计一天内只出现一条记录的ip,称为跳出数;②跳出数/PV;
5.板块热度TopN
查看某个区域、模板的热度情况
开发步骤
技术框架描述
(1)Linux Shell编程
(2)HDFS、MapReduce(Apache或者CDH)
(3)Hive、Sqoop框架(Apache或者CDH)
上传日志文件至HDFS
把日志数据上传到HDFS中进行处理,可以分为以下几种情况:
(1)如果是日志服务器数据较小、压力较小,可以直接使用shell命令把数据上传到HDFS中;
(2)如果是日志服务器数据较大、压力较大,使用NFS在另一台服务器上上传数据;
(3)如果日志服务器非常多、数据量大,使用flume进行数据处理;
数据清洗
使用MapReduce对HDFS中的原始数据进行清洗,以便后续进行统计分析;
统计分析
使用Hive对清洗后的数据进行统计分析
分析结果导入MySQL
使用Sqoop把Hive产生的统计结果导出到mysql中;
表结构设计
数据清洗过程
数据定时上传
首先,把日志数据上传到HDFS中进行处理,可以分为以下几种情况: