主控台中的 Amazon ECS 事件擷取 - Amazon Elastic Container Service

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

主控台中的 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}/performance

  • EventBridge 規則可從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) 錯誤

異常任務失敗會產生具有 EssentialContainerExitedTaskFailedToStart 停止程式碼STOPPED的任務狀態變更事件。您可以依這些停止代碼進行篩選,以檢查容器執行和停止行為。