厳密なサイズ制約を持つ自動回転ログの生成

厳密なサイズ制約を持つ自動回転ログの生成

FreeBSDには、次の循環ログファイルをサポートするユーティリティがあります。ブロックする

特定のサービス(systemdおよびそのログの外部)に対するログの維持を防ぐことは非常に興味深いものです。

Linuxおよび/またはrsyslogで同じことを行う他の方法はありますか?

答え1

同じことを行うツールがあります。両方FreeBSDそしてLinuxは他のオペレーティングシステムの1つです。

厳密なサイズ制約を持つ自動回転ログの生成

次のツールは、指定されたディレクトリ内で必要に応じて回転できる厳密に制限されたサイズの自動回転ログファイルのセットを維持します。

使い方はとても簡単です。記録するプロセスの標準出力と標準エラーを通常の方法で標準入力にパイプします。

./記録する内容2>&1 |自転車ログ/

cyclog行にTAI64Nタイムスタンプを標準として追加します。コンテンツにすでにタイムスタンプが指定されている場合は、タイムスタンプ解除処理にはsmultilogまたは各タイムスタンプが追加されるデフォルト以外のオプションのs6-logいずれかを使用してください。svlogd

代替システムログ

あなたが言うことは、syslog現在完全に適用されていない2001パッチを使用してFreeBSD自体を修正して別の出力ファイルメカニズムを持つようにすることです。

もう1つのアプローチは、最初にsyslogを使用するのではなく、syslogデーモンを完全に置き換えてより多くのサービスを構成し、標準エラーにログを記録するように(標準エラーをロギングサービスにパイプするサービス管理下で)構成することです。

例:noshツールセットは、syslog操作を分割し、上記のロギングツールの1つの標準入力を介して供給するのに適した出力を生成するいくつかの選択肢を提供します。

  • klogdという単純なプログラムを実行するサービスです。klog-readこのログストリームを読み取り、/proc/kmsg標準エラーに書き込みます。
  • local-syslog-readというプログラムを実行するサービスsyslog-read/dev/log/run/logBSD)からデータグラムを読み取り、ログストリームを標準エラーに書き込みます。
  • udp-syslog-read上記のサービスを実行するサービスsyslog-readプログラムは UDP syslog ポートをリッスンし、ログ・ストリームを標準エラーに書き込みます。
  • local-priv-syslog-read上記のサービスを実行するサービスsyslog-readプログラムはデータグラムを読み取り、/run/logprivログ・ストリームを標準エラーに書き込みます。

追加読書

関連情報