Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

23.4.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 を選択するか、インメモリーキュー (directlinkedlist、または fixedarray) のいずれかを選択します。file_name には、パスではなくファイル名のみを指定します。ログファイルを保持する新規ディレクトリーを作成する場合は、SELinux コンテキストを設定する必要があることに注意してください。例については、「rsyslog ログファイルの新しいディレクトリーの作成」 を参照してください。

例23.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")

例23.14 新規構文を使用した単一サーバーへの転送

以下の例は、「 単一サーバーへの転送 」の手順で、従来の sysntax と 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" はインメモリーデータを保存します。
  • 最後の行は受信メッセージをすべてロギングサーバーに転送します。ポートの指定は任意です。