1. 程式人生 > >Apache日誌分割(rotatelogs、cronolog)

Apache日誌分割(rotatelogs、cronolog)

測試 不可 apache etc oca logs sta 常見 進行

為什麽要進行日誌分割?

隨著網站的訪問量越來越大,web服務器產生的日誌文件也會越來越大,如果不對其進行分割管理,單個日誌文件會變得異常龐大,不利於對日誌進行綜合分析、監控等。另外,當服務器遇到故障時,運維人員就要打開日誌文件進行分析,打開的過程必然會消耗很長時間,也勢必會增加處理故障的時間。因此管理好海量的日誌文件對管理網站是有重大意義的。

以下介紹兩種常見的日誌分割方法:

一. Apache自帶的rotatelogs分割工具

1.查詢rotatelogs命令的絕對路徑

which rotatelogs

技術分享圖片

2. 編輯httpd.conf配置文件

vim /etc/httpd/conf/httpd.conf

修改配置文件,主要是CustomLog參數

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/usr/local/apache/htdocs"
ServerName www.test.com
ErrorLog "|/usr/sbin/rotatelogs -l /usr/local/apache/logs/www.test.com-error%Y%m%d.log"
CustomLog "|/usr/sbin/rotatelogs -l /usr/local/apache/logs/www.test.com-access

%Y%m%d.log 86400" combined //定義訪問日誌格式,其中86400表示一天,即每天生成一個新的日誌文件
</VirtualHost>

註意:rotatelogs -l 使用本地時間代替GMT時間作為時間基準,在一個改變GMT偏移量(比如夏令時)的環境中使用-l會導致不可預料的結果。

3. 創建日誌文件目錄

mkdir -p /usr/local/apache/logs

4. 創建web站點目錄

mkdir -p /usr/local/apache/htdocs

5. 重啟Apahce服務

service httpd stop      //停止
service httpd start     //開啟

6. 測試

技術分享圖片

技術分享圖片

二. 第三方工具cronolog日誌分割

1. 解壓縮源碼包至/opt目錄下

tar xzvf cronolog-1.6.2.tar.gz -C /opt

2. 進入cronolog目錄下

cd /opt/cronolog-1.6.2/

3. 配置

./configure

4. 編譯及安裝

make && make install

5. 查看cronolog命令的絕對路徑

which cronolog

6. 編輯Apache配置文件

vim /etc/httpd/conf/httpd.conf

修改配置文件,主要是CustomLog參數

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/usr/local/apache/htdocs"
ServerName www.test.com
ErrorLog "|/usr/local/sbin/cronolog /usr/local/apache/logs/www.test.com-error%Y%m%d.log"
CustomLog "|/usr/local/sbin/cronolog /usr/local/apache/logs/www.test.com-access
%Y%m%d.log" combined
</VirtualHost>

7.重啟htppd服務

service httpd restart

8.測試

技術分享圖片

技術分享圖片

Apache日誌分割(rotatelogs、cronolog)