使用 CloudWatch 監控 Amazon ECS - Amazon Elastic Container Service

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

使用 CloudWatch 監控 Amazon ECS

您可以使用 Amazon CloudWatch 來監控 Amazon ECS 資源,前者會收集來自 Amazon ECS 的原始資料,並處理為可讀且近乎即時的指標。這些統計資料記錄會保留兩週,讓您可存取歷史資訊,且能更清楚叢集或服務的執行方式。Amazon ECS 指標資料會自動以 1 分鐘的期間傳送到 CloudWatch。如需有關 CloudWatch 的詳細資訊,請參閱 Amazon CloudWatch 使用者指南

Amazon ECS 會免費提供叢集和服務的指標。您可支付額外費用,為叢集啟用 Amazon ECS CloudWatch Container Insights 以取得每個任務的指標,包括 CPU、記憶體與 EBS 檔案系統使用率。如需更多 Container Insights 的相關資訊,請參閱 使用具有增強可觀測性的 Container Insights 監控 Amazon ECS

考量事項

使用 Amazon ECS CloudWatch 指標時,建議考量下列事項。

  • 任何在 Fargate 上託管的 Amazon ECS 服務會自動產生 CloudWatch CPU 和記憶體使用率指標,因此不需採取任何手動步驟。

  • 對於託管在 Amazon EC2 執行個體上的任何 Amazon ECS 任務或服務,Amazon EC2 執行個體需要 1.4.0 版或更新版本 (Linux) 或 1.0.0 版或更新版本 (Windows) 的容器代理程式,才能產生 CloudWatch 指標。不過,我們建議您使用最新版的容器代理。如需檢查代理程式版本及更新至最新版本的資訊,請參閱「更新 Amazon ECS 容器代理程式」。

  • 要確保產生可靠的 CloudWatch 指標,Docker 的最低版本需為 Docker 20.10.13 版及更新版本。

  • Amazon EC2 容器執行個體也需要用來啟動 Amazon EC2 執行個體之 IAM 角色的 ecs:StartTelemetrySession 許可。如果您已在 Amazon ECS 可使用 CloudWatch 指標之前建立 Amazon ECS 容器執行個體 IAM 角色,則可能需要新增此許可。如需有關容器執行個體 IAM 角色及連接容器執行個體之受管 IAM 政策的資訊,請參閱 Amazon ECS 容器執行個體 IAM 角色

  • 您可以在 Amazon ECS 容器代理程式組態中設定 ECS_DISABLE_METRICS=true,停用 Amazon EC2 執行個體的 CloudWatch 指標收集功能。如需詳細資訊,請參閱Amazon ECS 容器代理程式組態

建議的指標

Amazon ECS 提供您可以用來監控資源的免費 CloudWatch 指標。透過這些指標,可以量測整個叢集的 CPU 與記憶體保留量及 CPU、記憶體與 EBS 檔案系統使用率,以及叢集中服務的 CPU、記憶體與 EBS 檔案系統使用率。針對 GPU 工作負載,您可以量測叢集整體的 GPU 保留。

叢集中託管 Amazon ECS 任務的基礎結構決定了哪些指標可用。對於託管在 Fargate 基礎結構上的任務,Amazon ECS 會提供 CPU、記憶體與 EBS 檔案系統使用率指標,可協助監控服務狀態。對於託管在 EC2 執行個體上的任務,Amazon ECS 會提供叢集與服務層級的 CPU、記憶體與 GPU 保留量指標,以及 CPU 與記憶體使用率指標。您需要監控單獨構成基礎設施的 Amazon EC2 執行個體。如需有關監控 EC2 執行個體的詳細資訊,請參閱 Amazon EC2 User Guide 中的 Monitoring Amazon EC2

如需有關適用於 Amazon ECS 的建議警示的相關資訊,請參閱 Amazon CloudWatch Logs User Guide 中的下列任一主題: