在我們日常工作中,經常要把路由器、交換機的日志或者是防火墻的地址翻譯日志保存到遠端的主機上。Windows平臺下有一些商業軟件可以實現建立集中的syslog服務器的功能,但是由于windows自身的穩定性以及這些商業軟件的成熟度問題,性能及可靠性都存在一定的缺陷,應用并不是很廣泛。采用freebsd來建立集中的syslog服務器不僅可以享受freebsd平臺卓越的網絡性能和優秀的可靠性,而且可以充分利用UNIX平臺下強大的命令行工具以及shell程序腳本功能。最后,所有這一些都是免費的!
一、安裝freebsd系統
這部分網上有大量的參考資料,而且freebsd的安裝界面還算比較友好,就不詳細說明了。需要說明的是安裝過程中需要選擇安裝ports collection。
二、安裝minirsyslogd
在root帳號下
cd /usr/ports/sysutils/minirsyslogd
make
make install
make clean
安裝腳本的提示可以看到minirsyslogd被安裝到了
/usr/local/sbin/minirsyslogd
可以使用man minirsyslogd來查看該程序的說明,寫得非常詳細,在此感謝一下程序作者。
三、配置minirsyslogd
在root帳號下建立一個目錄作為minirsyslogd保存所有日志的主目錄。
例如:mkdir /usr/home/mylog
在該目錄下以IP地址為名建立子目錄,如果要接收來自192.168.1.1的syslog信息,就在主目錄下建立名為192.168.1.1的子目錄。
例如:cd /usr/home/mylog
mkdir 192.168.1.1
有幾臺機器要接收就建幾個目錄
mkdir 192.168.2.1
mkdir 192.168.2.3
…
四、運行minirsyslogd
/usr/local/sbin/ minirsyslogd –-daemon –rootdir /usr/home/mylog
minirsyslogd會在每個地址命名的目錄下建立日志文件,缺省是每小時生成一個新文件,文件名以IP地址開頭,后面跟日期和時間。
如果運行過程中需要添加接收的新主機地址,在建立完目錄后,需要運行
kill –HUP <minirsyslogd的進程號>
如果忘記kill –HUP了,程序也會在每小時檢查一次主目錄下是否有新的目錄加入。
如果你將生成新日志文件的間隔設為一天而不是一個小時,請確保該文件不要大于2G,否則還是用每小時生成文件比較好(什么,你的系統每小時也大于2G?那就沒辦法了)。
五、定時運行的腳本
程序作者在man給出的說明中提供了幾個例子,這里再提供一點思路:
每天將前一天的日志進行壓縮
find /usr/home/mylog -ctime +1d -exec gzip {} ";
將超過90天的日志文件進行刪除
find /usr/home/mylog -ctime +90d -exec rm {} ";
這兩個任務可以放到crontab中每天凌晨非忙時運行。
posted on 2009-05-14 18:10
Blog of JoJo 閱讀(300)
評論(0) 編輯 收藏 所屬分類:
每日一記