14.9. 信頼できるリモートロギングの設定
Reliable Event Logging Protocol (RELP) を使用すると、メッセージ損失のリスクを大幅に軽減して TCP で syslog
メッセージを送受信できます。RELP は、信頼できるイベントメッセージを配信するので、メッセージ損失が許されない環境で有用です。RELP を使用するには、imrelp
の入力モジュール (サーバー上での実行とログの受信) と omrelp
出力モジュール (クライアント上での実行とロギングサーバーへのログの送信) を設定します。
前提条件
-
rsyslog
パッケージ、librelp
パッケージ、およびrsyslog-relp
パッケージをサーバーおよびクライアントシステムにインストールしている。 - 指定したポートが SELinux で許可され、ファイアウォール設定で開放されている。
手順
信頼できるリモートロギング用にクライアントシステムを設定します。
クライアントシステムの
/etc/rsyslog.d/
ディレクトリーに、relpclient.conf
などと名前を指定して新しい.conf
ファイルを作成し、以下のコンテンツを挿入します。module(load="omrelp") *.* action(type="omrelp" target="_target_IP_" port="_target_port_")
ここでは、以下のようになります。
-
target_IP
は、ロギングサーバーの IP アドレスに置き換えます。 -
target_port
はロギングサーバーのポートに置き換えます。
-
-
変更を
/etc/rsyslog.d/relpclient.conf
ファイルに保存します。 rsyslog
サービスを再起動します。# systemctl restart rsyslog
必要に応じて、
rsyslog
が有効になっていない場合は、再起動後にrsyslog
サービスが自動的に起動するようにします。# systemctl enable rsyslog
信頼できるリモートロギング用にサーバーシステムを設定します。
サーバーシステムの
/etc/rsyslog.d/
ディレクトリーに、relpserv.conf
などと名前を指定して新しい.conf
ファイルを作成し、以下のコンテンツを挿入します。ruleset(name="relp"){ *.* action(type="omfile" file="_log_path_") } module(load="imrelp") input(type="imrelp" port="_target_port_" ruleset="relp")
ここでは、以下のようになります。
-
log_path
は、メッセージを保存するパスを指定します。 -
target_port
はロギングサーバーのポートに置き換えます。クライアント設定ファイルと同じ値を使用します。
-
-
/etc/rsyslog.d/relpserv.conf
ファイルへの変更を保存します。 rsyslog
サービスを再起動します。# systemctl restart rsyslog
必要に応じて、
rsyslog
が有効になっていない場合は、再起動後にrsyslog
サービスが自動的に起動するようにします。# systemctl enable rsyslog
検証
クライアントシステムがサーバーにメッセージを送信することを確認するには、以下の手順に従います。
クライアントシステムで、テストメッセージを送信します。
# logger test
サーバーシステムで、指定された
log_path
でログを表示します。以下に例を示します。# cat /var/log/remote/msg/hostname/root.log Feb 25 03:53:17 hostname root[6064]: test
hostname
はクライアントシステムのホスト名です。ログには、logger コマンドを入力したユーザーのユーザー名 (この場合はroot
) が含まれていることに注意してください。
関連情報
-
rsyslogd(8)
およびrsyslog.conf(5)
man ページ。 -
/usr/share/doc/rsyslog/html/index.html
ファイルにrsyslog-doc
パッケージでインストールされたドキュメント。