RHEL9 rsyslog リモートホストにログを転送する方法

環境
Red Hat Enterprise Linux release 9.2 (Plow)

操作例
リモートホストにログを転送して、特定ホストで複数ホストのログを一括管理します。
1. 受信側ホストの設定を行います

# 35-36行目 : コメント解除
# 37行目 : 許可する送信元を設定
module(load="imtcp") # needs to be done just once
input(type="imtcp" port="514")
$AllowedSender TCP, 127.0.0.1, 192.168.0.0/24, *.arkgame.com

2.rsyslogを再起動します
# systemctl restart rsyslog

3.firewalld 稼働中の場合はポート許可する

# firewall-cmd --add-port=514/tcp
# firewall-cmd --runtime-to-permanent

4.送信側ホストの設定を行います
# vi /etc/rsyslog.conf
# 最終行に追記する

action(type="omfwd"
       queue.filename="fwdRule.arkgame.com"
       queue.maxdiskspace="1g"
       queue.saveonshutdown="on"
       queue.type="LinkedList"
       action.resumeRetryCount="-1"
       Target="arkgame.com" Port="514" Protocol="tcp")

# queue.filename : キューファイル名
# queue.maxdiskspace : キューに確保するディスクスペース
# queue.saveonshutdown=on : シャットダウン時にキューデータをディスクに保存
# queue.type=LinkedList : 10,000 メッセージを保持可能な非同期キュー
# action.resumeRetryCount=-1 : サーバーが無応答の場合リトライし続ける
# Target=*** : ログ受信サーバーを指定

# systemctl restart rsyslog

5.送信側ホストのログが受信側ホストにも記録される

# tail /var/log/secure

 

IT

Posted by arkgame