服务器群集——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进行分割日志

[root@promote opt]# iptables -F
[root@promote opt]# setenforce 0
[root@promote opt]# yum -y install httpd
[root@promote opt]# which rotatelogs   //找绝对路径
/usr/sbin/rotatelogs
[root@promote opt]# vim /etc/httpd/conf/httpd.conf 
Listen 192.168.200.110:80
#Listen 80
ServerName www.kgc.com:80
[root@promote opt]# ls /var/log/httpd/
[root@promote opt]# systemctl start httpd
[root@promote opt]# netstat -antp | grep 80       
tcp        0      0 192.168.200.110:80      0.0.0.0:*               LISTEN      17132/httpd  
[root@promote opt]# cd /var/log/httpd/
[root@promote opt]# cat acces_log     //空的
使用浏览器访问192.168.200.110
[root@promote 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"

[root@promote 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
[root@promote opt]# systemctl restart httpd
[root@localhost httpd]# httpd -t    //检查配置文件语法
Syntax OK
[root@localhost httpd]# ls /var/log/httpd/                   //查看,没有访问页面,没有access的日志
access_log  error_log  www.kgc.com.error_20200805.log
在浏览器中访问192.168.200.110
[root@localhost httpd]# ls /var/log/httpd/
access_log  www.kgc.com.access_20200805.log
error_log   www.kgc.com.error_20200805.log
[root@localhost 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
[root@localhost httpd]# date    //查看时间
2020年 08月 05日 星期三 18:53:42 CST
[root@localhost httpd]# date -s 09/05/20      //修改时间
2020年 09月 05日 星期六 00:00:00 CST
[root@localhost httpd]#  systemctl restart httpd 
[root@localhost 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
[root@localhost 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进行分割

[root@promote ~]# cd /opt/
[root@promote opt]# ls
rh
[root@promote opt]# ls            //xshell拉入cronolog压缩包并查看
cronolog-1.6.2-14.el7.x86_64.rpm  rh
[root@promote opt]# rpm -ivh cronolog-1.6.2-14.el7.x86_64.rpm //安装cronolog的rpm包
[root@promote opt]# which cronolog                //查看cronolog 绝对路径
/usr/sbin/cronolog
[root@promote opt]# cd /var/log/httpd/
[root@promote httpd]# ls
access_log  error_log
[root@promote 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"
[root@promote httpd]# systemctl restart httpd
[root@promote httpd]# ls /var/log/httpd/
access_log  error_log  www.kgc.com.error_20200805.log
在浏览器中访问192.168.200.110
[root@promote httpd]# ls /var/log/httpd/
access_log  error_log  www.kgc.com.access_20200805.log  www.kgc.com.error_20200805.log
[root@promote httpd]# date -s 09/05/20
2020年 09月 05日 星期六 00:00:00 CST
[root@promote httpd]# systemctl restart httpd
[root@promote 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
[root@promote 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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值