日誌分割小實操——程序猿都愛看的日誌分割

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
日誌分割小實操——程序猿都愛看的日誌分割
打開瀏覽器輸入服務端的IP地址即可訪問網頁
日誌分割小實操——程序猿都愛看的日誌分割
再查看一下服務日誌

[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日誌分割的全部內容,謝謝小夥伴們的支持

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章