Apache日志分割

随着网站的访问量增加,默认情况下Apache的单个日 志文件也会越来越大

●日志文件占用磁盘空间很大
●查看相关信息不方便

对日志文件进行分割

●Apache自带rotatelogs分割工具实现
●第三方工具cronolog分割

实验环境

第一步:安装Apache服务

rotatelogs工具是Apache服务就自带的,它在/usr/sbin 目录中

[root@localhost ~]# yum install httpd -y
[root@localhost ~]# cd /usr/sbin
[root@localhost sbin]# ls rotate*       //检索rotatelogs工具
rotatelogs

第二步:配置DNS服务

[root@localhost sbin]# vim /etc/httpd/conf/httpd.conf
...
Listen 192.168.235.129:80       //添加监听地址
#Listen 80                              //注释掉IPV6的监听
...
ServerName www.bdqn.com:80          //修改域名

[root@localhost httpd]# systemctl stop firewalld.service 
[root@localhost httpd]# setenforce 0
[root@localhost sbin]# systemctl start httpd            //启动Apache服务

第三步:查看日志文件

1.先查看access_log 和 error_log 是否生成

[root@localhost sbin]# cd /var/log/httpd/           //进入Apache的日志目录
[root@localhost httpd]# ls
access_log  error_log
//access_log 为访问日志,error_log为错误日志

2.使用客户机查看网页
先将客户机的DNS服务去地址改为服务端的IP地址192.168.235.129
Apache日志分割_第1张图片打开浏览器输入服务端的IP地址即可访问网页
Apache日志分割_第2张图片
再查看一下服务日志

[root@localhost httpd]# cat access_log      //查看访问日志

192.168.235.140 - - [25/Oct/2019:09:33:46 +0800] "GET / HTTP/1.1" 403 4897 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)"
.....
//可以看到IP为192.168.235.140的客户机的服务记录


由于日志文件过于多且不便于归档检索,我们便可以用到Apache 自带的 rotatelogs 分割工具


第一步:修改Apache 的主配置文件httpd.conf

[root@localhost httpd]# cd conf         //进入conf目录
[root@localhost conf]# vim httpd.conf           //编辑httpd.conf文件

#ErrorLog "logs/error_log"          //注释掉掉182行内容
ErrorLog "| /usr/sbin/rotatelogs -l logs/www.bdqn.com.error_%Y%m%dlog 86400"
//在183 行添加此行条目 ,按年月日分割日志

    CustomLog "| /usr/sbin/rotatelogs -l logs/www.bdqn.com.error_%Y%m%dlog 86400" combined
//修改第218 行的条目引号中内容为/usr/sbin/rotatelogs -l logs/www.bdqn.com.error_%Y%m%dlog 86400即可

[root@localhost conf]# systemctl stop httpd     //停止服务
[root@localhost conf]# systemctl start httpd        //再启动服务
[root@localhost conf]# ls /var/log/httpd                
access_log  error_log  www.bdqn.com.error_20191025log
//查看日志目录,即可看到生成的www.bdqn.com.error_20191025log日志文件

//使用date -s 命令修改日期在进行查看
[root@localhost httpd]# date -s 10/26/19
2019年 10月 26日 星期六 00:00:00 CST
[root@localhost httpd]# systemctl stop httpd
[root@localhost httpd]# systemctl start httpd
[root@localhost httpd]# ls /var/log/httpd
access_log  www.bdqn.com.error_20191025log
error_log   www.bdqn.com.error_20191026log

我们也可以使用第三方的 cronolog工具进行日志分割

环境准备

cronolog工具包分享地址(无密码):
https://pan.baidu.com/s/16kyAuOcocRWJKXyXfSVsLg

1.将工具包共享到Linux中

[root@localhost ~]# smbclient -L //192.168.10.37/       //远程共享

    Sharename       Type      Comment
    ---------       ----      -------
    ADMIN$          Disk      远程管理
    C$              Disk      默认共享
    D$              Disk      默认共享
    IPC$            IPC       远程 IPC
    LAMP            Disk      

[root@localhost ~]# mount.cifs //192.168.10.37/LAMP/ /opt/
//挂载下载的工具文件夹
[root@localhost ~]# cd /opt
[root@localhost opt]# rpm -ivh cronolog-1.6.2-14.el7.x86_64.rpm 
//安装工具包

[root@localhost opt]# cd /usr/sbin          //进入sbin目录
[root@localhost sbin]# ls crono*            //查看是否有cronolog文件
cronolog

2.修改httpd的配置文件

[root@localhost sbin]# vim /etc/httpd/conf/httpd.conf

ErrorLog "| /usr/sbin/cronolog logs/www.bdqn.com.error_%Y%m%d.log"
//将182行的条目引号中内容替换为| /usr/sbin/cronolog logs/www.bdqn.com.error_%Y%m%d.log即可

CustomLog "| /usr/sbin/cronolog logs/www.bdqn.com.access_%Y%m%d.log" combined
//将217 行的条目条目引号中内容替换为| /usr/sbin/cronolog logs/www.bdqn.com.access_%Y%m%d.log即可

3.查看日志文件

[root@localhost sbin]# systemctl start httpd        //启动服务
[root@localhost sbin]# ls /var/log/httpd/               //查看日志目录即可查看到生成的日志文件
www.bdqn.com.error_20191025.log

以上就是我们的Apache日志分割全部内容,谢谢阅读!!!