2007-04-30

使用cronolog分割apache日志,使用awstats分析按日期生成的apache日志

Posted in Apache at 14:54 Author:仲远

标签:

原来在实验室服务器上安装apache的时候,似乎就有看到按日期生成apache日志的办法,不过那时觉得暂时还没必要,所以就没配置。没想到实验室网站的访问量还不小,开放一个月后,就发现apache的日志文件已经上百兆了,每天更新awstats,都得花好几分钟时间(呵呵,对于真正的大网站,我们这点访问量还是不值得一提的)。于是这两天开始处理按时间分割apahce日志。上网查了一下,似乎apache网站也推荐使用cronolog,于是我就直接使用cronolog来完成工作。

网上安装cronolog的介绍文章相当多,我这里就不重复介绍了。不过因为我使用的是freebsd,所以直接从ports安装,很方便。

安装好后,就需要改apache的配置文件httpd.conf,将原来指定日志文件的地方做一下替换:
CustomLog /home/XXX/logs/www.wangzhongyuan.com-access.log combined
替换成
CustomLog “|/usr/local/sbin/cronolog /home/XXX/logs/www.wangzhongyuan.com-access.log.%Y%m” combined
注:CustomLog之后没有回车:)只是空格
其中,/home/XXX/logs 表示你的log存放的路径;/usr/local/sbin/cronolog为cronolog所在的路径,可以通过 which cronolog 的命令来查看;%Y%m表示按照年月来分割,这样一个月就会生成一个日志文件,如果要按照每天生成一个日志文件,好像是%Y%m%d

然后重启一下apache,就会发现apache日志开始按照日期生成,而原来的apache日志文件就不会再记录新的访问数据了。

这时,如果有使用awstats的人也许会遇到一个问题,因为apache动态生成日志,所以得相应修改awstats中的配置文件。
将awstats配置文件中的LogFile做相应的修改
LogFile=”/home/XXX/logs/www.wangzhongyuan.com-access.log”
改为
LogFile=”/home/XXX/logs/www.wangzhongyuan.com-access.log.%YYYY-24%MM-24″
其中,我原来一直搞不明白.%YYYY-24%MM-24是什么意思,后来查了很多资料,终于恍然大悟:%YYYY-24 表示24小时之前的年份,%MM-24表示24小时之前的月份,合起来%YYYY-24%MM-24就表示24小时前的年月。为什么要减去一个24呢,这是因为我们在使用awstats分析apache日志的时候,必须分析已经生成的日志。而我们又常常使用cron来自动update,举个例子,当我们于2007年5月1日凌晨1点分析我们网站的apahce日志的时候,我们是要分析前一天也就是2007年4月30日的日志,而不是cron运行的当天5月1日的日志:)这样,减去一个数字,才能够正确得到我们想要分析的apche的日志的文件名。当然,你也可以不用24这个数字,可以根据自己的实际情况来调整:)

本文可以自由转载,转载时请保留全文并注明出处:
转载自仲子说 [ http://www.wangzhongyuan.com/ ]
原文链接:

2 Comments »

  1. jsdfmsd said,

    2008年September1日 at 12:24

    为什么我在Rhel5下配置Apache httpd.conf CustomLog “。。。。/log.%YYYY-24%MM-24%DD-24.log”重新启动Apache后,生成的日志文家名为:og.%YYYY-24%MM-24%DD-24.log 其中的日期解析不了。
    PS:Apache Perl 都是系统自带的

  2. 仲远 said,

    2008年September1日 at 14:16

    你在apache的httpd.conf的配置文件中写错了。你仔细看一下我的文章,应该是写第二条蓝色语句才是httpd.conf要做的修改:

    /home/XXX/logs/www.wangzhongyuan.com-access.log.%Y%m

    而”log.%YYYY-24%MM-24%DD-24″这个是awstats的配置文件需要做的修改。

Leave a Comment

*
To prove you're a person (not a spam script), type the security text shown in the picture. Click here to regenerate some new text.
Click to hear an audio file of the anti-spam word