今回は、リモートのrsyslogへログを送りつける設定について。
(図の左側のrsyslogの設定です)
対向のrsyslog(図の右側)は前回の記事の、リモートからログの受信を受け付けるrsyslogの設定が入ってる前提
基本
実は/etc/rsyslog.conf
にリモート送信のサンプル設定がコメントアウトされてる。
# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional #*.* @@remote-host:514
(手元のrpm版v8.24では)「forwarding rule」のうしろーーの方に記述されてぱっと見わかりづらいけど、書式はこの通り
<ファシリティ>.<ログレベル> @@remote-host.example.org:514
既存設定における/var/log/messages
などのファイル名を記述してる右側の設定部分に、@@
を頭につけたホスト名:ポート番号
という記述で、対象ホストへTCP転送する設定となる。(UDP転送の場合は@
を一つ指定)
設定例
# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional *.* @manager-dev:514
これでこのrsyslogが動作しているホスト上のログは、manager-devホストへ514/UDPで転送される。
# リモートへ転送設定してるホストでlogger実行 [zaki@registry ~]$ logger "hello" -i -t "remote-test" [zaki@registry ~]$
すると転送先のmanager-devホストの/var/log/messages
に以下が記録される
[root@manager-dev ~]# tail /var/log/messages : : Mar 26 05:59:19 registry remote-test[59228]: hello
ちなみに転送元のホストでも既存の/var/log/messages
への出力は有効なままなので、こちらも記録される
[root@registry ~]# tail /var/log/messages : : Mar 26 05:59:19 registry remote-test[59228]: hello
-p
でファシリティを変更すれば
[zaki@registry ~]$ logger "hello" -i -t "remote-test" -p "mail.err"
転送先のrsyslogの設定に従って出力は振り分けられる
[root@manager-dev ~]# tail -f /var/log/maillog : : Mar 26 06:02:27 registry remote-test[59838]: hello
フィルタやログ分割はまたそのうち…