14.7. UDP 経由のサーバーへのリモートロギングの設定
UDP プロトコル経由でログメッセージをサーバーに転送するようにシステムを設定できます。omfwd
プラグインは、UDP または TCP による転送を提供します。デフォルトのプロトコルは UDP です。プラグインは組み込まれているのでロードする必要はありません。
前提条件
-
rsyslog
パッケージが、サーバーに報告する必要のあるクライアントシステムにインストールされている。 - UDP でリモートロギング情報を受信するためのサーバー設定 で説明されているように、リモートロギング用にサーバーを設定している。
手順
/etc/rsyslog.d/
ディレクトリーに.conf
の新規ファイル (例:10-remotelogcli.conf
) を作成し、以下のコンテンツを挿入します。*.* action(type="omfwd" queue.type="linkedlist" queue.filename="example_fwd" action.resumeRetryCount="-1" queue.saveOnShutdown="on" target="example.com" port="portno" protocol="udp" )
ここでは、以下のようになります。
-
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
オプション:
rsyslog
が有効になっていない場合は、再起動後にrsyslog
サービスが自動的に起動するようにします。# systemctl enable rsyslog
検証
クライアントシステムがサーバーにメッセージを送信することを確認するには、以下の手順に従います。
クライアントシステムで、テストメッセージを送信します。
# logger test
サーバーシステムで、
/var/log/remote/msg/hostname/root.log
ログを表示します。以下に例を示します。# 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
パッケージでインストールされたドキュメント。