25.5.4. rsyslog キューの新規構文の使用
rsyslog 7 で利用可能な新しい構文では、キューは
/etc/rsyslog.conf
で個別に使用するか、またはルールセット内部で使用できる action()
オブジェクト内に定義されます。アクションキューの形式は以下のようになります。
action(type="action_type" queue.size="queue_size" queue.type="queue_type" queue.filename="file_name")
action_type を、アクションを実行するモジュールの名前に置き換え、queue_size をキューに含めることができるメッセージの最大数に置き換えます。queue_type には、
disk
を選択するか、インメモリーキュー( direct
、Linkedlist
、または fixedarray
)のいずれかを選択します。file_name には、パスではなくファイル名のみを指定します。ログファイルを保持する新規ディレクトリーを作成する場合は、SELinux コンテキストを設定する必要があることに注意してください。例は、「rsyslog ログファイルの新しいディレクトリーの作成」 を参照してください。
例25.13 アクションキューの定義
出力アクションを、最大 10,000 個のメッセージを保持できる非同期リンクリストベースのアクションキューで設定するには、以下のようにコマンドを入力します。
action(type="omfile" queue.size="10000" queue.type="linkedlist" queue.filename="logfile")
直接アクションキューの rsyslog 7 構文は以下のとおりです。
*.* action(type="omfile" file="/var/lib/rsyslog/log_file )
複数のパラメーターがアクションキュー用 rsyslog 7 構文は以下のように記述できます。
*.* action(type="omfile" queue.filename="log_file" queue.type="linkedlist" queue.size="10000" )デフォルトの作業ディレクトリー、または最後に設定した作業ディレクトリーが使用されます。別の作業ディレクトリーを使用する必要がある場合は、アクションキューの前に以下の行を追加します。
global(workDirectory="/directory")
例25.14 新規構文を使用した単一サーバーへの転送
以下の例は、手順25.2「単一サーバーへの転送」 の手順に基づき、従来の構文と rsyslog 7 の構文の違いを示しています。
omfwd
プラグインは、UDP
または TCP
を介した転送を提供するために使用されます。デフォルトは UDP
です。プラグインは組み込まれているため、ロードする必要がありません。
/etc/rsyslog.conf
の以下の設定を使用するか、/etc/rsyslog.d/
ディレクトリーに以下の内容のファイルを作成します。
*.* action(type="omfwd" queue.type="linkedlist" queue.filename="example_fwd" action.resumeRetryCount="-1" queue.saveOnShutdown="on" target="example.com" port="6514" protocol="tcp" )
詳細は以下のようになります。
queue.type="linkedlist"
は、LinkedList インメモリーキューを有効にします。queue.filename
はディスクストレージを定義します。バックアップファイルは、前のグローバルの workDirectory ディレクティブで指定された作業ディレクトリーに example_fwd 接頭辞を付けて作成されます。action.resumeRetryCount -1
設定は、サーバーが応答しない場合に接続を再試行するときに rsyslog がメッセージを破棄しないようにします。- rsyslog がシャットダウンすると、有効になっている
queue.saveOnShutdown="on"
はインメモリーデータを保存します。 - 最後の行は受信メッセージをすべてロギングサーバーに転送します。ポートの指定は任意です。