對錶格儲存執行個體中的資源進行操作時,系統會自動採集審計日誌並建立索引。您可以在審計日誌頁面對採集到的日誌進行即時查詢與分析。
前提條件
已開通日誌審計功能。具體操作,請參見開通審計日誌。
操作步驟
進入審計日誌頁面。
在頂部功能表列,選擇地區。
在左側導覽列,單擊審計日誌。
在審計日誌頁面,輸入查詢和分析語句。
查詢和分析語句由查詢語句和分析語句構成,格式為
查詢語句|分析語句
。例如* | SELECT TableName, count(*) AS OperationCount GROUP BY TableName
。查詢語句和分析語句以豎線(|)分割,查詢語句的文法為Log Service的專有文法。查詢語句可單獨使用,分析語句必須與查詢語句一起使用,即分析功能是基於查詢結果或全量資料進行的。
語句類型
說明
查詢語句
查詢語句用於指定日誌查詢時的過濾規則,返回合格日誌。更多資訊,請參見查詢文法。
查詢語句可以為關鍵詞、數值、數值範圍、空格、星號(*)等。 如果為空白格或星號(*),則表示無過濾條件。
分析語句
分析語句用於對查詢結果或全量資料進行計算和統計。更多資訊,請參見彙總函式。
常用樣本如下:
樣本一:查詢使用最多的Top 5介面。
重要由於通過Table Store控制台執行功能操作時,系統會自動產生探測是否為建立二級索引操作的日誌,因此查詢操作相關資訊時需要排除探測日誌資訊,只需使用
TableName != '$$'
條件過濾探測日誌即可。* | SELECT API,COUNT(API) as count where TableName != '$$' group by API order by count desc limit 5
樣本二:查詢對錶進行刪除的調用者以及調用者刪除的表資訊。
* | SELECT TableName,InvokerUid,time where API = 'DeleteTable'
樣本三:查詢所有對exampleinstance執行個體下exampletable表進行操作的調用者資訊以及調用者執行的操作。
* | SELECT API,InvokerUid,from_unixtime(time/1000000,'Asia/shanghai') as time where InstanceName = 'exampleinstance' and TableName = 'exampletable'
單擊最近15分鐘,設定查詢的時間範圍。
您也可以在分析語句中通過
__time__
欄位指定時間範圍(閉合區間),例如* | SELECT * FROM log WHERE __time__>1558013658 AND __time__< 1558013660
。通過這兩種方式設定的時間範圍,其精度都為分鐘, 查詢和分析結果存在1分鐘以內的誤差。如果您需要精確到秒,需要在分析語句中指定時間時,使用from_unixtime函數或to_unixtime函數轉換下時間格式。
系統會顯示查詢結果,如下圖所示。
說明不同查詢語句的返回結果顯示不同,請以實際顯示為準。
您可以查看審計日誌的長條圖資訊、原始日誌、統計圖表、日誌聚類資訊等。
更多操作
配置預設查詢設定
系統預設首次進入頁面會啟用查詢功能且預設查詢15分鐘內的日誌,您可以根據需要修改預設查詢設定。
在審計日誌頁面,單擊表徵圖。
在查詢設定懸浮框,根據需要關閉或者開啟首次進入頁面是否啟用查詢開關以及自訂查詢時間。
單擊確定。
掃描日誌
掃描(Scan)功能支援免配置索引進行目標欄位的掃描,用於查詢和分析相關日誌。更多資訊,請參見掃描(Scan)日誌。
在審計日誌頁面,單擊表徵圖,開啟掃描功能。
在輸入框中,輸入掃描語句。
掃描語句格式為
查詢語句 | WHERE bool_expression
或查詢語句|分析語句(標準SQL)
。單擊最近15分鐘,設定掃描的時間範圍。
為查詢結果配置警示監控規則。
警示監控規則用於監控日誌查詢和分析結果。具體操作,請參見為日誌配置警示監控規則。