全部產品
Search
文件中心

E-MapReduce:審計日誌

更新時間:Sep 20, 2025

StarRocks將所有審計日誌儲存在本地檔案fe/log/fe.audit.log中,並且這些日誌無法通過系統內部資料庫訪問。審計日誌功能預設啟用,並將安裝AuditLoader外掛程式,該外掛程式能夠從本地檔案中讀取日誌,並通過HTTP PUT方法將其匯入StarRocks資料庫,方便您查看並分析資料庫中發生的所有操作。

注意事項

  • 審計日誌功能預設開啟,並會自動建立資料庫 _starrocks_audit_db_ 及資料表starrocks_audit_tbl。後續所有的審計日誌將會儲存於該表中。請勿刪除 _starrocks_audit_db_ 資料庫及starrocks_audit_tbl資料表,刪除後將導致Manager中SQL任務查詢功能無法正常使用。

  • 審計日誌使用了動態分區的方式,預設儲存30天的審計資料。您可以根據務需求調整審計資料的儲存時間,即修改dynamic_partition.startdynamic_partition.end的參數值。

  • 審計日誌功能不支援關閉。

功能介紹

在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 "使用者唯一標識,既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"
);