2012年にもなってsyslogdを使い続けるのはいかがなものかということと、RHEL6系がrsyslogを採用しているので、今更になってrsyslogdを真面目に調べています。
- http://www.rsyslog.com/storing-messages-from-a-remote-system-into-a-specific-file/
- http://www.rsyslog.com/doc/multi_ruleset.html
fromhost-ip を使ってhost, network ごとにログをわける設定。
ちなみにこれらの設定はlocalのsyslogを保存する"mail.* -/var/log/maillog" のような設定の前に書いておく必要がある。また、その直後に"& ~" を書かないと、remoet serverのログもlocalの/var/log/messages などに保存されてしまう。
完全一致で比較する場合はisequal, 前方一致はstartswith でいいのかい?
- /etc/rsyslog.conf
# do this in FRONT of the local/regular rules :fromhost-ip, isequal, "192.168.0.10" /var/log/remote/host.log & ~ :fromhost-ip, startswith, "192.168.2." /var/log/remote/network.log & ~ # local/regular rules, like *.* /var/log/syslog.log
こっちのURLだと:fromhost-ip がif $fromhost-ip に変わって、コンマの付き方も違っていてよくわからない(2種類書き方ある?) ので、見慣れている:fromhost-ip で設定しておく。