2022年Web服务器日志统计分析完全解决方案 .pdf
《2022年Web服务器日志统计分析完全解决方案 .pdf》由会员分享,可在线阅读,更多相关《2022年Web服务器日志统计分析完全解决方案 .pdf(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Web 服务器日志统计分析完全解决方案hc360 慧聪网通信行业频道2003-06-03 14:49:37 摘要:对于所有的ICP 来说,除了保证网站稳定正常运行以外,一个重要的问题就是网站访问量的统计和分析报表,这对于了解和监控网站的运行状态,对提高各个网站的服务能力和服务水平是必不可少的。通过对Web 服务器的日志文件进行分析和统计,能够有效掌握系统运行情况以及网站内容的受访问情况、加强对整个网站及其内容的维护与管理。本文对Web 服务器日志分析的原理和技术进行讨论。文章相关软件:webalizer http:/ http:/www.cronolog.org/Apache http:/ww
2、w.apache.org/一、前言随着 Internet 上 Web 服务的发展,几乎各个政府部门、公司、大专院校、科研院所等都在构建或正在建设自己的网站。而与此同时,在构建网站建设中各个单位都会遇到各种各样的问题,那么对web 服务器的运行和访问情况进行详细和周全的分析对于了解网站运行情况,发现网站存在的不足,促进网站的更好发展重要性是不言而喻的。管理 Web 网站不只是监视Web 的速度和 Web 的内容传送,它要求不仅仅关注服务器每天的吞吐量,还要了解对这些Web 网站的外来访问,了解网站各页面的访问情况,根据各页面的点击频率来改善网页的内容和质量、提高内容的可读性,跟踪包含有商业交易的
3、步骤以及管理 Web 网站“幕后”的数据等。为了更好地提供WWW 服务,监控WEB 服务器的运行情况、了解网站内容的详细访问状况就越来越显得重要和迫切了。而这些要求都可以通过对web 服务器的日志文件的统计和分析来做到。二、WEB 日志分析的原理网站服务器日志记录了web 服务器接收处理请求以及运行时错误等各种原始信息。通过对日志进行统计、分析、综合,就能有效地掌握服务器的运行状况,发现和排除错误原因、了解客户访问分布等,更好的加强系统的维护和管理。在 WWW 服务模型是非常简单的(见图1):名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 10 页 -1)客户端(浏览器)和 we
4、b 服务器建立tcp 连接,连接建立以后,向web 服务器发出访问请求(如:get),根据HTTP 协议该请求中包含了客户端的IP 地址、浏览器的类型、请求的 URL 等一系列信息。图 1 web 访问机制2)web 服务器收到请求后,将客户端要求的页面内容返回到客户端。如果出现错误,那么返回错误代码。3)服务器端将访问信息和错误信息纪录到日志文件里。下面是客户端发送给web 服务器请求的数据报的内容:GET/engineer/ideal/list.htm HTTP/1.1Accept:image/gif,image/x-xbitmap,image/jpeg,image/pjpeg,appli
5、cation/vnd.ms-powerpoint,application/vnd.ms-excel,application/msword,*/*Referer:http:/ 6.0;Windows NT 5.0)Host:Connection:Keep-Alive 可以看到,在客户机的请求里包含了很多有用的信息,例如:客户端类型等等。而web服务器就会将请求的web 页内容发送返回给客户机。目前最常用的web 服务器有Apache、Netscape enterprise server、MS IIS 等。而目前互联网上最常用的web 服务器就是apache,因此我们这里的讨论都以Linux ap
6、ache环境讨论,其他的应用环境类似。对于Apache 来说,支持多种日志文件格式,最常见的是common 和combined 两种模式,其中 combined 方式比 common 方式的日志的信息要多Referer(该请求来自于哪里,例如来自于yahoo 的搜索引擎)和User-agent(用户客户端类型,如mozilla或 IE)。我们这里讨论combined 类型。下面是common 类型的日志示例:218.242.102.121-06/Dec/2002:00:00:00+0000 GET/2/face/shnew/ad/via20020915logo.gif HTTP/1.1 304
7、 0 http:/ 6.0;Windows 98)61.139.226.47-06/Dec/2002:00:00:00+0000 GET/cgi-bin/guanggaotmp.cgi?1 HTTP/1.1 200 178 http:/ Mozilla/4.0(compatible;MSIE 5.0;Windows 98;DigExt)218.75.41.11-06/Dec/2002:00:00:00+0000 GET/2/face/shnew/ad/via20020915logo.gif HTTP/1.1 304 0 http:/ 5.0;Windows 98;DigExt)61.187.2
8、07.104-06/Dec/2002:00:00:00+0000 GET/images/logolun1.gif HTTP/1.1 304 0 http:/ Mozilla/4.0(compatible;MSIE 6.0;名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 10 页 -Windows NT 5.1)211.150.229.228-06/Dec/2002:00:00:00+0000 GET/2/face/pub/image_top_l.gif HTTP/1.1 200 260 http:/ Mozilla/4.0(compatible;MSIE 5.5;Windows
9、NT 5.0)从上面的日志文件可以看出日志记录会记录客户端的IP 地址、访问发生的时间、访问请求的页面、web 服务器对于该请求返回的状态信息、返回给客户端的内容的大小(以字节为单位)、该请求的引用地址、客户浏览器类型等信息。三、apache日志的配置和管理本文中我们假设我们的apache运行有两个虚拟主机: 和。我们需要对这两个虚拟主机分别进行访问日志分析和统计。Apache 配置文件中,我们需要关心的和日志相关的配置有两个:CustomLog/www/logs/access_log commonErrorLog/www/logs/error_log CustomLog 用来指示 apach
10、e的访问日志的存放位置(这里保存在/www/logs/access_log 中)和格式(这里为common);ErrorLog 用来指示apache错误信息日志的存放位置。对于不配置虚拟主机的服务器来说,只需要直接在httpd.conf 中查找 CustomLOg 的配置进行修改即可;而对于具有多个虚拟服务器的web 服务器来说,需要分离各个虚拟服务器的访问日志,以便对各个虚拟服务器进行访问统计和分析。因此这就需要在虚拟服务器配置中进行独立的日志配置,示例:NameVirtualHost 75.8.18.19 ServerName ServerAdmin DocumentRoot/www/ht
11、docs/secfocus/CustomLog/www/log/secfocus combinedAlias/usage/www/log/secfocus/usage/ServerName ServerAdmin tomorrowtel DocumentRoot/www/htdocs/tomorrowtelCustomLog/www/log/tomorrowtel combinedAlias/usage/www/log/tomorrowtel/usage/这里需要注意的是每个虚拟主机的定义都有一个CustomLog 命令,用来指定该虚拟主机访问日志的存放文件;而Alias 命令用来让日志分析生
12、成的报表能通过 3 页,共 10 页 -处理那么日志文件会越来越大,会影响web 服务器运行效率;速率,还可能过大耗尽服务器硬盘空间,导致服务器无法正常运行,另外如果单个日志文件大于操作系统单文件尺寸的的限制,从而更进一步影响web 服务的运行。而且日志文件如果不进行轮循也不变于日志统计分析程序的运行,因为日志统计分析都是以天为单位进行统计分析的,跨越很长时间日志会使得日志统计分析程序运行特别慢。因此这里就需要对web 服务器日志文件每天进行轮循。四、web 服务器日志轮循web 服务器日志轮循比较好的方式有三种:第一种方法是利用Linux 系统自身的日志文件轮循机制:logrotate;第二
13、种方法是利用apache自带的日志轮循程序rotatelogs;第三种是使用在 apache的 FAQ 中推荐发展已经比较成熟的一个日志轮循工具cronolog。对于大型的WEB 服务来说,其往往使用实用负载均衡技术提高web 站点服务能力,这样后台有多个服务器提供WEB 服务,这大大方便了服务的分布规划和扩展性,但多个服务器的分布就需要对日志进行合并统一进行统计分析。因此为了保证统计的精确性就需要严格按照每天的时段来自动生成日志文件。41 logrotate 实现日志轮循首先我们讨论采用Linux 系统自身的日志文件轮循机制:logrotate 的方法。Logrotate 是Linux 系统
14、自身带的一个日志轮循程序,是专门对各种系统日志(syslogd,mail)进行轮循的程序。该程序是由运行程序的服务crond 来每天凌晨4:02 运行的,可以在/etc/cron.daily目录下可以看到logrotate 文件,其内容如下:#!/bin/sh/usr/sbin/logrotate/etc/logrotate.conf 可以看到每天清晨crond 都会启动/etc/cron.daily 目录下的 logrotate 脚本来进行日志轮循。而在/etc/logrorate.conf 中可以看到内容如下:#see man logrotate for details#rotate lo
15、g files weeklyweekly#keep 4 weeks worth of backlogsrotate 4#create new(empty)log files after rotating old onescreate#uncomment this if you want your log files compressed#compress#RPM packages drop log rotation information into this directoryinclude/etc/logrotate.d#no packages own wtmp-well rotate th
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年Web服务器日志统计分析完全解决方案 2022 Web 服务器 日志 统计分析 完全 解决方案
限制150内