天天看点

服务器群集——rotatelogs与cronolog日志分割一、日志分割二、 rotatelogs分割工具三、第三方工具cronolog四、日志分割

日志分割

  • 一、日志分割
  • 二、 rotatelogs分割工具
  • 三、第三方工具cronolog
  • 四、日志分割
    • 实验一、使用Apache自带的rotatelogs进行分割日志
    • 实验一、使用第三方工具cronolog进行分割

一、日志分割

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

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

    2、对日志文件进行分割

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

二、 rotatelogs分割工具

1、配置网站的日志文件转交给rotatelogs分割处理

2、配置格式

ErrorLog "| rotatelogs命令的绝对路径-日志文件路径/网站名-error_%Y %m%d.log 86400”
CustomLog "| rotatelogs命令的绝对路径1日志文件路径/网站名-access_%Y%m%d.log 86400" combined
           

实际生产环境中,一个服务器绝大多数对应N个子域名站点,为了方便统一管理, 可以用虚拟主机的方式进行配置,并用网站名标识日志文件

三、第三方工具cronolog

1、源码编译安装cronolog工具

2、配置网站日志文件转交给cronolog分割处理

3、配置格式

ErrorLog "| cronolog命令的绝对路径 日志文件路径/网站名-error_ %Y%m%d.log"
CustomLog "| cronolog命令的绝对路径 日志文件路径/网站名_ %Y%m%d.log" combined
           

四、日志分割

实验一、使用Apache自带的rotatelogs进行分割日志

[[email protected] opt]# iptables -F
[[email protected] opt]# setenforce 0
[[email protected] opt]# yum -y install httpd
[[email protected] opt]# which rotatelogs   //找绝对路径
/usr/sbin/rotatelogs
[[email protected] opt]# vim /etc/httpd/conf/httpd.conf 
Listen 192.168.200.110:80
#Listen 80
ServerName www.kgc.com:80
[[email protected] opt]# ls /var/log/httpd/
[[email protected] opt]# systemctl start httpd
[[email protected] opt]# netstat -antp | grep 80       
tcp        0      0 192.168.200.110:80      0.0.0.0:*               LISTEN      17132/httpd  
[[email protected] opt]# cd /var/log/httpd/
[[email protected] opt]# cat acces_log     //空的
使用浏览器访问192.168.200.110
[[email protected] opt]# cat acces_log     //有内容
192.168.200.50 - - [05/Aug/2020:18:37:52 +0800] "GET / HTTP/1.1" 403 4897 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18363"

[[email protected] opt]# vim /etc/httpd/conf/httpd.conf 
ErrorLog "| /usr/sbin/rotatelogs -l logs/www.kgc.com.error_%Y%m%d.log 86400"
CustomLog "| /usr/sbin/rotatelogs -l logs/www.kgc.com.access_%Y%m%d.log 86400" combined
[[email protected] opt]# systemctl restart httpd
[[email protected] httpd]# httpd -t    //检查配置文件语法
Syntax OK
[[email protected] httpd]# ls /var/log/httpd/                   //查看,没有访问页面,没有access的日志
access_log  error_log  www.kgc.com.error_20200805.log
在浏览器中访问192.168.200.110
[[email protected] httpd]# ls /var/log/httpd/
access_log  www.kgc.com.access_20200805.log
error_log   www.kgc.com.error_20200805.log
[[email protected] httpd]# cat www.kgc.com.access_20200805.log 
192.168.200.1 - - [05/Aug/2020:18:51:09 +0800] "GET /noindex/css/fonts/Regular/OpenSans-Regular.ttf HTTP/1.1" 404 244
[[email protected] httpd]# date    //查看时间
2020年 08月 05日 星期三 18:53:42 CST
[[email protected] httpd]# date -s 09/05/20      //修改时间
2020年 09月 05日 星期六 00:00:00 CST
[[email protected] httpd]#  systemctl restart httpd 
[[email protected] httpd]# ls /var/log/httpd/
access_log  error_log  www.kgc.com.access_20200805.log  www.kgc.com.error_20200805.log  www.kgc.com.error_20200905.log
在浏览器中访问192.168.200.110
[[email protected] httpd]# ls /var/log/httpd/
access_log  error_log  www.kgc.com.access_20200805.log  www.kgc.com.access_20200905.log  www.kgc.com.error_20200805.log  www.kgc.com.error_20200905.log  //有新的日志文件
           

实验一、使用第三方工具cronolog进行分割

[[email protected] ~]# cd /opt/
[[email protected] opt]# ls
rh
[[email protected] opt]# ls            //xshell拉入cronolog压缩包并查看
cronolog-1.6.2-14.el7.x86_64.rpm  rh
[[email protected] opt]# rpm -ivh cronolog-1.6.2-14.el7.x86_64.rpm //安装cronolog的rpm包
[[email protected] opt]# which cronolog                //查看cronolog 绝对路径
/usr/sbin/cronolog
[[email protected] opt]# cd /var/log/httpd/
[[email protected] httpd]# ls
access_log  error_log
[[email protected] httpd]# vim /etc/httpd/conf/httpd.conf 
CustomLog "| /usr/sbin/cronolog logs/www.kgc.com.access_%Y%m%d.log" combined
ErrorLog "| /usr/sbin/cronolog logs/www.kgc.com.error_%Y%m%d.log"
[[email protected] httpd]# systemctl restart httpd
[[email protected] httpd]# ls /var/log/httpd/
access_log  error_log  www.kgc.com.error_20200805.log
在浏览器中访问192.168.200.110
[[email protected] httpd]# ls /var/log/httpd/
access_log  error_log  www.kgc.com.access_20200805.log  www.kgc.com.error_20200805.log
[[email protected] httpd]# date -s 09/05/20
2020年 09月 05日 星期六 00:00:00 CST
[[email protected] httpd]# systemctl restart httpd
[[email protected] httpd]# ls /var/log/httpd/
access_log  www.kgc.com.access_20200805.log  www.kgc.com.error_20200905.log
error_log   www.kgc.com.error_20200805.log
在浏览器中访问192.168.200.110
[[email protected] httpd]# ls /var/log/httpd/
access_log  www.kgc.com.access_20200805.log  www.kgc.com.error_20200805.log
error_log   www.kgc.com.access_20200905.log  www.kgc.com.error_20200905.log