View a markdown version of this page

CloudWatch 警示 - AWS 上的分散式負載測試

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

CloudWatch 警示

此解決方案會部署兩個 CloudWatch 警示,以監控需要注意的操作條件。根據預設,這些警示未設定通知動作。我們建議為每個警示訂閱 Amazon SNS 主題,以便操作員在發生問題時立即收到通知。

訂閱警示通知

若要在警示觸發時接收通知:

  1. 開啟 CloudWatch Alarms 主控台

  2. 搜尋字首為堆疊名稱的警示 (例如 my-stack-OrphanCleanupFailure)。

  3. 選取警示,然後選擇編輯

  4. 通知下,選擇新增通知

  5. 選取或建立具有您偏好通知端點 (電子郵件、SMS 或 Lambda) 的 SNS 主題。

  6. 選擇 Update alarm (更新警示)。

針對每個警示重複此步驟。

OrphanCleanupFailure

屬性 Value

Alarm name (警示名稱)

{StackName}-OrphanCleanupFailure

指標

OrphanCleanupFailures distributed-load-testing命名空間中的

Threshold

>= 5 分鐘內 1 次失敗

處理遺失的資料

違反

此警示監控的內容:解決方案使用三層防禦來防止 ECS 服務失控:

  • 1 層:自動化錯誤處理 — 測試協同運作工作流程包含每個步驟的錯誤處理。如果在佈建、穩定或執行期間有任何失敗,工作流程會自動觸發清除以耗盡和刪除 ECS 服務。

  • 2 層:執行失敗偵測 — 如果協同運作工作流程本身意外結束 (例如,由於略過正常錯誤處理的逾時或內部錯誤),EventBridge 規則會偵測失敗,並獨立觸發測試中每個區域的清除。

  • 3 層:每小時孤立清理 — 排程程序每小時執行一次,掃描與任何作用中測試無關的 ECS 服務,並強制刪除它們。這是上次重新排序的安全網 — 如果第 1 層和第 2 層都失敗,洩漏的服務仍會在一小時內移除。如果孤立清除程序本身失敗,此警示會觸發。

為什麼重要:孤立的 ECS Fargate 服務會繼續執行並在 DLT 主控台中沒有可見性的情況下產生費用。如果沒有通知訂閱,運算子只會在帳單上出現意外成本時發現問題。

建議的回應:當此警示觸發時,導覽至 Amazon ECS 主控台,識別 DLT 叢集中與執行中測試不對應的服務,並手動將其刪除。

MetricFilterCount

屬性 Value

Alarm name (警示名稱)

{StackName}-MetricFilterCount-Alarm

指標

MetricFilterCount distributed-load-testing命名空間中的

Threshold

>= 90

處理遺失的資料

未違反

此警示監控的內容:解決方案會在 ECS 日誌群組上動態建立 CloudWatch 指標篩選條件,以在測試執行期間支援即時指標。AWS 會將每個日誌群組限制為 100 個指標篩選條件。此警示會在用量達到該限制的 90% 時觸發。

為什麼重要:如果達到限制,新的負載測試執行將會失敗。

建議的回應:刪除不再需要的測試案例。刪除測試案例時,解決方案會移除相關聯的指標篩選條件,並釋放新測試的容量。