2013年7月2日 星期二

將本機記錄檔轉送到syslogd伺服器上

會使用這個功能主要的原因是辦公室的某個網路設備會不定時自動重開,一旦重開所有的記錄都會被清除,還好這個設備有支援遠端記錄的功能可以將Log記錄到Syslog上,趕快來設定一下看到底是什麼問題


Syslog伺服器端的設定

1. 預設syslog是不開啟網路功能,若要啟用這個功能,必須在啟動syslogd時加上參數 -r 才行。在Redhat系的Linux上,只要修改/etc/sysconfig/syslog這個設定檔即可

Shell> vi /etc/sysconfig/syslog
#修改成下面這個參數
SYSLOGD_OPTIONS="-m 0 -r"

2. 確定/etc/service是否有syslog的設定,若沒有這個設定就沒辦法接受或傳送記錄,甚至無法啟動syslog囉。
Shell> vi /etc/service
#請確定有下面這個設定,沒有的話請自行加上
syslog 514/udp

3. 重新啟動syslog
Shell> /sbin/service syslog restart

檢查syslog是否監聽UDP 514
Shell> netstat -tulp
udp 0 0 0.0.0.0:514 0.0.0.0:* 3830/syslogd


syslog客戶端設定


客戶端的設定還滿簡單的,只要稍微修改syslog.conf即可
Shell> vim /etc/syslog.conf
#我把原本寫在/var/log/messages裡的記錄送到位於192.168.1.10的syslogd
#只要將/var/log/messages改為@hostname就可以了
*.info;mail.none;authpriv.none;cron.none @192.168.1.10

#若你者機可以解析主機名稱,當然你也可以使用主機名稱代替IP
#若沒有DNS也可以寫死在/etc/hosts裡
mail.* @syslog.myserver.com

#重啟syslogd後,你可以到伺服器端的/var/log/messages看看是否有將記錄轉送過來
Shell>service syslog restart

特別注意事項

※在設定syslog時要特別注意不要造成syslog-loops的迴圈情況,很快的你會發現你的硬碟被一堆相同的訊息塞滿。

※盡可能使用防火牆來限定UDP 514埠


參考資料來源

man syslogd
man syslog.conf

轉貼至http://beakdoosan.blogspot.tw/

沒有留言:

張貼留言