説明
- V4.3.x系では、この構成パラメータはV4.3.3バージョンから導入されました。
- V4.2.x系では、この構成パラメータはV4.2.4バージョンから導入されました。
機能の概要
audit_log_pathは監査ログの出力ディレクトリを設定します。
適用対象
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity Editionは、現在監査機能をサポートしていません。
権限要件
パラメータの確認
sysテナントとすべてのユーザーテナントはSHOW PARAMETERSステートメント、またはGV$OB_PARAMETERSビューを使用してこのパラメータを確認できます。パラメータの変更
sysテナントとユーザーテナントはALTER SYSTEM SETステートメントを使用してこのパラメータを変更できます。
プロパティの説明
プロパティ |
説明 |
|---|---|
| パラメータタイプ | String |
| デフォルト値 | ""、デフォルトは空文字列で、デフォルトのパス ${WORK_DIR}/audit を使用します。 |
| 値の範囲 |
|
| 変更は可能か | はい。ALTER SYSTEM SET ステートメントを使用して変更できます。 |
| OBServerノードの再起動が必要か | 不要です。設定は即時に反映されます。 |
使用方法
ローカルストレージの場合
同一テナント内で、異なるOBServerノードの監査ログが異なるディレクトリに出力されます。同一クラスタ内で、異なるテナントの出力パスを同じものに設定した場合、ディレクトリ構造に
tenant_idの階層が追加されます。ローカルの出力ディレクトリ構造は以下のようになります:- ${audit_log_path} - tenant_id_1 - ip1:port1 - audit.log.20231031080646317[.zst] - audit.log.20231031084835263[.zst] - audit.log - ip2:port2 - audit.log.20231031072457838[.zst] - audit.log.20231031093023607[.zst] - audit.log.20231031101213751[.zst] - audit.log - tenant_id_2クラウドストレージの場合
OceanBaseデータベースは、複数のOBServerノードが同一の
oss/nfsディレクトリに出力する構成をサポートしています。ただし、ファイルの並行追記におけるパフォーマンスや、その後の圧縮・暗号化処理ではローカルファイルに対する操作が必要となる点を考慮し、アーカイブ済みのファイルのみがクラウドストレージに保存されます。アクティブなログの追記は、各OBServerノードのローカルにあるauditディレクトリ内のファイルに対して行われます。このため、下流のシステムがクラウドストレージ上の監査ログを利用する際、最新のログレコードの一部はまだOBServerノードのローカルにしか存在せず、下流からは参照できません。
設定例
監査ログの出力ディレクトリを
file:///logs/auditに設定します。obclient> ALTER SYSTEM SET audit_log_path='file:///logs/audit';監査ログの出力ディレクトリを
oss://ob-audit/audit/?host=$OSS_HOST&access_id=$OSS_ACCESS_ID&access_key=$OSS_ACCESS_KEYに設定します。obclient> ALTER SYSTEM SET audit_log_path = 'oss://ob-audit/audit/?host=$OSS_HOST&access_id=$OSS_ACCESS_ID&access_key=$OSS_ACCESS_KEY';