本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
查詢
使用 lookup 以查詢資料表中的參考資料豐富查詢結果。查詢資料表包含您上傳至 Amazon CloudWatch Logs 的 CSV 資料。查詢執行時,lookup命令會將日誌事件中的欄位與查詢資料表中的欄位相符,並將指定的輸出欄位附加至結果。
針對資料擴充案例使用查詢資料表,例如將使用者 IDs映射至使用者詳細資訊、將產品代碼映射至產品資訊,或將錯誤代碼映射至錯誤描述。
建立和管理查詢資料表
您必須先建立查詢資料表,才能在查詢中使用 lookup命令。您可以從 CloudWatch 主控台或使用 Amazon CloudWatch Logs API 建立和管理查詢資料表。
建立查詢資料表 (主控台)
-
透過 https://console.aws.amazon.com/cloudwatch/
開啟 CloudWatch 主控台。 -
在導覽窗格中,選擇設定,然後選擇日誌索引標籤。
-
捲動至查詢資料表,然後選擇管理。
-
選擇建立查詢資料表。
-
輸入查詢資料表的名稱。名稱只能包含英數字元、連字號和底線。
-
(選用) 輸入描述。
-
上傳 CSV 檔案。檔案必須包含具有資料欄名稱的標頭列、使用 UTF-8 編碼,且不得超過 10 MB。
-
(選用) 指定要加密資料表資料的 AWS KMS 金鑰。
-
選擇建立。
建立查詢資料表之後,您可以在 CloudWatch Logs Insights 查詢編輯器中檢視它。選擇查詢資料表索引標籤來瀏覽可用的資料表及其欄位。
若要更新查詢資料表,請選取資料表,然後選擇動作、更新。上傳新的 CSV 檔案以取代所有現有的內容。若要刪除查詢資料表,請選擇動作、刪除。
注意
每個 每個帳戶最多可以建立 100 個查詢資料表 AWS 區域。CSV 檔案最多可達 10 MB。您也可以使用 Amazon CloudWatch Logs API 管理查詢資料表。如需詳細資訊,請參閱《Amazon CloudWatch Logs API 參考》中的 CreateLookupTable。
查詢查詢語法
命令結構
以下顯示此命令的格式。
lookuptablelookup-fieldaslog-field[,...]output-modeoutput-field[,...]
命令使用下列引數:
-
– 要使用的查詢資料表名稱。table -
– 查詢資料表中要比對的欄位。lookup-field -
– 日誌事件中要比對的欄位。相符項目完全且區分大小寫。log-field -
– 指定output-modeOUTPUT將輸出欄位新增至結果。如果日誌事件中已存在同名的欄位,則會予以覆寫。 -
– 要新增至結果的查詢資料表中的一個或多個欄位。output-field
範例:使用使用者詳細資訊來豐富日誌事件
假設您有一個包含 id 欄位的事件日誌群組,以及名為 的查詢資料表user_data,其中包含欄 id、name、 email和 department。下列查詢會使用查詢表中的使用者名稱、電子郵件和部門來豐富每個日誌事件。
fields action, status, name, email, department | lookup user_data id OUTPUT name, email, department
範例:使用查詢與彙總
您可以搭配彙總函數使用查詢輸出欄位。下列查詢會使用使用者詳細資訊豐富日誌事件,然後計算依電子郵件地址分組的事件。
fields user_id, action, username, email, department | lookup user_data user_id OUTPUT username, email, department | stats count(*) by email
範例:搭配篩選條件使用查詢
您可以根據查詢傳回的欄位來篩選結果。下列查詢會擴充日誌事件,然後篩選以僅顯示特定部門的事件。
fields user_id, action | lookup user_data user_id OUTPUT username, email, department | filter department = "Engineering"