Helix Coreサーバ管理者ガイド (2020.1)

構造化ログファイルのローテーション

設定済みのserverlog.file.N ファイルには、それぞれ対応する構成可能変数のserverlog.maxmb.Nserverlog.retain.N が関連付けられています。 設定されたサーバログタイプごとに、これらの構成可能変数はローテーション前のログファイルの最大サイズ(MB単位)と、サーバに保持されるローテーション済みのサーバログの数を制御します。

構造化ログファイルはチェックポイント作成時、ジャーナル作成時、関連するserverlog.maxmb.Nの制限超過時(設定されている場合)、 p4 logrotateコマンド実行時に自動的にローテーションします。 構成可能変数dm.rotatelogwithjnl0に設定することで、ジャーナルローテーション後のログのローテーションを無効にすることができます。 頻繁にジャーナルローテーションが行われ、それとは別のスケジュールでログのローテーションを実施したい場合、この動作を無効にすることで可能になります。

serverlog.counter.N 構成可能変数を使用して、構造化ログファイルのローテーション回数を追跡するカウンタを作成することができます。 例えば、次のコマンドでmyErrorsCountという名前のローテーションカウンタを作成できます。

$ p4 configure set serverlog.counter.3=myErrorsCount

ログファイルerrors.csvがローテーションするたびに、カウンタの値が1増加します。 また、その時点までに増加したカウンタの値を反映するようにログファイルの名前が変わります。 つまり、myErrorsのカウンタが7の場合、errors.csvファイルの名前はerrors-6.csvとなります。

先の表に記載された各ファイルに対して、カウンタを作成することができます。 システム予約のカウンタ名、changemaxCommitChangejobjournaltraitsupgradeは使用しないでください。

p4 logtailコマンドは、ログの追記を行う際にカウンタの現在の値を返します。 このコマンドは、(ログ内の終了オフセットの値と共に)出力の終了時点でのログのサイズも返します。 p4 logtailがログの最後まで読み込んだ場合、サイズとオフセット値は一致します。 カウンタをセキュリティ監視ツールで使用することができます。また、ログファイルのスキャンプロセスでp4 logtailコマンドを使用して疑わしいアクティビティを監視することができます。