相关动态
网站流量日志数据分析
2024-11-10 18:22

1421033-20180803200819273-553571702.png

网站流量日志数据分析

  1. 点击流(Click Stream)是指用户在网站上持续访问的轨迹,我们通过对网站日志的分析可以获得用户的点击流数据。
  2. 点击数据在数据建模时存在两张模型表 Pageviews 和 visits
  1. 网站流量分析模型举例
  • 网站流量质量分析 流量并不是越多越好,应该更加看重流量的质量
  • 网站流量多维度细分 细分是指通过不同维度对指标进行分割1421033-20180803200616433-1442051459.png

  • 网站内容及导航分析1421033-20180803200626724-387167584.png

第一个问题:访问者从导航页(首页)还没有看到内容页面之前就从导航页 离开网站,需要分析导航页造成访问者中途离开的原因。 第二个问题:访问者从导航页进入内容页后,又返回到导航页,说明需要分 析内容页的最初设计,并考虑中内容页提供交叉的信息推荐。

  • 网站转化以及漏斗分析 ①阻力的流失 比如:不恰当的商品或活动推荐,对支付环节中专业名词的解释、帮助信息等内容不当。 ②迷失 比如在线购买演唱会门票,直到支付也没看到在线选座的提示,这时候就很可能会产生迷失,返回查看。
  1. 流量分析常见分类 指标是网站分析的基础,用来记录和衡量访问者在网站自的各种行为。
  • 骨灰级指标:IP访问网站的不重复 IP 数、PageView页面被加载的总次数、Unique PageView访问网站的不重复用户数
  • 基础级指标:访问次数、网站停留时间、页面停留时间
  • 复合级指标:人均浏览页数、跳出率(单页访问)、退出率

数据处理流程

1421033-20180726210821120-904714272.png

  • 数据采集:定制开发采集程序,或使用开源框架 Flume
  • 数据预处理:定制开发 mapreduce 程序运行于 hadoop 集群
  • 数据仓库技术:基于 hadoop 之上的 Hive
  • 数据导出:基于 hadoop 的 sqoop 数据导入导出工具
  • 数据可视化:定制开发 web 程序(echarts)或使用 kettle 等产品
  • 整个过程的流程调度:hadoop 生态圈中的 azkaban 工具或其他类似 开源产品

项目结构

1421033-20180803200804221-356743486.png

Flume日志采集系统搭建

nginx文件存储日志不会自动地进行切割,都是写在一个文件 access.log 当中,切割需要使用 date 命令以获得昨天的日期、使用 kill 命令向 Nginx 进程发送重新打开日志文件的信号,以及 crontab 设置执行任务周期。

