FreeBSD/syslog

syslog

syslogには、ログを別のsyslogサーバに転送する機能がある。
syslogでは、その機能を使って各サーバのログを1カ所に集めることで、ログの一元管理を実現できる。

環境

転送元: 172.16.1.50 転送先: 172.16.1.100

転送元の設定

/etc/hostsの編集

127.0.0.1               localhost localhost.my.domain
172.16.1.50             moto.mydomain.co.jp moto
172.16.1.100            saki.mydomain.co.jp saki

ログ転送の設定

# vi /etc/syslog.conf

# uncomment this to enable logging to a remote loghost named loghost
*.*                                             @loghost

転送先の設定

/etc/hostsの設定

127.0.0.1               localhost localhost.my.domain
172.16.1.50             moto.mydomain.co.jp moto
172.16.1.100            saki.mydomain.co.jp saki

/etc/syslog.confの設定

# touch /var/log/all.log and chmod it to mode 600 before it will work
*.*                                             /var/log/all.log
# touch /var/log/all.log
# chmod 600 /var/log/all.log 

/etc/rc.confの設定

# syslog
syslogd_flags="-a 172.16.1.0/24:*"

syslogの再起動

# /etc/rc.d/syslogd restart

確認

ポートが空いているか

下記のようになっていれば、パケットを受けられる状態です。
# netstat -an |grep -i udp|grep 514
udp4       0      0  *.514                  *.*  

転送元からパケットが流れてきてるか

バラバラとメッセージが出てくれば、転送元よりパケットが流れて来てます。

# tcpdump -n -i sis0 udp and dst host 172.16.1.50 and dst port 514

/var/log/all.logの確認

転送元からのログが取得できていれば正常です。

# tail -f /var/log/all.log
May 29 09:50:00 moto /usr/sbin/cron[1314]: (root) CMD (/usr/libexec/atrun)
May 29 09:59:29 moto sshd[1342]: Accepted password for matsui from 172.16.1.15 port 50847 ssh2