Apache日志分割(rotatelogscronolog)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Apache日志分割(rotatelogscronolog)相关的知识,希望对你有一定的参考价值。

为什么要进行日志分割?

随着网站的访问量越来越大,web服务器产生的日志文件也会越来越大,如果不对其进行分割管理,单个日志文件会变得异常庞大,不利于对日志进行综合分析、监控等。另外,当服务器遇到故障时,运维人员就要打开日志文件进行分析,打开的过程必然会消耗很长时间,也势必会增加处理故障的时间。因此管理好海量的日志文件对管理网站是有重大意义的。

以下介绍两种常见的日志分割方法:

一. Apache自带的rotatelogs分割工具

1.查询rotatelogs命令的绝对路径

which rotatelogs

技术分享图片

2. 编辑httpd.conf配置文件

vim /etc/httpd/conf/httpd.conf

修改配置文件,主要是CustomLog参数

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/usr/local/apache/htdocs"
ServerName www.test.com
ErrorLog "|/usr/sbin/rotatelogs -l /usr/local/apache/logs/www.test.com-error%Y%m%d.log"
CustomLog "|/usr/sbin/rotatelogs -l /usr/local/apache/logs/www.test.com-access
%Y%m%d.log 86400" combined //定义访问日志格式,其中86400表示一天,即每天生成一个新的日志文件
</VirtualHost>

注意:rotatelogs -l 使用本地时间代替GMT时间作为时间基准,在一个改变GMT偏移量(比如夏令时)的环境中使用-l会导致不可预料的结果。

3. 创建日志文件目录

mkdir -p /usr/local/apache/logs

4. 创建web站点目录

mkdir -p /usr/local/apache/htdocs

5. 重启Apahce服务

service httpd stop      //停止
service httpd start     //开启

6. 测试

技术分享图片

技术分享图片

二. 第三方工具cronolog日志分割

1. 解压缩源码包至/opt目录下

tar xzvf cronolog-1.6.2.tar.gz -C /opt

2. 进入cronolog目录下

cd /opt/cronolog-1.6.2/

3. 配置

./configure

4. 编译及安装

make && make install

5. 查看cronolog命令的绝对路径

which cronolog

6. 编辑Apache配置文件

vim /etc/httpd/conf/httpd.conf

修改配置文件,主要是CustomLog参数

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/usr/local/apache/htdocs"
ServerName www.test.com
ErrorLog "|/usr/local/sbin/cronolog /usr/local/apache/logs/www.test.com-error%Y%m%d.log"
CustomLog "|/usr/local/sbin/cronolog /usr/local/apache/logs/www.test.com-access
%Y%m%d.log" combined
</VirtualHost>

7.重启htppd服务

service httpd restart

8.测试

技术分享图片

技术分享图片

以上是关于Apache日志分割(rotatelogscronolog)的主要内容,如果未能解决你的问题,请参考以下文章

apache中部署rotatelogs日志分割和awstats日志分析

apache日志分割

apache日志及日志分割

Apache日志分割

Apache日志分割(rotatelogscronolog)

Apache日志分割and日志分析