systemdログを専用ログサーバーに送信するにはどうすればよいですか?

systemdログを専用ログサーバーに送信するにはどうすればよいですか?

以前は、syslog-ngまたはrsyslogを使用して、システムログをネットワークの他の場所にある専用のログサーバーに送信しました。ただし、systemdを使用すると、以前に/var/log/secureまたは/var/log/auth.log(デプロイメントによって異なります)に保存されていたsudoコマンドなどのエントリがログに保存されます。

ForwardToSyslog=yes/etc/systemd/journald.confに以前の方法で戻るオプションがあることを知っていますが、これはエレガントではない回帰のようです。 systemdには、Loggrythm、ELK、または同様のセントラルロギングサーバーにログを送信する方法が組み込まれていますか?それともForwardToSyslog=yesこれを行う正しい方法はありますか?

ベストアンサー1

systemdがそうですいいえメッセージをsyslogサーバーに転送する方法が組み込まれています。Red Hat 公式おすすめこのimjournalモジュールは、/etc/rsyslog.confで次のように設定して、rsyslogがログを読み込んで中央ロギングサーバーに転送できるようにするために使用されます。

module(load="imjournal"
    PersistStateInterval="number_of_messages"
    StateFile="path"
    ratelimit.interval="seconds"
    ratelimit.burst="burst_number"
    IgnorePreviousMessages="off/on")

これらのオプションの使用法の詳細を提供します。

  • そしてメッセージ数では、ログデータを保存する頻度を指定できます。これは、指定されたメッセージ数に達するたびに発生します。

  • 変えるステータスファイルへのパスです。このファイルは、最後に処理されたジャーナル項目を追跡します。

  • そして第二では、速度制限間隔の長さを設定します。この間隔内で処理されるメッセージの数は、Burst_numberで指定された値を超えることはできません。デフォルト設定は600秒ごとに20,000メッセージです。 Rsyslog は、指定された時間範囲内で最大のバースト後に発生するメッセージを削除します。

  • そして前のメッセージを無視ログの現在のメッセージを無視し、ステータスファイルが指定されていない場合は、使用される新しいメッセージのみをインポートできます。デフォルト設定はオフです。この設定がオフになっていてステータスファイルが存在しない場合は、以前のrsyslogセッションで処理されていても、ログ内のすべてのメッセージが処理されます。

おすすめ記事