跳至內容

如何監控 Fargate 上 Amazon ECS 任務的高記憶體使用率?

1 分的閱讀內容
0

我想要監控在 AWS Fargate 上執行的 Amazon Elastic Container Service (Amazon ECS) 任務的高記憶體使用率。

解決方法

設定 CloudWatch 警示

請完成下列步驟:

  1. 開啟 Amazon CloudWatch console (Amazon CloudWatch 主控台)。
  2. 選擇 Alarms (警示),然後選擇 All alarms (所有警示)。
  3. 選擇 Create alarm (建立警示)。
  4. 設定具有統計資料、期間及閾值的警示條件。

**注意:**當 Amazon ECS 服務使用 Fargate 啟動類型時,CloudWatch 會自動開啟記憶體和 CPU 使用率指標。

若要查看 CloudWatch 指標,請參閱查看可用指標

為您的 Fargate 任務開啟 CloudWatch Logs

請完成下列步驟:

  1. 在您的任務定義中新增所需的 logConfiguration 參數,以啟用 awslogs 驅動程式
  2. 授權您的 AWS Identity and Access Management (IAM) 任務執行角色 具有 logs:CreateLogStreamlogs:PutLogEvents 權限,以便將日誌傳送至 CloudWatch Logs。
  3. 在 CloudWatch 主控台上查看您的日誌

使用 Container Insights 監控記憶體使用率

若要監控 Fargate 任務中每個容器的記憶體使用率,請使用 CloudWatch Container Insights

請完成下列步驟:

  1. 開啟 CloudWatch console (CloudWatch 主控台)。
  2. 在導覽窗格中,選擇 Insights,然後選擇 Container Insights
  3. Service (服務) 下拉式清單中,選擇 ECS
  4. 使用下拉式功能表選擇您想查看的資源類型。
    **注意:**任務依每個叢集的任務定義進行分組。
  5. 若要取得更多有關任務定義的資訊,請選擇任務定義名稱。
  6. Task definition details (任務定義詳細資料) 檢視中,選擇 View logs (查看日誌),然後開啟 CloudWatch Logs Insights。
  7. Query (查詢) 輸入方塊中輸入以下查詢,然後選擇 Run query (執行查詢):
    stats avg(MemoryUtilized) by bin (30m) as period, TaskDefinitionFamily, TaskDefinitionRevision | filter Type = "Task" | sort period desc, TaskDefinitionFamily |  limit 10

相關資訊

適用於 Amazon ECS 的 AWS Fargate

適用於 Amazon ECS 的 Amazon CloudWatch Container Insights 簡介

Amazon ECS 如何管理 CPU 和記憶體資源

如何設定 CloudWatch Container Insights 以監控我的 Amazon ECS 任務和容器執行個體?

AWS 官方已更新 8 個月前