尽管日志文件中包含着大量有用的信息,但这些信息只有在经过深入挖掘之后才能够最大限度地发挥作用。本文首先讨论了能够从日志文件获得的信息以及不能从日志文件获得的信息,然后介绍了几种优秀的日志分析工具以及如何自己编程分析日志文件。
一、可以得到哪些信息(4月4日)
在这个《Apache日志》系列文章的前面几篇中,我们讨论了Apache的标准日志文件――访问日志和错误日志,以及如何定制日志文件。本文接下来讨论如何分析日志文件获得宝贵的统计信息。
我们面临的问题是,虽然日志文件中包含了大量的信息,但这些信息对于我们管理、规划网站却没有多少直接的帮助。为了管理和规划网站,我们需要知道:有多少人浏览了网站,他们在看些什么,停留了多长时间,他们从哪里得知这个网站,等等。所有这些信息就隐藏于(或者可能隐藏于)日志文件之中。
就网站的经营者而言,他们还希望知道浏览者的姓名、地址、鞋子大小,甚至还有浏览者的信用卡号码,但这些信息都不可能从日志文件中得到。为此,作为技术人员的我们就必须知道如何向这些经营者解释清楚:这部分信息不仅不可能从日志文件获得,而且要获得这些信息的唯一方法是直接向浏览者本人询问,并作好被拒绝的准备。
有许多信息可以用日志文件来记录,其中包括:
远程机器的地址:“远程机器的地址”和“谁在浏览网站”差不多,但并不等同。具体地说,远程机器的地址告诉我们浏览者来自何方,比如它可能是buglet.rcbowen.com或者proxy01.aol.com。
浏览时间:浏览者何时开始访问网站?从这个问题的答案中我们能够了解不少情况。如果网站的大多数浏览者都在早上9:00和下午4:00之间访问网站,那么可以相信网站的浏览者大多数总在工作时间进行访问;如果访问记录大多出现在下午7:00到午夜之间,我们可以肯定浏览者一般在家里上网。 当然,从单个访问记录能够得到的信息非常有限,但如果从数千个访问记录出发,我们就可以得到非常有用和重要的统计信息。
用户所访问的资源:网站的哪些部分最受用户欢迎?这些最受欢迎的部分就是我们应该继续加以发展的部分。网站的哪些部分总是受到冷落?网站中这些受到冷落的部分或许隐藏得太深,或许它们确实没有什么意思,此时我们就得想办法加以改进。当然,网站还有的内容,比如法律上的声明,虽然很少有人访问,但却不应该随便地改动它们。
无效链接:当然,日志文件还能够告诉我们哪些东西不能按照我们所想象地运行。网站中是否存在错误的链接?其他网站链接过来时有没有搞错URL?是否存在不能正常运行的CGI程序?是否有搜索引擎检索程序每秒发出数千个请求,从而影响了本网站的正常服务?这些问题的答案都可以从日志文件找到线索。