2011年11月9日 星期三

centos log設定

syslog 與 logrotate

請特別注意,我們的 Apache 登錄檔主要記錄兩個東西,分別是:
  • /var/log/httpd/access_log :用戶端正常要求的記錄資訊
  • /var/log/httpd/error_log :使用者錯誤要求的資料,包括伺服器設定錯誤的資訊等。
那個 /var/log/httpd/error_log 可以讓你處理很多設定錯誤的情況,包括網頁找不到、 檔案權限設定錯誤、密碼檔案檔名填錯等等。至於 access_log 則可以讓你分析那個網頁最熱門! ^_^! 不過你可得注意的是:『在稍有規模的網站下,Apache 的登錄檔每週記錄量甚至可達 1GB 以上』的紀錄。以鳥哥的主網站來說,一個星期逼近 1GB 的登錄檔是合理的...
不過,因為登錄檔是純文字資訊,所以如果能夠給予壓縮的話,那麼備份下來的登錄檔將可以減少到數十MB而已, 這樣可大大的減少了磁碟空間的浪費啊!如果你是使用預設的 Apache 來處理你的伺服器時, 那麼系統已經作了一個 logrotate 給你使用了,如果你是使用 Tarball 自己安裝的, 那麼...你就得要自行手動建立底下這個檔案啦!鳥哥底下是以 CentOS 6.x 提供的檔案來作說明的:
[root@www ~]# vim /etc/logrotate.d/httpd
/var/log/httpd/*log {
    missingok
    notifempty
    compress   <==建議加上這一段,讓你的備份登錄檔可以被壓縮
    sharedscripts
    delaycompress
    postrotate
        /sbin/service httpd reload > /dev/null 2>/dev/null || true
    endscript
}
為什麼這裡很重要呢?鳥哥的伺服器曾經發生過一件事情,就是....突然 WWW 效能變很差! 後來追蹤的原因竟然是... /var/ 的容量被用完了!而耗掉這個 partition 的元兇竟然是 Apache 的登錄檔! 當時 /var/ 僅給 5GB ,而每個星期的登錄檔就上達 1GB 以上,備份四個星期的結果, /var/ 想不爆掉也很難~ 所以啦,建議你的 /var 要給個 10GB 以上才好吶!而且備份登錄檔也要壓縮才好吶!
資料來源:http://linux.vbird.org/linux_server/0360apache.php#other_pkg_syslog

沒有留言:

張貼留言