服务器 频道

用PHPMyVisites精确分析web日志(上)

    【IT168 专稿】随着互联网上Web服务的发展,几乎各个政府部门、公司、大专院校、科研院所等都在建设自己的网站。在这个过程中,大家会遇到各种各样的问题。对Web服务器的运行和访问情况进行详细和周全地分析,可以及时了解网站运行情况,发现网站存在的不足,促进网站更好地发展,它的重要性是不言而喻的。 管理Web网站不只是监视Web的速度和Web的内容传送。它不仅要关注服务器每天的吞吐量,还要了解这些Web网站的外来访问,了解网站各页面的访问情况。根据各页面的点击频率来改善网页的内容和质量,提高内容的可读性,以及跟踪包含有商业交易的步骤及管理Web网站“幕后”的数据等。

    为了更好地提供WWW服务,监控Web服务器的运行情况、了解网站内容的详细访问状况就显得越来越重要和迫切了。而这些要求都可以通过对Web服务器日志文件的统计和分析来实现。本文将对Web服务器日志分析的原理和技术进行讨论。

一、Web日志分析的原理

    网站服务器日志记录了Web服务器接收处理请求及运行时错误等各种原始信息。通过对日志进行统计、分析和综合,就能有效地掌握服务器的运行状况、发现和排除错误原因、了解客户访问分布等,更好地加强系统的维护和管理。 Web服务模型非常简单(见图1): 
 

图1 Web访问机制


    1.客户端(浏览器)和Web服务器建立TCP连接,连接建立以后,向Web服务器发出访问请求(如get)。根据HTTP协议,该请求中包含了客户端的IP地址、浏览器的类型、请求的URL等一系列信息。

    2. Web服务器收到请求后,将客户端要求的页面内容返回到客户端。如果出现错误,那么返回错误代码。

    3. 服务器端将访问信息和错误信息记录到日志文件里。

    日志在实际的Web系统中有更多的用途。比较典型的是进行网站的流量统计和安全分析。 在Web日志中找出攻击Web服务器的蛛丝马迹并不是非常直接的一件事,因为日志中条目繁多,哪些记录的背后隐藏着杀机呢?这需要分析访问者的源IP地址和请求的页面,猜测访问者的企图,他是在进行站点镜像还是CGI漏洞扫描,进而做有针对性的查缺补漏。 用户更关注的是Web服务器的性能,但对于商务网站来说,不能只在乎用户的感受,不能把精力全放在减少用户访问延迟和提高并发访问数目上。还要关注访问用户的地理分布、时间分布和某个页面的点击率。通过分析用户群和他们的访问行为,有助于对网站页面做出有针对性的改善,帮助商家提升网站质量,更好地为用户服务。日志可以帮你完成流量分析,给出上述关注内容的统计数字。 直接去读日志文件仅适用于查找某一特定内容的情况,更多时候,我们要借助专用的日志分析工具。比较著名的工具有:AWStats、Webalizer和PHPMyVisites等,它们都是开源软件。它们不仅可以进行简单的基于访问时间和IP地址来源的分析,还可以发现自己的网站与搜索引擎的关系。

    PHPMyVisites具有以下一些特性:phpMyVisites是一个用PHP/MySQL技术开发,采用Gnu GPL.方式发布的关于网站访问量统计的开源软件,所以其具有很高的运行效率。在主频为800Mhz的机器上,每秒钟可以分析100000条记录,所以分析一个400M大小的日志文件只需要25秒。

    4. 可以支持多种语言,也可以自己进行本地化工作。

    5. 支持多种平台,比如UNIX、linux、Windows  和 MacOS等。

    相对于另外一个非常优秀的开放源代码的日志分析工具Webalizer,PHPMyVisites的优势在于:
界面友好:可以根据浏览器直接调用相应语言界面(有简体中文版) ,基于PHP:并且很好的解决了跨平台问题,系统本身可以运行在GNU/Linux上或Windows上(安装了PHP后);分析的日志直接支持Apache格式 (combined)和IIS格式(需要修改)。Webalizer虽然也有Windows平台版,但目前已经缺乏维护;PHPMyVisites完全可以实现用一套系统完成对自身站点不同WEB服务器:GNU/Linux/Apache和Windows/IIS服务器的统一统计。效率比较高:PHPMyVisites输出统计项目比Webalizer丰富了很多,速度仍可以达到Webalizer的1/2左右,对于一个日访问量百万级的站点,这个速度都是足够的;配置/定制方便:系统提供了足够灵活但缺省也很合理的配置规则,而且修改和扩展的插件还是比较多的; 使用简单,不用再看让人头晕的Log日志, 提供柱状图分析报表,形象生动。 提供强大的IP库支持,了解访问用户地区。

0
相关文章