vyatta のsyslog をTCPでremote のsyslog serverに転送する

vyattaのdocumentをチラ見してもsyslog をtcpで転送するということが載ってなかったぽいんだけど、configure, commit, saveしたあとに生成される /etc/rsyslog.d/vyatta-log.conf を見ている限りではhost の引数に @付きでremoteのsyslog serverを指定するだけでいけそう。

host ip
syslog server 192.168.0.10
vyatta 192.168.0.20

vyatta の設定

$ configure
# set system syslog host @192.168.0.10 facility all level info
# commit
# save

commit 後に生成されるvyatta の設定ファイル

  • /etc/rsyslog.d/vyatta-log.conf

set system syslog で設定した値が追加されている。

*.info @@192.168.0.10


あとはsyslog server のrsyslogdを適当に設定。(vyattaのIPからのsyslog は個別に保存する例)

  • syslog server: /etc/rsyslog.conf
$ModLoad imtcp.so  
$InputTCPServerRun 514
$AllowedSender TCP, 127.0.0.1, 192.168.0.20
	
:fromhost-ip, isequal, "192.168.0.20" /var/log/vyatta.log
& ~

logrotateの設定も忘れずに( /etc/logrotate.d/syslog )