天天看點

伺服器群集——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