すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:監査ログ

最終更新日:Nov 09, 2025

StarRocks は、すべての監査ログを fe/log/fe.audit.log という名前のローカルファイルに保存します。これらのログには、内部システムデータベースを介してアクセスすることはできません。監査ログ機能はデフォルトで有効になっており、AuditLoader プラグインがインストールされています。このプラグインは、ローカルファイルからログを読み取り、HTTP PUT メソッドを使用して StarRocks データベースにインポートします。これにより、データベースで実行されたすべての操作を表示および分析できます。

注意事項

  • デフォルトでは、監査ログ機能が有効になっており、_starrocks_audit_db_ という名前のデータベースと starrocks_audit_tbl という名前のテーブルが自動的に作成されます。後続のすべての監査ログはこのテーブルに保存されます。 _starrocks_audit_db_ データベースと starrocks_audit_tbl テーブルは削除しないでください。削除操作を実行すると、StarRocks Manager で SQL タスククエリ機能が正しく動作しなくなります。

  • 監査ログは動的パーティションを使用します。デフォルトでは、過去 30 日間の監査データが保存されます。dynamic_partition.start および dynamic_partition.end パラメーターの値を変更することで、監査データの保存期間を調整できます。

  • 監査ログ機能を無効にすることはできません。

機能概要

E-MapReduce(EMR)StarRocks Manager の [メタデータ管理] ページのデータディレクトリペインで、default_catalog に自動的に作成される _starrocks_audit_db_ データベースと starrocks_audit_tbl テーブルを表示できます。後続のすべての監査ログはテーブルに保存されます。image.png

starrocks_audit_tbl テーブルの作成に使用された文を表示するには、SHOW CREATE TABLE starrocks_audit_tbl; を実行します。作成ステートメントは次のとおりです。

CREATE TABLE `starrocks_audit_tbl` (
  `queryId` varchar(64) NOT NULL COMMENT "クエリの一意の ID",
  `timestamp` datetime NOT NULL COMMENT "クエリの開始時間",
  `queryTime` bigint(20) NOT NULL COMMENT "クエリの実行時間 (ミリ秒)",
  `queryType` varchar(12) NULL COMMENT "クエリのタイプ (query、slow_query、connection など)",
  `clientIp` varchar(32) NULL COMMENT "クライアントの IP アドレス",
  `user` varchar(64) NULL COMMENT "クエリのユーザー名",
  `authorizedUser` varchar(64) NULL COMMENT "ユーザーの一意の ID (user_identity)",
  `resourceGroup` varchar(64) NULL COMMENT "リソースグループの名前",
  `catalog` varchar(32) NULL COMMENT "データカタログの名前",
  `db` varchar(96) NULL COMMENT "クエリが実行されるデータベース",
  `state` varchar(8) NULL COMMENT "クエリのステータス (EOF、ERR、OK など)",
  `errorCode` varchar(512) NULL COMMENT "エラーコード",
  `scanBytes` bigint(20) NULL COMMENT "クエリによってスキャンされたバイト数",
  `scanRows` bigint(20) NULL COMMENT "クエリによってスキャンされた行数",
  `returnRows` bigint(20) NULL COMMENT "クエリによって返された行数",
  `cpuCostNs` bigint(20) NULL COMMENT "クエリによって消費された CPU 時間 (ナノ秒)",
  `memCostBytes` bigint(20) NULL COMMENT "クエリによって消費されたメモリ (バイト)",
  `stmtId` int(11) NULL COMMENT "SQL 文の増分 ID",
  `isQuery` tinyint(4) NULL COMMENT "SQL 文がクエリであるかどうかを示します。有効な値: 1 (はい) および 0 (いいえ)。",
  `feIp` varchar(128) NULL COMMENT "文を実行するフロントエンド (FE) の IP アドレス",
  `stmt` varchar(1048576) NULL COMMENT "元の SQL 文",
  `digest` varchar(32) NULL COMMENT "低速 SQL 文の指紋",
  `planCpuCosts` double NULL COMMENT "クエリ計画フェーズで消費された CPU 時間 (ナノ秒)",
  `planMemCosts` double NULL COMMENT "クエリ計画フェーズで消費されたメモリ (バイト)",
  `warehouse` varchar(96) NULL COMMENT "クエリで使用される計算グループ",
  `stmtType` varchar(8) NULL COMMENT "SQL 文のタイプ (DQL、DML、DDL、DCL、OTHER など)",
  `isFilter` tinyint(4) NULL COMMENT "SQL 文がフィルター処理されるかどうかを示します。有効な値: 1 (はい) および 0 (いいえ)。",
  `errorMsg` varchar(1048576) NULL COMMENT "エラーの詳細",
  `pendingTimeMs` bigint(20) NULL COMMENT "クエリがキューで待機する時間 (ミリ秒)",
  `candidateMVs` varchar(65533) NULL COMMENT "候補マテリアライズドビュー (MV) のリスト",
  `hitMvs` varchar(65533) NULL COMMENT "ヒットした MV のリスト"
) ENGINE=OLAP 
DUPLICATE KEY(`queryId`, `timestamp`, `queryTime`)
COMMENT "監査ログテーブル"
PARTITION BY RANGE(`timestamp`)
(PARTITION p20250909 VALUES [("0000-01-01 00:00:00"), ("2025-09-10 00:00:00")),
PARTITION p20250910 VALUES [("2025-09-10 00:00:00"), ("2025-09-11 00:00:00")),
PARTITION p20250911 VALUES [("2025-09-11 00:00:00"), ("2025-09-12 00:00:00")),
PARTITION p20250912 VALUES [("2025-09-12 00:00:00"), ("2025-09-13 00:00:00")),
PARTITION p20250913 VALUES [("2025-09-13 00:00:00"), ("2025-09-14 00:00:00")))
DISTRIBUTED BY HASH(`queryId`) BUCKETS 3 
PROPERTIES (
"compression" = "LZ4",
"datacache.enable" = "true",
"dynamic_partition.buckets" = "3",
"dynamic_partition.enable" = "true",
"dynamic_partition.end" = "3",
"dynamic_partition.history_partition_num" = "0",
"dynamic_partition.prefix" = "p",
"dynamic_partition.start" = "-30",
"dynamic_partition.time_unit" = "DAY",
"dynamic_partition.time_zone" = "Asia/Shanghai",
"enable_async_write_back" = "false",
"replication_num" = "1",
"storage_volume" = "builtin_storage_volume"
);