本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
CloudWatch 警示
此解決方案會部署兩個 CloudWatch 警示,以監控需要注意的操作條件。根據預設,這些警示未設定通知動作。我們建議為每個警示訂閱 Amazon SNS 主題,以便操作員在發生問題時立即收到通知。
訂閱警示通知
若要在警示觸發時接收通知:
-
搜尋字首為堆疊名稱的警示 (例如
my-stack-OrphanCleanupFailure)。 -
選取警示,然後選擇編輯。
-
在通知下,選擇新增通知。
-
選取或建立具有您偏好通知端點 (電子郵件、SMS 或 Lambda) 的 SNS 主題。
-
選擇 Update alarm (更新警示)。
針對每個警示重複此步驟。
OrphanCleanupFailure
| 屬性 | Value |
|---|---|
|
Alarm name (警示名稱) |
|
|
指標 |
|
|
Threshold |
>= 5 分鐘內 1 次失敗 |
|
處理遺失的資料 |
違反 |
此警示監控的內容:解決方案使用三層防禦來防止 ECS 服務失控:
-
第 1 層:自動化錯誤處理 — 測試協同運作工作流程包含每個步驟的錯誤處理。如果在佈建、穩定或執行期間有任何失敗,工作流程會自動觸發清除以耗盡和刪除 ECS 服務。
-
第 2 層:執行失敗偵測 — 如果協同運作工作流程本身意外結束 (例如,由於略過正常錯誤處理的逾時或內部錯誤),EventBridge 規則會偵測失敗,並獨立觸發測試中每個區域的清除。
-
第 3 層:每小時孤立清理 — 排程程序每小時執行一次,掃描與任何作用中測試無關的 ECS 服務,並強制刪除它們。這是上次重新排序的安全網 — 如果第 1 層和第 2 層都失敗,洩漏的服務仍會在一小時內移除。如果孤立清除程序本身失敗,此警示會觸發。
為什麼重要:孤立的 ECS Fargate 服務會繼續執行並在 DLT 主控台中沒有可見性的情況下產生費用。如果沒有通知訂閱,運算子只會在帳單上出現意外成本時發現問題。
建議的回應:當此警示觸發時,導覽至 Amazon ECS 主控台
MetricFilterCount
| 屬性 | Value |
|---|---|
|
Alarm name (警示名稱) |
|
|
指標 |
|
|
Threshold |
>= 90 |
|
處理遺失的資料 |
未違反 |
此警示監控的內容:解決方案會在 ECS 日誌群組上動態建立 CloudWatch 指標篩選條件,以在測試執行期間支援即時指標。AWS 會將每個日誌群組限制為 100 個指標篩選條件。此警示會在用量達到該限制的 90% 時觸發。
為什麼重要:如果達到限制,新的負載測試執行將會失敗。
建議的回應:刪除不再需要的測試案例。刪除測試案例時,解決方案會移除相關聯的指標篩選條件,並釋放新測試的容量。