开发者学堂课程【大数据分析之企业级网站流量运营分析系统开发实战(第一阶段):网站流量日志分析——数据采集—使用 web 服务器自带日志记录采集】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/693/detail/12168
网站流量日志分析——数据采集—使用 web 服务器自带日志记录采集
内容简介
一、网站流量日志数据获取
二、服务器自带日志的记录功能示例
三、小结
本节内容我们学习数据采集模块。我们如果想去开展网站的流量日志分析,首先要能够保证有数据,那么我们如何去获取用户在网站上的访问行为数据呢?
接下来就需要了解我们当下企业当中,网站到底是如何搭建起来的。那么大家就可以想一个问题,如果现在我是老板,给你来一个任务,让你去搭建一个网站,你大概需要哪些东西呢?首先可能需要去买一个服务器,然后去部署一个我们的外部容器,然后用我们的 Java 或者其他软件开发一个外部的项目步置上去,然后安装数据库,把一个 ID 制成域名,那么大家需要这些东西就可以对外提供我们的网站服务。
那么整个网站服务的核心是通过所谓的 HTTP 协议,也即 request response,这种交互的方式来完成我们网站的浏览和请求。
一、网站流量日志数据获取
比如我们现在需要访问一个网站,当我们打开百度时,百度服务器就会接触到请求,并且根据这个请求响应出页面信息,然后在浏览器中进行渲染,得到当下。那么基于这样一个网站搭建背后的技术流程,我们要想去收集用户的程序数据,就有以下方式。
从使用发展来看,主要分为两类:网站日志文件(Log files) 和页面埋点js自定义采集。
随着网站在技术和运营上的不断技术发展,人们对数据的要求越来越高,以求实现更加精细的运营来提升网站的质量。所以数据的获取方式也随着网站技术的进步和人们对网站数据需求的加深而不断地发展。
- 网站日志文件
记录网站日志文件的方式是最原始也是最简单的数据获取方式(因为要想搭建网站,对外提供web服务一定需要一个web 应用服务器,常见的,免费的 web 服务器有 tomcat 等,可以对外提供我们的 web 应用服务),主要在服务端完成,在网站的应用服务器配置相应的写日志的功能就能够实现,很多web应用服务器自带日志的记录功能。如 Nginx的 access. log 日志等。
图片剖析:
我们的用户不管通过什么终端(手机,浏览器,笔记本浏览器),只要在其中输入我们的页面,向我们的服务器发送一个 request 请求,那么我们的服务器就会根据请求给一个 respose,在页面上进行渲染。那么在这种请求响应的同时,我们的应用服务器就会通过内置的日志记录功能,把请求的相关数据记录下来。这时候能记录哪些字段,哪些信息是跟我们的服务器相关,你使用哪家的服务器它自带的数据收集功能已经表明了它可以收集什么。
优点是获取数据时不需要对页面做相关处理,简单便捷,自带功能,不需要配置就可以使用,可以直接开始统计相关请求信息。
缺点在收集的信息确定,有些信息无法采集,比如用户在页面端的操作(如点击,ajax 的使用等)无法记录,限制了一些指标的统计和计算,不利于维护以及收集的信息不够完整全面。
二、服务器自带日志的记录功能示例
打开课程资料,在软件中找到网络流量日志自定义采集服务,再从部署相关文档中找到 nginx.1.13.6 window.zip 压缩包,复制放在根目录下,接下来解压至当前目录中。如果此时双击 nginx.exe,就相当于笔记本变成了一个web服务器,可以对外提供 web 服务。在解压的文件夹中,logs 文件夹中 access.log(记录自带日志,访问有哪些请求) ,error.log(记录错误信息) 和 nginx.pid(记录nginx运行所谓进程号)。
当我们 nginx 启动后,通过浏览器访问本级后,这个请求能否被记录下来?
因为我们未指定相关页面,那么默认请求就会跳转至 nginx 首页。
接下来打开 access.log 中的 Edit with Notepad++查看是否被记录
查看结果是已记录
不用进行如何开发就可以进行相关日志数据的收集,说明如果我们对收集的数据要求不高的情况下,我们就可以通过我们服务器自带的日志记录功能来开展收集。
但是它存在最大弊端:它能够收集什么字段,什么信息已经在出厂时设定好了,而且有些信息想要收集但收集不到,比如:我们打开页面它可以收集,但具体点击页面什么它无法收集。这时要想精准掌握用户的行为数据,自带日志的功能无法满足,就需要通过技术去自定义采集收集。
三、小结
数据采集:数据从无到有的采集,如何把用户的访问行为记录下来变成网站的访问日志。
网站的日志文件:网站的 web 服务器自带日志记录的功能,简单便捷的收集一些基础的属性信息。
常见的 web 服务器:Tomcat,nginx,apache sever(HTTPD)。
自带服务器优点:简单便捷,自带功能,不需要配置就可以使用。
自带服务器缺点:收集信息的确定,不利于维护,收集的信息不够完整全面。
使用网站 web 服务器的日志功能可以满足基本需求但收集不够全面,有一些限制,这是第一种方式,叫做网站日志文件,服务器自带日志记录功能,可以满足我们数据从无到有的收集。