网站用户点击行为的记录,我们通常称为日志,就目前互联网现状,大致有3种不同的方法进行收集。
[b]一、传统的weblog[/b]
也就是web服务器接受到用户访问的http请求时对此行为进行记录,并返还给用户正常的网页内容。
优点:
1、简单、方便,可利用web service软件自带的日志功能;
2、有现成的开源软件可以对日志进行分析,如:AWStat(perl编写,通用性好,界面美观,速度较慢),Webalizer (C编写,分析速度较快,但界面较难看)。
缺点:
1、大型网站那分布在各数据中心的上千台服务器产生的日志,定期对其正常收集汇总就成为很大的问题;
2、使用cache技术,如:squid,会存在多种不同格式的日志,这也是比较烦人的事;
3、网站如果存在大量页面是由多个iframe页面组成,那准确计算网站的用户行为的pv将成为不可能。
[b]二、Beacon log[/b]
目前互联网最流行的方式,通过网页中的植入的一小段代码,用户的浏览器访问目标网页的时候,会顺便再请求一下beacon server。通常一台配置还行服务器就能轻松支撑上数千万PV的log记录。Google Analytics就是这种应用,是目前小网站常用的统计工具。还有被google用31亿美元收购的Double click也采用这种方式来统计网络广告效果。
优点:
1、通常情况,只能记录正常用户的行为。爬虫或者扫描网站等方式产生的PV,都直接不能被统计,而用weblog则很难区分。
2、一个页面被请求只会形成一个PV,不存在iframe页面打开也被统计成pv数
3、收集和汇总日志相对变得非常简单
缺点:
1、ajax的应用,数据将无法记录,目前似乎还没有很好的解决方案
2、对浏览器性能略有影响,并且消耗网络带宽。这个缺点基本可以忽略,不是太大的问题。
优劣其实很容易比较,中小网站一般采用第一种方式简单易用,大型网站适用于第二种方式来满足规模上管理的需要。其实还有一种方法就是web服务端在接到用户请求时,主动向beacon server进行异步请求,这样就避免外部带宽损耗和浏览器性能的开销,但iframe的问题也同时产生了,不过目前似乎没有太多的应用,具体优劣不好评价。
java 如何收集日志中的关键信息 日志收集方式
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
kubernetes集群部署EFK收集集群日志
K8S日志系统 EFK
Group elasticsearch Elastic EFK -
Kubernetes 中的日志收集 VS 传统日志收集
说到日志,你应该不陌生。日志中不仅记录了代码运行的实时轨迹,往往还包含着一些关键的数据、错误信息,
kubernetes elasticsearch 日志收集 docker