rsyslog ログはキューファイルに保存されません。

rsyslog ログはキューファイルに保存されません。

私はそれを使用していますrsyslog 8.40キューを使用してログ配布を設定しようとしています。

次の設定を使用して転送サーバーにログを送信できます。

   action(type="omfwd" target="host1" port="10515" protocol="udp" )
   action(type="omfwd" target="host2" port="10514" protocol="udp" )

これで、ターゲットサーバーがダウンするたびにログが失われないように、キューにログを保持したいと思います。

そのために、私は次のようなことをしています。

action(type="omfwd" target="host1" port="10515" protocol="udp"
               queue.spoolDirectory="/var/lib/rsyslog"
               queue.type="LinkedList"
               queue.filename="host1.queue"
               action.resumeRetryCount="-1"
               queue.saveOnShutdown="on"
)

action(type="omfwd" target="host2" port="10514" protocol="udp"
           queue.type="LinkedList"
           queue.filename="host2.queue"
           action.resumeRetryCount="-1"
           queue.saveOnShutdown="on"
)

転送サーバーをオフにすると、キューファイルにログは生成されません。次の設定があるので、ログを/var/lib/rsyslogに表示したいと思います。

global(
    net.enableDNS="off"
    preserveFQDN="on"
    umask="0004"
    workDirectory="/var/lib/rsyslog"
)

JFTR、

  • 構成に構成エラーがありません。
  • rsyslogd でデバッグをイネーブルにしましたが、これによりエラーは発生しません。

答え1

私はこの動作の原因を見つけました。

から引用ここ

物理スプール・ファイルは、リモート・サーバーがシャットダウンされ、メモリー・キューにスペースがなくなった場合にのみ生成されます。デフォルトでは、何百ものメッセージがデフォルトでメモリに保存される可能性があるため、リモートサーバーで一時的なエラーが発生してもディスクファイルは生成されません。

関連情報