自动切割 shell 脚本 nginx_log.sh
 
 
crontab设置作业(每天零时零分执行
 
 

采集实现

  1. 在个 web 服务器上部署 agent 节点,修改配置文件
  2. 启动 agent 节点,将采集到的数据汇聚到指定的 HDFS 目录中

使用aildirSource,可以监控一个目录,并且使用正则表达式匹配该目录中的文件名进行实时收集。

 
 
  • filegroups:指定 filegroups,可以有多个,以空格分隔(TailSource 可以同时监控tail 多个目录中的文件
  • positionFile:配置检查点文件的路径,检查点文件会以 json 格式保存已经 tail 文件的位置,解决了断点不能续传的缺陷。
  • filegroups.:配置每个 filegroup 的文件绝对路径,文件名可以用正则表达式匹配

主要目的

  • 清理不合规无意义的数据
  • 格式转换和规整
  • 根据后续的统计需求,过滤分离出各种不同主题的基础数据。

维度建模基本概念

维度建模(dimensional modeling)是专门用于分析型数据库、数据仓库、数据集市建模的方法。

  • 维度表
  • 事实表

事实表的设计是以能够正确记录历史信息为准则,维度表的设计是以能够以合适的角度来聚合主题内容为准则。

维度建模三种模式

  • 星型模式是以事实表为中心,所有的维度表直接连接在事实表上
  • 雪花模式的维度表可以拥有其他维度表的
  • 星座模式是基于多张事实表的,而且共享维度信息

本项目中数据仓库的设计

  • 事实表设计

1421033-20180805132116329-2077988402.png

1421033-20180805132939598-1151126751.png

  • 维度表设计

1421033-20180805133118814-92051993.png

ETL 工作的实质就是从各个数据源提取数据,对数据进行转换,并最终加载填充数据到数据仓库维度建模后的表中。只有当这些维度/事实表被填充好,ETL工作才算完成。1421033-20180805135614151-90014752.png

  • 源数据层(ODS:此层数据无任何更改,直接沿用外围系统数据结构和数据,不对外开放;为临时存储层,是接口数据的临时存储区域,为后一步的数据处理做准备。
  • 细节层(DW:为数据仓库层,DW 层的数据应该是一致的、准确的、干净的数据,即对源系统数据进行了清洗(去除了杂质)后的数据。
  • 应用层(DA 或 APP:前端应用直接读取的数据源;根据报表、专题分析需求而计算生成的数据。

创建ODS层数据表

 
 
 
 
 
 
 
 

导入ODS层数据

 
 
 
 
 
 
 
 

:生产环境中应该将数据 load 命令,写在脚本中,然后配置在 azkaban中定时运行,注意运行的时间点,应该在预处理数据完成之后。

生成ODS层明细宽表

 
 
 
 
 
 
 
 

1. 流量分析

多维度统计PV总量
 
 
按照来访维度统计pv
 
 
统计pv总量最大的来源TOPN
 
 
人均浏览页数
 
 

2. 受访分析 (从页面的角度分析

各页面访问统计
 
 
热门页面统计
 
 

3. 访客分析

独立访客
 
 
每日新访客
 
 

4. 访客Visit分析(点击流模型

回头/ 单次访客统计
 
 
人均访问频次
 
 

5. 关键路径转化率分析

转化:在一条指定的业务流程中,各个步骤的完成人数及相对上一个步骤的百分比。

 
 

Sqoop 是Hadoop 和关系数据库服务器之间传送数据的一种工具。它是用来从关系数据库如:MySQL,Oracle 到 Hadoop 的 HDFS,并从 Hadoop 的文件系统导出数据到关系数据库。

整个项目的数据按照处理过程,从数据采集到数据分析,再到结果数据的导出,一系列的任务可以分割成若干个 azkaban 的 job 单元,然后由工作流调度器调度执行。shell 脚本大体框架:

    以上就是本篇文章【网站流量日志数据分析】的全部内容了,欢迎阅览 ! 文章地址:http://yybeili.xhstdz.com/news/5224.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 物流园资讯移动站 http://yybeili.xhstdz.com/mobile/ , 查看更多   
最新文章
国际站:SEO Checker诊断工具助力商家诊断详情页,提升seo效果
国际站商家看过来:众所周知,一个优质的商品描述,可以提升买家转化的同时,还可以带来更多免费流量,从而让商家获得更多询盘和
【富蕴网站优化】在网站优化中有哪些常用的网站推广方式?
1、,百度,google的优化,针对,音乐,mp3下载,电影、游戏等一级,二级,甚至关键字优化。Seo介绍的网站很多,就不在这里重复
公众号简单爬虫--把公众号文章全部转载到网站(二)
根据上一篇的方法,我们得到了一个获取列表信息的地址,而且是用get方法就可以的地址.那么事情就变得很简单了,就是常规的爬取信息
1.【typecho】个人博客安装—使用群晖演示
哈喽,大家好今天给大家带来的是最近在群晖上安装一个博客的演示。先给大家看一下安装好之后的效果。虽然说现在使用博客和看博客
SEO优化攻略,揭秘网站排名提升与流量最大化技巧
本文深入解析SEO优化策略,通过关键词研究、高质量内容创作、链接建设等技术手段,帮助提升网站在搜索引擎中的排名,从而实现流
【HMNOTE搜狗手机输入法下载】小米HMNOTE搜狗手机输入法12.1.1免费下载
搜狗输入法,拥有超大中文词库,输入更加精准,智能。搜狗智能旺仔带你用表达,斗图,妙语,输入更加有趣。******特色功能******
vivo S19 Pro:全焦段人像拍照的5G游戏续航新宠
在智能手机市场日益同质化的今天,vivo S19 Pro以其独特的全焦段人像拍照功能、强大的5G性能以及出色的游戏续航能力,成为了众多
12月12日,星期四, 每天60秒读懂全世界!
新闻来源:百度热搜榜1. 25年老员工被开除 法院判赔98万近日,工作25年的李某被安排学习员工手册,全程玩手机遭公司开除,引发热
刚子扯谈:网站运营在左 技术在右 真TM扯
2013年8月5日,雨未下,天猴焖开片语:今天的扯谈内容是我转载我Java学习交流群里面一个哥们,当然我推荐他加入了朋友的网络分析
做seo营销网站/百度惠生活商家入驻
假定我们定义了一个Persion的message type,我们的用法可能如下定义 和 package tutorial;message Person {required int
相关文章