rsyslogd server及client 的架設
發表於 : 2012-04-17 11:59:09
from http://go-linux.blogspot.com/2011/06/rh ... erver.html
http://linux.vbird.org/linux_basic/0570 ... ogd_server
RHEL6預設的log server由syslog改換成rsyslog,於是乎以往RHEL3/4/5的配置方法可能已經不適用了(也許有人還是習慣用syslog,那麼方法應該就一樣),不過不用擔心萬變不離其宗正是Linux的教條,只要理論有了,配置不過是理論的實現罷了,以下就簡單的說明一下怎麼改變吧。
1. Enable UDP port 514:
rsyslog預設上把port 514關掉了,請手動將它打開。
vi /etc/rsyslog.conf
打開udp 514 通訊埠
$ModLoad imudp.so
$UDPServerRun 514
重新啟動服務
# /etc/init.d/rsyslog restart
2. 檢查UDP port 514已開啟:
[root@rhel6 ~]# netstat -tupln | grep 514
udp 0 0 0.0.0.0:514 0.0.0.0:* 2713/rsyslogd
udp 0 0 :::514 :::* 2713/rsyslogd
順便把防火牆udp 514 打開
3. 配置允許接收對方的log events:
# vi /etc/rsyslog.conf to receive log from remote machine:
:fromhost-ip,isequal,"X.X.X.X" /var/log/test1_log
X.X.X.X -> remote IP address
- Restart rsyslog:
# /etc/init.d/rsyslog restart
4. 建立logrotate:
# vi /etc/logrotate.d/test1
/var/log/test1.log{
size +4096k #Trigger logrotate when file size more than 4096k
create 640 root root # File owner and permission
rotate 10 #maximum logrotate
compress
postrotate #restart rsyslog after trigger logrotate
/etc/init.d/rsyslog reload
endscript
}
- Restart rsyslog:
# /etc/init.d/rsyslog restart
Client 端
至於 client 端的設定就簡單多了!只要指定某個資訊傳送到這部主機即可! 舉例來說,我們的登錄檔伺服器 IP 為 192.168.1.100 ,而 client 端希望所有的資料都送給主機, 所以,可以在 /etc/syslog.conf 裡面新增這樣的一行:
再重新啟動 syslog 後,立刻就搞定了!而未來主機上面的登錄檔當中,每一行的『主機名稱』就會顯示來自不同主機的資訊了。 很簡單吧! ^_^。
http://linux.vbird.org/linux_basic/0570 ... ogd_server
RHEL6預設的log server由syslog改換成rsyslog,於是乎以往RHEL3/4/5的配置方法可能已經不適用了(也許有人還是習慣用syslog,那麼方法應該就一樣),不過不用擔心萬變不離其宗正是Linux的教條,只要理論有了,配置不過是理論的實現罷了,以下就簡單的說明一下怎麼改變吧。
1. Enable UDP port 514:
rsyslog預設上把port 514關掉了,請手動將它打開。
vi /etc/rsyslog.conf
打開udp 514 通訊埠
$ModLoad imudp.so
$UDPServerRun 514
重新啟動服務
# /etc/init.d/rsyslog restart
2. 檢查UDP port 514已開啟:
[root@rhel6 ~]# netstat -tupln | grep 514
udp 0 0 0.0.0.0:514 0.0.0.0:* 2713/rsyslogd
udp 0 0 :::514 :::* 2713/rsyslogd
順便把防火牆udp 514 打開
3. 配置允許接收對方的log events:
# vi /etc/rsyslog.conf to receive log from remote machine:
:fromhost-ip,isequal,"X.X.X.X" /var/log/test1_log
X.X.X.X -> remote IP address
- Restart rsyslog:
# /etc/init.d/rsyslog restart
4. 建立logrotate:
# vi /etc/logrotate.d/test1
/var/log/test1.log{
size +4096k #Trigger logrotate when file size more than 4096k
create 640 root root # File owner and permission
rotate 10 #maximum logrotate
compress
postrotate #restart rsyslog after trigger logrotate
/etc/init.d/rsyslog reload
endscript
}
- Restart rsyslog:
# /etc/init.d/rsyslog restart
Client 端
至於 client 端的設定就簡單多了!只要指定某個資訊傳送到這部主機即可! 舉例來說,我們的登錄檔伺服器 IP 為 192.168.1.100 ,而 client 端希望所有的資料都送給主機, 所以,可以在 /etc/syslog.conf 裡面新增這樣的一行:
代碼: 選擇全部
[root@www ~]# vim /etc/syslog.conf
*.* @192.168.1.100