CentOS 6
Sponsored Link

Rsyslog : リモートホストにログを転送する
2015/03/31
 
リモートホストにログを転送して、特定ホストで複数ホストのログを一括管理できるようにします。
ここでは以下のような環境を例にします。
(1) dlp.srv.world           [10.0.0.30]    ログ受信サーバー
(2) node01.srv.world     [10.0.0.51]     ログ送信サーバー

[1] ログを受信する側のホストで、リモートホストのログを TCP 経由で受信できるよう設定します。
[root@dlp ~]#
vi /etc/rsyslog.conf
# 17, 18行目:コメント解除

$ModLoad imtcp
$InputTCPServerRun 514
# 許可する送信元を指定

$AllowedSender TCP, 127.0.0.1, 10.0.0.0/24, *.srv.world
[root@dlp ~]#
/etc/rc.d/init.d/rsyslog restart

Shutting down system logger: [ OK ]
Starting system logger: [ OK ]
[2] 送信側ホストの設定です。
[root@node01 ~]#
vi /etc/rsyslog.conf
# 例として authpriv.* のログを転送

authpriv.*    
@@dlp.srv.world:514
# 73行目:全てコメント解除

$WorkDirectory /var/lib/rsyslog # where to place spool files
$ActionQueueFileName fwdRule1   # unique name prefix for spool files
$ActionQueueMaxDiskSpace 1g     # 1gb space limit (use as much as possible)
$ActionQueueSaveOnShutdown on   # save messages to disk on shutdown
$ActionQueueType LinkedList     # run asynchronously
$ActionResumeRetryCount -1      # infinite retries if host is down

[root@node01 ~]#
/etc/rc.d/init.d/rsyslog restart

Shutting down system logger: [ OK ]
Starting system logger: [ OK ]
[3] 受信側のホストでログを見てみると、以下のようにログが記録されていることが分かります。
[root@dlp ~]#
tail -10 /var/log/secure

Apr  1 02:50:24 dlp login: DIALUP AT ttyS0 BY root
Apr  1 02:50:24 dlp login: ROOT LOGIN ON ttyS0
Apr  1 21:56:35 node01 login: pam_unix(login:session): session closed for user root
Apr  1 21:56:41 node01 login: pam_unix(login:session): session opened for user root by (uid=0)
Apr  1 21:56:41 node01 login: DIALUP AT ttyS0 BY root
Apr  1 21:56:41 node01 login: ROOT LOGIN ON ttyS0
Apr  1 21:57:46 node01 sshd[1022]: Accepted password for cent from 10.0.0.30 port 51970 ssh2
Apr  1 21:57:46 node01 sshd[1022]: pam_unix(sshd:session): session opened for user cent by (uid=0)
Apr  1 21:57:46 node01 sshd[1024]: Received disconnect from 10.0.0.30: 11: disconnected by user
Apr  1 21:57:46 node01 sshd[1022]: pam_unix(sshd:session): session closed for user cent
[4] ホストごと、年月日ごとにログファイルを分ける場合は以下のようにします。
[root@dlp ~]#
vi /etc/rsyslog.conf
# 追記:ログを書き出す場所を定義

$template Secure_log,"/var/log/secure.d/%fromhost%_%$year%%$month%%$day%.secure"
# 追記:定義した場所を指定 (ハイフンは非同期書き込みの指定)

authpriv.*    
-?Secure_log
[root@dlp ~]#
/etc/rc.d/init.d/rsyslog restart

Shutting down system logger: [ OK ]
Starting system logger: [ OK ]
[root@dlp ~]#
ll /var/log/secure.d

total 8
-rw------- 1 root root 376 Apr  2 12:58 10.0.0.51_20150402.secure
-rw------- 1 root root 368 Apr  2 12:59 dlp_20150402.secure
 
Tweet