This documentation is for a release that is no longer maintained
See documentation for the latest supported version.1.3. Red Hat Developer Hub での監査ログファイルのローテーション
Red Hat Developer Hub のローテーションファイルにログを記録すると、監査ログを永続的に保存するのに役立ちます。
永続ストレージにより、Pod が再起動された後でもファイルがそのまま保持されます。監査ログファイルのローテーションにより、定期的に新しいファイルが作成され、新しいデータのみが最新のファイルに書き込まれます。
- デフォルトの設定
ローテーションファイルへの監査ロギングは、デフォルトでは無効になっています。有効にすると、デフォルトの動作は次のように変わります。
- 午前 0 時 (ローカルシステムのタイムゾーン) にログをローテーションします。
-
ログファイルの形式:
redhat-developer-hub-audit-%DATE%.log -
ログファイルは
/var/log/redhat-developer-hub/auditに保存されます。 - ログファイルの自動削除はありません。
- アーカイブされたログは gzip 圧縮されません。
- ファイルサイズの制限はありません。
監査ログは /var/log/redhat-developer-hub/audit ディレクトリーに書き込まれます。
- ログファイル名
- 監査ログファイル名の形式は次のとおりです。
redhat-developer-hub-audit-%DATE%.log
ここで、%DATE% は、auditLog.rotateFile.dateFormat で指定された形式です。ファイルのローテーションを設定する際に、ファイル名をカスタマイズできます。
- ファイルのローテーション日と頻度
サポートされている
auditLog.rotateFile.frequencyオプションは次のとおりです。-
daily: 毎日現地時間 00:00 にローテーションします -
Xm:X分ごとにローテーションします (X は 0 から 59 までの数字) -
Xh:X時間ごとにローテーションします (X は 0 から 23 までの数字) -
test: 1 分ごとに回転する -
custom:dateFormatを使用してローテーションの頻度を設定します (頻度が指定されていない場合はデフォルト)
-
frequency が Xh、Xm、または test に設定されている場合、dateFormat 設定は、指定された時間コンポーネントを含む形式で設定する必要があります。そうしないと、ローテーションが期待どおりに機能しない可能性があります。
たとえば、時間単位のローテーションには dateFormat: 'YYYY-MM-DD-HH を使用し、分単位のローテーションには dateFormat: 'YYYY-MM-DD-HH-mm を使用します。
分単位のローテーションの例:
auditLog:
rotateFile:
# If you want to rotate the file every 17 minutes
dateFormat: 'YYYY-MM-DD-HH-mm'
frequency: '17m'
auditLog:
rotateFile:
# If you want to rotate the file every 17 minutes
dateFormat: 'YYYY-MM-DD-HH-mm'
frequency: '17m'
dateFormat 設定は、logFileName の %DATE% と、frequency が custom に設定されている場合はファイルローテーション頻度の両方を設定します。デフォルトの形式は YYYY-MM-DD で、日次ローテーションを意味します。サポートされる値は Moment.js 形式 に基づいています。
frequency が custom に設定されている場合、指定された dateFormat で表される日付文字列が変更されたときにローテーションが行われます。
- アーカイブおよび削除
- デフォルトでは、ログファイルはアーカイブまたは削除されません。
- 監査ファイルのローテーションを有効にして設定する
- Developer Hub の管理者は、監査ログのファイルローテーションを有効にし、ファイルログのロケーション、名前の形式、頻度、ログファイルのサイズ、保持ポリシー、アーカイブを設定できます。
監査ログファイルのローテーション設定の例
- 1
- 監査ログファイルのローテーションを使用するには、
enabledをtrueに設定します。デフォルトではfalseに設定されます。 - 2
- ログファイルへの絶対パス。指定されたディレクトリーが存在しない場合は、自動的に作成されます。
- 3
- デフォルトのログファイル名の形式。
- 4
- 頻度が指定されていない場合、毎日現地時間の 00:00 にデフォルトのファイルローテーションが実行されます。
- 5
- デフォルトの日付形式。
- 6
dateFormatにローカル時間ではなく UTC 時間を使用するには、utcをtrueに設定します。- 7
- 監査ログの最大ファイルサイズの上限を設定します。この例では、最大サイズは 100 m です。
- 8
- ファイル数 (たとえば
14) に設定すると、ログファイルが 14 個を超える場合に最も古いログが削除されます。日数 (たとえば5d) に設定すると、5 日より古いログが削除されます。 - 9
gzipを使用してローテーションされたログをアーカイブし、圧縮します。デフォルト値はfalseです。
-
デフォルトでは、ログファイルはアーカイブまたは削除されません。ログの削除が有効になっている場合、ディレクトリーに
.<sha256 hash>-audit.jsonが生成されます。このディレクトリーには、生成されたログを追跡するためにログが置かれています。ディレクトリーに含まれていないログファイルは、自動的に削除されません。 -
バックエンドが起動するたびに新しい
.<sha256 hash>-audit.jsonファイルが生成され、現在のバックエンドで引き続き使用されているものを除き、以前の監査ログは追跡されなくなったり、削除されたりします。