Lindorm基於阿里雲SLS推出審計日誌,支援精準分析資料操作與過濾篩選。本文介紹開通及查詢方法。
前提條件
前提條件
注意事項
Lindorm執行個體、單節點執行個體暫不支援SQL審計日誌功能。
如需通過阿里雲子帳號開通審計日誌功能,則需要為子帳號授予AliyunLogFullAccess許可權。如何授權,請參見管理RAM使用者的許可權。
開通審計日誌後,系統預設在Lindorm執行個體所屬的地區中建立Project和專屬Logstore。
Project的名稱格式為
aliyun-product-阿里雲帳號ID-地區ID。專屬Logstore的名稱為
lindorm-sql-audit-log。
專屬Logstore不支援寫資料、修改索引、刪除索引、修改屬性等操作,但在查詢、統計、警示等功能上沒有限制。
Log ServiceSLS需處於可用狀態,否則全量日誌分析功能無法使用。
審計日誌類型
Lindorm審計日誌支援記錄以下SQL操作:
DDL:包括CREATE DATABASE、CREATE TABLE、ALTER TABLE、DROP TABLE等。
DML:包括INSERT、UPSERT、DELETE、UPDATE等。
DQL:包括SELECT等。
通常情況下,DML和DQL操作較多,記錄此類審計日誌可能會影響執行個體的效能和穩定性。因此,寬表引擎預設僅記錄DDL類型的SQL審計日誌。如需開啟DML和DQL審計日誌,可以通過系統變數AUDIT_LEVEL來調整審計日誌的層級。詳細操作,請參見修改審計記錄層級。
開通SQL審計日誌
費用說明
審計日誌的費用由Log ServiceSLS根據審計日誌的儲存空間和儲存時間長度按量收取。相關收費的詳細內容請參見Log Service詳細價格。
操作步驟
登入Lindorm管理主控台。
在頁面左上方,選擇執行個體所屬的地區。
在实例列表頁,單擊目標執行個體ID或者目標執行個體所在行操作列的管理。
在左側導覽列,單擊宽表引擎。
單擊SQL 审计日志頁簽,點擊开启审计日志。
在开通SQL审计日志對話方塊,單擊确认。
查詢SQL審計日誌
日誌保留時間長度
Lindorm審計日誌預設的儲存時間為30天,您可在控制台修改審計日誌儲存期限。當日誌儲存時間達到資料儲存期限後,日誌將被刪除。
修改審計日誌儲存期限
登入Lindorm管理主控台。
在頁面左上方,選擇執行個體所屬的地區。
在实例列表頁,單擊目標執行個體ID或者目標執行個體所在行操作列的管理。
在左側導覽列,選擇,點擊右上方修改保存期限,在彈窗中修改儲存時間長度。
點擊确认修改。
查看審計日誌
登入Lindorm管理主控台。
在頁面左上方,選擇執行個體所屬的地區。
在实例列表頁,單擊目標執行個體ID或者目標執行個體所在行操作列的管理。
在左側導覽列,選擇,查看Lindorm寬表的審計日誌詳情。
說明預設顯示最近15分鐘內的日誌詳情,您也可以根據需求修改需要查詢的時間段。
(可選)在原始日誌頁簽下,單擊目標索引欄位,可根據該欄位篩選日誌。進入 SQL 審計日誌 頁面後,在 原始日誌 頁簽下,左側 索引欄位 面板可按 db、clientIp、fail 等欄位篩選日誌;右側展示每條日誌的詳細欄位,包括
sqlType、user、affectRows、checkRows、clientIp、clientPort、connectionId等。例如,選擇 db 欄位下的 default 可過濾出目標資料庫的審計記錄。
審計欄位說明
欄位名 | 說明 |
instance_id | Lindorm執行個體ID。 |
reqId | 請求ID,用於標識該Action Trail記錄的唯一識別碼。 |
user | 該Action Trail記錄對應的使用者名稱。 |
fail | SQL語句是否執行成功。 |
reason | 該Action Trail記錄對應的錯誤資訊,僅當該操作出現錯誤時才會記錄該資訊。 |
connectionId | 使用者所在串連的標識符。 |
protocol | 用戶端協議類型,Avatica或MySQL。 |
db | 當前選擇的資料庫名。 |
sql | 執行的SQL語句。 |
sqlType | SQL類型。包括 |
params | 傳入執行SQL語句的參數,多個參數使用半形逗號(,)分割,用於綁定參數的查詢情境。 |
sqlTime | SQL開始執行的時間。 |
responseTime | 回應時間。單位:毫秒(ms)。 |
checkRows | 掃描的行數,表示查詢時從資料存放區引擎返回的行數。 |
affectRows | SQL執行返回的行數。如果是增刪改操作,affectRows表示影響的行數。如果是查詢語句,affectRows表示返回的行數。 |
dbVersion | 當前已連線的服務端SQL版本。 |
hostname | 服務端節點主機名稱。 |
clientIp | 用戶端IP地址。 |
clientPort | 用戶端連接埠。 |
修改審計記錄層級
您可以通過ALTER SYSTEM語句修改AUDIT_LEVEL參數的值,調整審計日誌的輸出層級。
AUDIT_LEVEL參數取值如下:
0:輸出DDL日誌。
1:輸出DDL、DML日誌。
2:輸出DDL、DQL日誌。
3:輸出DDL、DML、DQL日誌。
樣本
修改審計記錄層級,輸出DDL和DQL日誌。
ALTER SYSTEM SET AUDIT_LEVEL = 2;結果驗證
您可以執行SHOW SYSTEM VARIABLES LIKE 'AUDIT_LEVEL';語句查看是否修改成功。
更多關於系統變數的使用說明,請參見ALTER SYSTEM。