网站数据统计分析系统之采集服务部署
2017-06-06 23:47
447 查看
网站数据统计分析项目之采集服务部署
服务器部署方案本机 | master | slave1 | slave2 |
---|---|---|---|
目标程序(ecshop) | 日志采集服务器 | 日志采集服务器 | |
采集服务器负载均衡 | |||
目标网站(web程序) | |||
namenode | namenode | ||
datanode | datanode | datanode | |
rm1 | rm2 | ||
nm | nm | nm | |
zk | zk | zk | |
jn | jn | jn | |
管理节点 |
OpenResty环境搭建
可以参考:网站数据统计分析系统之后端脚本之OpenResty简介课程中的详细讲解。
开发和部署采集脚本
ma.js可以放到采集服务器的工作目录下:/home/hadoop/work/html/然后修改一下埋点脚本中的ma.js路径。
...... 页面其它省略...... //通过页面input接受后台用户uid < input type="hidden" id="_uid" value="< ?php echo $user_id;?"/> < script type="text/javascript"> var _maq=_maq||[]; _maq.push(['_account','user1']); //通过js获取用户uid数据 _maq.push(['_uid','getElementsById("_uid").value']); (function(){ var ma=document.createElement("script"); ma.type="text/javascript"; //异步加载 ma.async=true; //引入具体采集代码,ma.js放在采集服务器中 ma.src="http://192.168.0.201:8080/ma.js"; //创建一个script标签 var s=document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(ma,s); })(); < /script> < /html>
同时需要修改采集脚本中的路径:
(function(){ var params={}; //document if(document){ //域名 params.domain=document.domain||''; //URL params.url=document.URL||''; //页面标题 params.title=document.title||''; //从哪个页面跳转过来referrer params.referrer=document.referrer||''; } //window if(window&&window.screen){ //分辨率 params.sh=window.screen.height||0; params.sw=window.screen.width||0; //颜色深度 params.cd=window.screen.colorDepth||0; } //navigator if(navigator){ //客户端语言 params.lang=navigator.language||''; } //解析_maq if(_maq){ for(var i in _maq){ switch(_maq[i][0]){ case '_account': params.account=_maq[i][1]; break; case '_uid': params.uid=_maq[i][1]; break; default: break; } } } //console.log(params); var ags=""; //拼接参数 for(var i in params){ if(ags!=''){ ags+='&'; } ags+=i+'='+encodeURIComponent(params[i]); } console.log(ags); var img=new Image(1,1); //将采集的数据以图片的形式发送到采集服务器 img.src='http://192.168.0.201:8080/1.gif?'+ags; })();
开发和部署后端处理程序
后端程序在前面的课程中已经详细讲解,这里我们就不再赘叙。
前后端测试
1.启动OpenResty服务器2.启动ecshop项目
3.模拟访问ecshop中的页面,在后端服务器产生用户访问日志。
实现采集服务器负载均衡
我们在master节点同样需要安装OpenResty服务,从而实现负载均衡。master节点中/home/home/work/conf/nigix.conf配置如下:
[hadoop@master work]# ls conf logs [hadoop@master work]# cd conf/ [hadoop@master conf]# vi nginx.conf //创建一个nginx.conf文件 worker_processes 1;//work 进程数指定为1 error_log logs/error.log;//日志目录 events{ worker_connections 1024;//为每个work指定最大连接数 } http{ upstream maservers{ server 192.168.0.201:8080 weight=1; server 192.168.0.202:8080 weight=1; } server{ listen 8080; //监听端口 server_name 192.168.0.200 //该节点实现转发 location /{ proxy_pass http://maservers; proxy_set_header realip $remote_addr; } } }
master只负责负载均衡,将产生的日志数据均匀的分发到slave1和slave2, slave1和slave2的后端脚本负责对采集的数据进行处理。
整个数据采集的流程就是:ecshop产生日志数据---master 负载均衡---slave1和slave2后端脚本采集数据---flume负责搜集数据。
相关文章推荐
- 通用数据采集与统计分析管理系统,随数据库结构的调整而自动调整
- RHEL 5服务篇—使用Apache搭建web服务(四)部署AWStats网站分析系统
- 网站数据统计分析之二:前端日志采集是与非
- 大数据技术学习笔记之网站流量日志分析项目:Flume日志采集系统1
- RHEL 5服务篇—使用Apache搭建web服务(四)部署AWStats网站分析系统 推荐
- 阿江网站访问统计系统设计构思分析
- 微软SQLServer官方示例项目部署-数据引擎和分析服务部分
- 分析各种Android设备屏幕分辨率与适配 - 使用大量真实安卓设备采集真实数据统计
- 微软SQLServer官方示例项目部署-数据引擎和分析服务部分
- 网站用户行为数据统计与分析之七:kibana或elasticsearch-head
- 分析各种Android设备屏幕分辨率与适配 - 使用大量真实安卓设备采集真实数据统计
- 网站用户行为数据统计与分析之五:redis及其配置
- 【Android 应用开发】分析各种Android设备屏幕分辨率与适配 - 使用大量真实安卓设备采集真实数据统计
- 某中小企业网站运营数据分析实例(百度商桥统计)
- 网站用户行为数据统计与分析之四:logstash及其配置
- 网站用户行为数据统计与分析之八:logstash与mongodb集成
- 网站用户行为数据统计与分析之一:埋点代码设计
- 微软SQLServer官方示例项目部署-数据引擎和分析服务部分
- 数据仓库入门(实验7)部署分析服务数据库
- 中科软通报表采集与统计分析系统