メインコンテンツまでスキップ
バージョン: 2.1

監査ログ

Dorisは、データベース操作の監査機能を提供し、ユーザーのログイン、クエリ、およびデータベースの変更操作を記録することができます。Dorisでは、監査ログは組み込みシステムテーブルを通じて直接クエリするか、Dorisの監査ログファイルを表示することで確認できます。

監査ログの有効化

監査ログプラグインは、グローバル変数enable_audit_plugin(デフォルトで無効)を使用していつでも有効または無効にできます。例:

set global enable_audit_plugin = true;

有効にすると、Dorisは監査ログをaudit_logテーブルに書き込みます。

監査ログプラグインはいつでも無効にできます:

set global enable_audit_plugin = false;

無効にした後、Dorisはaudit_logテーブルへの書き込みを停止します。すでに書き込まれた監査ログは変更されません。

監査ログテーブルの表示

Note

バージョン2.1.8より前では、システムバージョンのアップグレードに伴い、監査ログテーブルのフィールドが増加している場合があります。アップグレード後、監査ログテーブルのフィールドに基づいてALTER TABLEコマンドを使用してaudit_logテーブルにフィールドを追加する必要があります。

Dorisバージョン2.1以降、Dorisは監査ログ機能を有効にすることで、ユーザーの行動操作を__internal_schemaデータベースのaudit_logテーブルに書き込むことができます。

監査ログテーブルは動的パーティション化されたテーブルで、デフォルトでは日単位でパーティション化され、最新の30日分のデータを保持します。ALTER TABLE文を使用してdynamic_partition.startプロパティを変更することで、動的パーティションの保持期間を調整できます。

監査ログファイル

fe.confでは、LOG_DIRがFEログの保存パスを定義します。このFEノードで実行されるすべてのデータベース操作は${LOG_DIR}/fe.audit.logに記録されます。クラスター内のすべての操作を表示するには、各FEノードの監査ログを横断する必要があります。

監査ログの設定

グローバル変数:

監査ログ変数はset [global] <var_name> = <var_value>を使用して変更できます。

変数デフォルト値説明
audit_plugin_max_batch_interval_sec60秒監査ログテーブルの最大書き込み間隔。
audit_plugin_max_batch_bytes50MB監査ログテーブルのバッチあたりの最大データ量。
audit_plugin_max_sql_length4096監査ログテーブルに記録されるSQL文の最大長。
audit_plugin_load_timeout600秒監査ログインポートジョブのデフォルトタイムアウト。

FE設定項目:

FE設定項目はfe.confディレクトリを編集することで変更できます。

設定項目説明
skip_audit_user_list特定のユーザーの操作を監査ログに記録したくない場合は、この設定を変更できます(バージョン3.0.01以降でサポート)。例えば、user1user2を監査ログ記録から除外するには:skip_audit_user_list=user1,user2