欢迎来到天天文库
浏览记录
ID:42717052
大小:44.54 KB
页数:7页
时间:2019-09-21
《用Awstats处理多apache日志》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、在linux环境下,开源工具Awstats是一个非常受欢迎的网站日志处理工具。在linux环境安装和配置awstats比较容易成功,但要同时处理多个apache日志(比如web集群的环境),还是有许多工作需要做的。平台环境 1、服务器3个,2个运行apache的web服务器,一个专门处理日志的Awstats服务器。 2、运行平台:全部为redhatAS4。设计思路 日志处理服务器每天定期从2个apache服务器获取日志文件,对取得的压缩文件解压,接着把2个单独的日志文件合并成一个,再用awstats处理生成报告。下面我们就按照这个思路来进行具体的部署。一、Apache日志的生成和处
2、理 1、apache日志生成: 通过修改apache的配置文件httpd.conf来达到这个目的,下面是某个apache服务器的配置文件关于日志记录的修改部分:SetEnvIfRequest_URI.gifimage-requestSetEnvIfRequest_URI.jpgimage-requestSetEnvIfRequest_URI.pngimage-requestSetEnvIfRequest_URI.jsimage-requestSetEnvIfRequest_URI.cssimage-requestSetEnvIfRequest_URI.swfimage-re
3、questErrorLog/var/log/web/sery.com-error_logCustomLog"
4、/opt/apache2/bin/rotatelogs/var/log/web/sery.com-access%Y%m%d.log.%H28800480"combinedenv=!image-request 在这里简单说明一下上面各个项目的意义。SetEnvIfRequest_URI设置判断环境变量“image-request”,“CustomLog"
5、/opt/apache2/bin/rotatelogs/var/log/web/sery.com-access%Y%m%d.log
6、.%H28800480"combinedenv=!image-request”表示不记图片请求所产生的日志,并且使用apache的日志轮转工具rotatelogs对日志进行分割,以年月日及小时方式命名文件,这样用脚本处理日志时就非常方便了。这个CustomLog有点特别,不要把命令前面的”
7、”等符号写丢了。通过运行apache服务,将在目录/var/log/web/生成日志文件sery.com-access20071120.log.00. 由于使用了日志轮转功能,从上图可以看见2个日志文件。 2、日志备份和压缩: 进入日志所在的目录,把同一天不同时间段的日志合并成一个文件,压缩后
8、移动到另外的一个位置/var/log/weblog-backup。为什么要把它放在另外的位置并且压缩呢?主要的原因是为了在传输时节省时间。当然我们不可能每天手动来执行这个操作,自然而言,用shell脚本来干这个事情了。下面给出脚本的内容:#!/bin/shlastlogdate=`date"+%Y%m%d"-dyesterday`touch/var/log/web/sery.com-access$lastlogdate.logforiin/var/log/web/sery.com-access$lastlogdate.log.*;docat$i>>/var/log/web/sery.com-a
9、ccess$lastlogdate.logrm-f$idonetouch/var/log/web/sery.com-access$lastlogdate.loggzip/var/log/web/sery.com-access$lastlogdate.logif[-f/var/log/web/sery.com-access$lastlogdate.log.gz];thenmv/var/log/web/sery.com-access$lastlogdate.log.gz/var/log/weblog-backup/firm-rf`find/var/log/weblog-backup/-atime7
10、` 把这个脚本命名为merge_log.sh,放在目录/usr/local/bin下面,并赋予执行权限。然后在自动任务里加入这个任务,让它每天自动执行一次。运行crontab–e把下面的行加入其中:50***/usr/local/bin/merge_log.sh 为检查脚本的正确性,至少手动执行一遍脚本merge_log.sh,看是否在目录/var/log/weblog_backup生成压
此文档下载收益归作者所有