Posted by:
努力记

努力记,通过记录,计划,让自己的努力可以触碰彩虹!

8,442

Apache:日志分割及压缩

  • 2013-04-20
  • 暂无评论

apache默认配置的rotatelogs只能是按照一定时间或者一定文件大小来分割,而我们通常需要得到的是一整天或者一个小时的日志数据
为了解决这个问题,我采用了第三方的一个程序cronolog在http://www.cronolog.org下载源码包,在root用户下执行下面的指令

./tar -xzvf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configure
make
make install

正常编译以后会在默认目录/usr/local/sbin下有一个cronolog文件

CustomLog "|/usr/local/sbin/cronolog /log/www/%Y/access_log.%m%d" combined

当然你需要确认这些路径是否符合你的系统设置,上面是按照每天进行日志翻滚,如果需要其他的翻滚设置,可以参考cronolog的帮助文件。

重新启动apache后,可以看到日志已经产生了新的带时间的版本

awstats安装,以后添加!

1.首先下载在http://awstats.sourceforge.net/中下载需要的版本

2.解压源码包,直接放置在想要的地方

3.tools/awstats_configure.pl进行conf文件的生成,存在wwwroot/cgi-bin文件夹中

4.对配置文件进行更改

LogFile="/log/www/%YYYY-0/access_log.%MM-0%DD-24"

LogFormat=1

要和APACHE中的日志文件对应,logformat=1就是apache

5.crontab进行每日自动更新

0 3 * * * /var/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.local-forest.com
10 3 * * * /var/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=bbs.local-forest.com

6.可以访问了,通过www.xxx.com/awstats/awstats.pl?config=domain查看具体的情况吧,因为默认为gbk,则如果是UTF-8的网站,在搜索关键字中会有乱码,不影响应用

注:如果apache中有虚拟机,则把awstats写入httpd.conf的信息放入第一个<VirtualHost *:80>中,如果没出错,不做也可以

对于大访问量的网站,每天的日志文件的大小也是很客观的,极大的消耗了硬盘的资源,日志压缩配合日志分割可以在一定程度上缓解这个问题,那现在我们开始处理日志压缩

1.先对httpd.conf的日志进行压缩

CustomLog "|/usr/local/sbin/cronolog -r gzip /var/local/forest/log/www/%Y/access_log.%m%d" combined

添加个 -r gzip 即可

2.在awstats进行统计的时候进行解压

LogFile="gzip -d </log/bbs/%YYYY-0/access_log.%MM-0%DD-24"

就可以了,然后就看大家的实际效果了!



back up ↑

无觅相关文章插件,快速提升流量