程序员人生 网站导航

通过服务器日志分析网站的原理及优缺点

栏目:网络优化时间:2014-05-04 19:08:03

网站分析收集数据的方式其实有五、六种之多,我们最常见的有三种,分别是:服务器日志(Server Log)、页面标记(Page Tag)和客户端监测软件收集(Client End/Desktop)。我的CWA博客(http://www.chinawebanalytics.cn)中主要讲解的都是页面标记法,今天则跟大 家讲解一下服务器日志方法的原理及优缺点。

一. 服务器日志是什么

真正意义上的网站分析是从服务器日志开始的,而且直到今天,分析服务器(也称为server log file,或简称log file)日志仍然是网站分析的重要方法。

这里的服务器指的是网站服务器(Web Server),而服务器日志跟飞机的黑匣子一样,是用来记录网站服务器的运行信息的,或者简单说,是用来记录服务器中的什么页面在什么时候被谁访问了。 例如,如果你访问一次我的网站:http://www.chinawebanalytics.cn, 那么一般情况下,网站服务器的日志就会记录在某时某刻来自某个IP的访问者索引了网页“/index.php”。当然,网站服务器日志还会记录其他许多内 容,这些内容能够帮助我们分析网站的流量和访问者在网站上的行为。

下面这个图说明了网站日志是如何产生的。当用户访问一个网站的时候,事实上是访问这个网站的某一个具体的页面,我们假设这个页面叫Page 1。这时,我们的这个访问行为会请求服务器中Page 1的实际的文件,随之把这个文件下载到浏览器上。由于请求和下载行为都会引起服务器的响应和相应的行动,因此就有必要记录下服务器的这些行动。

你会问,为什么需要记录服务器的行动呢?原因很简单,因为我们不想让这个服务器变成“哈尔9000”(哈尔9000是库布里克《2001太空奥德 赛》里面有了自我意识的电脑,它直接威胁到了电影中的宇航员)啊!这当然只是开玩笑,不过目的并无差别,就是能够通过服务器日志,对服务器的运行历史进行 记录,这样当有任何异常情况发生的时候,我们都能够通过日志探寻问题发生的原因——跟记录飞机运行状态的黑匣子的作用十分类似。

原理看起来并不复杂,不过log file实际上并不简单。为了让log file具有可读性,log file并不可以按照各个网站所有者的喜好随意记录的,而是有自己的规范。W3C组织定义了server log file的通用格式(如果你有兴趣,可以在这里看看这些格式都是如何定义的:http://www.w3.org/Daemon/User/Config/Logging.html#common_logfile_format), 而其他一些组织或者个人又根据自己的需要额外扩展了这个格式,使log file能够比较全面地记录网站服务器进行的各种活动。

一条标准的web server log记录通常包含如下信息:

  • 远程主机(Remote Host)的IP地址/名字
  • 登录名(Log Name)
  • 登录全名(Full Name)
  • 请求发生的日期(Date)
  • 请求发生的时间(Time)
  • 和标准格林威治时间的差值(GMT Offset)
  • 请求的方法(Request Method)
  • 请求的文件的地址(File)
  • 请求遵守的协议(Protocol)
  • 请求的状态(Status)
  • 被请求文档的长度(Length)

------分隔线----------------------------
------分隔线----------------------------

最新技术推荐