Fess検索ログがrsyslog再起動後にのみSyslogサーバへ転送される

Fess検索ログのSyslog転送について質問です。

Fessで検索を実施すると、以下のログファイルには正常に出力されることを確認しています。

/opt/fess-14.19.2/logs/searchlog.log

また、rsyslogのimfile機能を利用してSyslogサーバ(WinSyslog)へ転送する設定を行っています。

しかし、Fess検索ログはSyslogサーバへ転送されません。

一方で、以下のコマンドを実行した直後は転送されることを確認しています。

sudo systemctl restart rsyslog

ただし、その後に再度Fess検索を実施してもログは転送されず、rsyslog再起動直後のみ転送される状態です。

【確認済み事項】

・searchlog.logへのログ出力は正常
tail -f /opt/fess-14.19.2/logs/searchlog.log でログ追記を確認可能
sudo rsyslogd -N1 の結果は正常(設定エラーなし)
・imfile-stateファイル生成を確認済み
・rsyslogプロセスがsearchlog.logをオープンしていることを確認済み
・OSログ(useradd、userdel、sudo実行、loggerコマンド等)は、rsyslog再起動不要でSyslogサーバへ正常に転送されることを確認済み

【現在の設定】

module(load=“imfile”)

input(

type=“imfile”

File=“/opt/fess-14.19.2/logs/searchlog.log”

Tag=“fess-search”

PersistStateInterval=“200”

reopenOnTruncate=“on”

)

*.* @SyslogサーバのIP:514

【利用環境】

Fess:14.19.2

Java:OpenJDK 17.0.19

【質問】

Fess検索ログのみ、rsyslog再起動後にしかSyslogサーバへ転送されません。

OSログは再起動不要で正常に転送されるため、imfileによるsearchlog.log監視に起因する事象と考えています。

rsyslog再起動を実施せずにFess検索ログを継続してSyslogサーバへ転送するために、確認すべき設定や推奨設定がありましたらご教示いただけますでしょうか。

よろしくお願いいたします。

Fess側では searchlog.log は Log4j2 の RollingFile で出力されています。
searchlog.log はローリング対象なので、まずは rsyslog の imfile を polling モードにして、継続的に転送されるか確認してみるとかでしょうか。

1 Like

ご返信ありがとうございます!
imfileが原因でした。

大変助かりました。ありがとうございます。