歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 利用 Ubuntu 中 syslog 記錄外部設備日志

利用 Ubuntu 中 syslog 記錄外部設備日志

日期:2017/2/28 16:50:01   编辑:Linux教程

要求:

利用 Ubuntu 8.04 服務器版的 syslog 記錄 juniper isg1000 日志,保留3個月。

1、允許 syslog 記錄外部日志

修改 /etc/default/syslogd,把其中的 SYSLOGD="" 改為 SYSLOGD="-r"

2、定義外部日志類型

修改 juniper isg1000 日志定義,讓其生成的日志定義為 local7,並向 Ubuntu 服務器發送日志。

3、定義日志文件

考慮到日志文件比較多,在 /var/log 下新建 firewall 目錄,用於保存日志文件。目錄屬性 755。

修改 /etc/syslog.conf,在其中增加下面一行:

local7.*

-/var/log/firewall/firewall.log

經過測試記錄不成問題,但發現有下面幾個嚴重問題。

4、重復記錄問題

syslog 不光在 firewall.log 中記錄,還在 /var/log 中的 syslog 和 messages 記錄,由於日志很大,這下麻煩了。看看 syslog.conf 的 man,居然還有個 ! 功能,在 syslog.conf 文件中的 syslog 和 messages 定義前面加上了 !local7.*,感覺不錯,syslog 不再向 syslog 和 messages 文件中記錄設備日志了。

5、文件超大問題

syslog 記錄的日志文件最大不超過2.5G,如果超過了,將停止記錄。而 isg1000 4個小時左右的日志就達到這個數量了。必須設置日志輪轉。在 /etc/logrotate.d 中新建 firewall 日志輪轉控制文件,屬性644,firewall 內如如下:

/var/log/firewall/firewall.log {

start 1000

rotate 512

maxage 100

size 1500M

compress

delaycompress

missingok

postrotate

/usr/bin/killall -HUP syslogd

endscript

}

以上內容簡單解釋:

由於日志文件需要保存3個月,且平均每天生成5個日志文件,設置最多保留512個,保留時間100天。

文件後綴編號從1000開始,比從1開始在排序上要好看。

文件超過1500M的時候輪轉。

為了減少存儲空間占用,輪轉後的日志文件需要壓縮,但不是輪轉後馬上壓縮,而是輪轉下一個的時候,再壓縮,以防 syslog 繼續寫入當前文件時候丟失數據。

經過以上設置,感覺可以,誰知道使用幾天,發現還有問題。

Copyright © Linux教程網 All Rights Reserved