本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
主控台中的 Amazon ECS 事件擷取
Amazon ECS 主控台提供事件擷取功能,可透過 EventBridge 將服務動作和任務狀態變更等 Amazon ECS 產生的事件儲存到 Amazon CloudWatch Logs。此功能包含查詢介面,具有用於監控和故障診斷的篩選功能。
事件提供有關您的服務部署、服務、任務和執行個體如何運作的詳細資訊。您可以使用此資訊對任務或服務部署失敗進行故障診斷。
當您開啟事件擷取時,您可以存取 Amazon ECS 在您選擇的保留期間內產生的所有事件,延伸超過最後 100 個未篩選事件或僅顯示 1 小時的已停止任務的原生限制。
運作方式
事件擷取使用 EventBridge 將事件儲存在預先定義的 Amazon CloudWatch Logs 日誌群組中。Amazon ECS 主控台提供預先建置的查詢和篩選選項,並將事件相互關聯,以直覺的形式提供任務生命週期。
您可以查詢和擷取下列類型的事件:
服務動作事件 - 協助識別佈建或資源分配問題
任務生命週期事件 - 協助識別任務或容器無法啟動或停止執行的原因
Amazon ECS 主控台可讓您一鍵設定事件擷取,並提供常用的查詢和篩選,而不需要您學習查詢語言或在多個主控台之間導覽。
Event types (事件類型)
事件擷取會將所有 Amazon ECS 產生的事件儲存在下列類別中:
- 任務狀態變更事件
容器停止和其他終止事件,可用於疑難排解或監控任務生命週期時間表。
- 服務動作
像是達到穩定狀態、任務置放失敗或資源限制等事件。
- 服務部署狀態變更
事件,例如進行中、已完成或失敗的部署,由斷路器和復原設定觸發,以監控服務部署的狀態。
- 容器執行個體狀態變更
對於 EC2 和 Amazon ECS 受管執行個體上的工作負載,事件會顯示連線和中斷連線狀態。
日誌群組組態
當您開啟事件擷取時,Amazon ECS 會自動建立下列資源:
名為 的 Amazon CloudWatch Logs 日誌群組
/aws/events/ecs/containerinsights/${clusterName}/performanceEventBridge 規則可從
aws.ecs來源擷取所有事件,並將其轉送至日誌群組
您可以為日誌群組指定從 1 天到 10 年的保留期。預設保留期間為 7 天。
考量事項
使用事件擷取時,請考慮下列事項:
事件擷取會儲存所有事件以簡化操作。您無法在 Amazon ECS 主控台中設定規則,以僅擷取特定事件。
Amazon ECS 主控台提供預先定義的查詢條件。對於進階查詢,請使用 Amazon CloudWatch Logs Logs Insights 直接查詢日誌群組。
Amazon ECS 主控台不提供即時結尾功能。直接將 Amazon CloudWatch Logs 用於即時結尾。
當您停用事件擷取時,會刪除 EventBridge 規則。
事件擷取會產生 EventBridge 資料擷取、Amazon CloudWatch Logs 儲存和查詢執行的額外費用。
如需 EventBridge 定價的資訊,請參閱 EventBridge 定價
。 如需 CloudWatch 定價的相關資訊,請參閱 CloudWatch 定價
。
事件型疑難排解
使用 Amazon ECS 產生的事件來回答常見的疑難排解問題。
任務失敗分析
您可以檢閱STOPPED任務狀態變更事件、停止代碼和容器結束代碼,以判斷任務在執行時無法啟動或失敗的原因。
您可以檢閱置放失敗的服務動作事件和資源限制資訊,以判斷任務因資源限制而無法置放的原因
常見的任務失敗案例
最常見的異常任務失敗與下列問題有關:
CI/CD 服務部署失敗
自動擴展失敗
任務重新平衡失敗
異常容器結束,例如out-of-memory(OOM) 錯誤
異常任務失敗會產生具有 EssentialContainerExited或 TaskFailedToStart 停止程式碼STOPPED的任務狀態變更事件。您可以依這些停止代碼進行篩選,以檢查容器執行和停止行為。