如何設定 CloudWatch Container Insights 來監控 ECS 任務和容器部署?

2 分的閱讀內容
0

我想要設定 Amazon CloudWatch Container Insights 以監控我的 Amazon Elastic Container Service (Amazon ECS) 任務和容器部署。該如何進行?

簡短描述

Container Insights 收集叢集、任務和服務層級的指標。這些指標包括 CPU、記憶體、磁碟和網路等資源的使用情況,也可用於 CloudWatch 自動儀表板中。

您可以將 Amazon ECS 設定為預設啟用 Container Insights 的所有新叢集。或者,您可以在建立叢集期間,使用叢集設定對單個叢集啟用 Container Insights。您也可以使用 AWS Command Line Interface (AWS CLI),在現有叢集上啟用 Container Insights。

解決方案

**注意:**如果您在執行 AWS CLI 命令時收到錯誤,請確認您使用的是最新版 AWS CLI

修改帳戶設定

透過選擇使用 Container Insights 帳戶設定,為所有新建立的叢集啟用 Container Insights。

使用 CloudWatch 主控台修改帳戶設定

  1. 開啟 Amazon ECS 主控台
  2. 在導覽窗格中,選擇要修改其帳戶設定的區域。
  3. 選擇 Account Settings (帳戶設定)。
  4. CloudWatch Container Insights 部分,您可以選取或取消選取經過身份驗證的 AWS Identity and Access Management (IAM) 使用者和角色的每個帳戶設定的核取方塊。完成後選擇 Save (儲存)。
  5. 在確認畫面上,選擇 Confirm (確認) 以儲存選取項目。

當您以 AWS 帳戶根使用者身份登入時,您可以變更帳戶的預設設定。或者,您也可以變更帳戶中任何特定 IAM 使用者或 IAM 角色的設定。

修改您帳戶上所有 IAM 使用者或角色的預設帳戶設定 (AWS CLI)

使用此命令可修改您帳戶中所有 IAM 使用者或角色的預設帳戶設定。除非 IAM 使用者或角色明確覆寫這些設定,否則產生的變更將套用至整個 AWS 帳戶。

aws ecs put-account-setting-default --name containerInsights --value enabled --region <REGION_NAME>

如需詳細資訊,請參閱修改帳戶設定

建立啟用 Container Insights 的叢集

您可以使用 Amazon ECS 主控台或 AWS CLI,在叢集建立過程中啟用 Container Insights。

使用主控台建立啟用 Container Insights 的叢集

**注意:**請務必使用新的 Amazon ECS 主控台 (v2) 來完成這些步驟。如果要使用傳統主控台,請參閲使用傳統主控台建立叢集

  1. 開啟新的 Amazon ECS 主控台
  2. 在導覽窗格中,選擇要在其中建立叢集的區域。
  3. 選擇 Clusters (叢集),然後選擇 Create cluster (建立叢集)。
  4. 在 Cluster configuration (叢集組態) 部分,選擇建立叢集所需的設定。
  5. 展開 Monitoring (監控),然後開啟 Use Container Insights (使用容器洞察)。
  6. 選擇 Create (建立)。

使用 AWS CLI 建立啟用 Container Insights 的叢集

若要建立啟用 Container Insights 的新叢集,請執行以下命令:

aws ecs create-cluster --cluster-name <CLUSTER_NAME> --settings "name=containerInsights,value=enabled" --region <REGION_NAME>

在現有 Amazon ECS 叢集上啟用 Container Insights

若要在現有叢集上啟用 Container Insights,請執行以下命令:

aws ecs update-cluster-settings --cluster <CLUSTER_NAME> --settings name=containerInsights,value=enabled --region <REGION_NAME>

Container Insights 注意事項

使用 CloudWatch Container Insights 時,請注意以下事項:

  • 當您使用 Amazon Elastic Compute Cloud (Amazon EC2) 啟動類型時,您的任務無需設定容器 CPU 資源。若要在 ECS 任務層級顯示 CPU 使用率指標,請在任務定義中定義任務層級或容器層級的 CPU 參數。
  • 網路指標適用於在 AWS Fargate 上執行的所有任務。網路指標也可用於使用橋接或 awsvpc 網路模式在 Amazon EC2 執行個體上執行的任務。
  • 若要從 EC2 執行個體上託管的 ECS 叢集中收集執行個體層級指標,請部署 CloudWatch 代理程式。

使用 CloudWatch Logs Insights 查看 Container Insights 資料

Containers Insights 針對 Amazon ECS 收集的指標不夠精密,無法追蹤單一任務。這是因為可用的指標都是在任務定義系列層級進行彙總和平均的。若要對收集的效能資料進行更深入的分析,請使用 CloudWatch Logs Insights 查詢。

系統會使用效能日誌事件,自動以日誌形式收集 Container Insights 效能指標。開啟 CloudWatch Logs Insights 主控台,然後選取以下格式的日誌群組:

/aws/ecs/containerinsights/<CLUSTER_NAME>/performance

例如,此查詢會顯示 CPU 和記憶體的任務層級使用情況:

stats avg(CpuUtilized) as CPU, avg(MemoryUtilized) as Mem by TaskId
| filter Type="Task"
| sort Mem, CPU desc

相關資訊

Amazon ECS Container Insights 指標

在 Amazon ECS 上為叢集和服務層級指標設定 Container Insights

在 Amazon ECS 上部署 CloudWatch 代理程式以收集 EC2 執行個體層級指標

查看 Container Insights 指標

AWS 官方
AWS 官方已更新 2 年前