5.4. TCP 経由のサーバーへのリモートロギングの設定
TCP プロトコル経由でログメッセージをサーバーに転送するようにシステムを設定できます。omfwd プラグインは、UDP または TCP による転送を提供します。デフォルトのプロトコルは UDP です。プラグインは組み込まれているのでロードする必要はありません。
前提条件
-
rsyslogパッケージが、サーバーに報告する必要のあるクライアントシステムにインストールされている。 - リモートロギング用にサーバーを設定している。
- 指定したポートが SELinux で許可され、ファイアウォールで開いている。
-
システムには、
policycoreutils-python-utilsパッケージが含まれています。このパッケージは、標準以外のポートを SELinux 設定に追加するためのsemanageコマンドを提供します。
手順
/etc/rsyslog.d/ディレクトリーに新規ファイル (例:10-remotelog.conf) を作成し、以下のコンテンツを挿入します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ここでは、以下のようになります。
-
queue.type="linkedlist"設定は、LinkedList インメモリーキューを有効にします。 -
queue.filename設定は、ディスクストレージを定義します。バックアップファイルは、前のグローバルのworkDirectoryディレクティブで指定された作業ディレクトリーにexample_fwd接頭辞を付けて作成されます。 -
action.resumeRetryCount -1設定は、サーバーが応答しない場合に接続を再試行するときにrsyslogがメッセージを破棄しないようにします。 -
queue.saveOnShutdown="on"設定は、rsyslogがシャットダウンした場合にインメモリーデータを保存します。 最後の行は、受信したすべてのメッセージをロギングサーバーに転送します。ポートの指定は任意です。
この設定では、
rsyslogはメッセージをサーバーに送信しますが、リモートサーバーに到達できない場合には、メッセージをメモリーに保持します。ディスク上にあるファイルは、設定されたメモリーキュー領域がrsyslogで不足するか、シャットダウンする必要がある場合にのみ作成されます。これにより、システムパフォーマンスが向上します。
注記Rsyslog は設定ファイル
/etc/rsyslog.d/を字句順に処理します。-
rsyslogサービスを再起動します。systemctl restart rsyslog
# systemctl restart rsyslogCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
クライアントシステムがサーバーにメッセージを送信していることを確認します。
クライアントシステムで、テストメッセージを送信します。
logger test
# logger testCopy to Clipboard Copied! Toggle word wrap Toggle overflow サーバーシステムで、
/var/log/messagesログを表示します。以下に例を示します。cat /var/log/remote/msg/hostname/root.log Feb 25 03:53:17 hostname root[6064]: test
# cat /var/log/remote/msg/hostname/root.log Feb 25 03:53:17 hostname root[6064]: testCopy to Clipboard Copied! Toggle word wrap Toggle overflow hostname はクライアントシステムのホスト名です。ログには、
loggerコマンドを入力したユーザーのユーザー名 (この場合はroot) が含まれていることに注意してください。