View a markdown version of this page

使用 CloudWatch Logs Insights 監控 - AWS 上的分散式負載測試

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 CloudWatch Logs Insights 監控

此解決方案會部署四個 CloudWatch Logs Insights 已儲存的查詢,這些查詢會顯示在 CloudWatch Logs Insights 主控台的已儲存查詢下。這些查詢可讓您查看測試協同運作、錯誤、任務失敗和孤立清理,而無需撰寫自訂查詢。

每個查詢名稱都包含堆疊名稱和區域,用於跨多個部署進行識別。例如:DLT - Test Timeline [my-stack us-east-1]

使用已儲存的查詢

若要執行已儲存的查詢:

  1. 開啟 CloudWatch Logs Insights 主控台

  2. 在左側面板中,展開已儲存的查詢

  3. 選取字首為 的查詢DLT -

  4. 如果查詢包含預留位置值,例如 REPLACE_WITH_TEST_RUN_ID,請將其取代為測試結果中的實際測試執行 ID。

  5. 選擇 Run query (執行查詢)。

DLT - 測試時間軸

顯示跨所有協同運作 Lambda 函數的單一測試執行的完整生命週期。使用此查詢來追蹤從測試建立到完成的事件序列。

屬性 Value

欄位

@timestamp, logEvent, message, region, error

篩選條件

testRunId = "REPLACE_WITH_TEST_RUN_ID"

Sort

@timestamp asc

限制

500

REPLACE_WITH_TEST_RUN_ID 將 取代為您想要調查的測試執行 ID。

DLT - 測試錯誤

顯示跨 Lambda 函數和 ECS 任務的單一測試執行的所有錯誤層級項目。當測試失敗或產生非預期的結果時,使用此查詢來識別根本原因。

屬性 Value

欄位

@timestamp, logEvent, message, region, taskId, error

篩選條件

testRunId = "REPLACE_WITH_TEST_RUN_ID" and level = "ERROR"

Sort

@timestamp asc

REPLACE_WITH_TEST_RUN_ID 將 取代為您想要調查的測試執行 ID。

DLT - 任務失敗

顯示具有停止代碼和故障分類的個別 ECS 任務失敗。使用此查詢來了解為什麼特定 Fargate 任務在測試期間停止。

屬性 Value

欄位

@timestamp, testId, testRunId, region, taskArn, stopCode, exitCode, stopCategory, stoppedReason

篩選條件

logEvent = "TASK_FAILURE_DETECTED"

Sort

@timestamp desc

限制

50

此查詢不需要測試執行 ID,它會顯示所有測試執行中所有最近的任務失敗。

DLT - 孤立清除

顯示孤立 ECS 服務偵測的歷史記錄。使用此查詢來驗證每小時孤立清除程序是否正在尋找和移除捨棄的服務。

屬性 Value

欄位

@timestamp, logEvent, message, region, cluster, orphanCount, orphanTestIds

篩選條件

logEvent = "ORPHAN_DETECTED"

Sort

@timestamp desc

限制

50