5.7. UDP 経由のサーバーへのリモートロギングの設定
UDP プロトコル経由でログメッセージをサーバーに転送するようにシステムを設定できます。omfwd プラグインは、UDP または TCP による転送を提供します。デフォルトのプロトコルは UDP です。プラグインは組み込まれているのでロードする必要はありません。
前提条件
-
rsyslogパッケージが、サーバーに報告する必要のあるクライアントシステムにインストールされている。 - UDP 経由でリモートログ情報を受信するためのサーバーの設定 で説明されているように、リモートロギング用にサーバーを設定している。
手順
/etc/rsyslog.d/ディレクトリーに.confの新規ファイル (例:10-remotelogcli.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がシャットダウンした場合にインメモリーデータが保存されます。 -
portno値は、rsyslogで使用するポート番号です。デフォルト値は514です。 最後の行は受信メッセージをすべてロギングサーバーに転送します。ポートの指定は任意です。
この設定では、
rsyslogはメッセージをサーバーに送信しますが、リモートサーバーに到達できない場合には、メッセージをメモリーに保持します。ディスク上にあるファイルは、設定されたメモリーキュー領域がrsyslogで不足するか、シャットダウンする必要がある場合にのみ作成されます。これにより、システムパフォーマンスが向上します。
注記Rsyslog は設定ファイル
/etc/rsyslog.d/を字句順に処理します。-
rsyslogサービスを再起動します。systemctl restart rsyslog
# systemctl restart rsyslogCopy to Clipboard Copied! Toggle word wrap Toggle overflow 必要に応じて、
rsyslogが有効になっていない場合は、再起動後にrsyslogサービスが自動的に起動するようにします。systemctl enable rsyslog
# systemctl enable rsyslogCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
クライアントシステムがサーバーにメッセージを送信することを確認するには、以下の手順に従います。
クライアントシステムで、テストメッセージを送信します。
logger test
# logger testCopy to Clipboard Copied! Toggle word wrap Toggle overflow サーバーシステムで、
/var/log/remote/msg/hostname/root.logログを表示します。以下に例を示します。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) が含まれていることに注意してください。