使用 AWS Distro for OpenTelemetry,在 Amazon ECS 上設定 Container Insights - Amazon CloudWatch

使用 AWS Distro for OpenTelemetry,在 Amazon ECS 上設定 Container Insights

如果您想要使用 AWS Distro for OpenTelemetry 在 Amazon ECS 叢集上設定 CloudWatch Container Insights,請使用此區段。如需有關 AWS Distro for Open Telemetry 的詳細資訊,請參閱 AWS Distro for OpenTelemetry

這些步驟假設您已經有一個執行 Amazon ECS 的叢集。如需使用 AWS Distro for Open Telemetry 與 Amazon ECS 及為此設定 Amazon ECS 叢集的詳細資訊,請參閱在 Amazon Elastic Container Service 中設定 AWS Distro for OpenTelemetry Collector

步驟 1:建立任務角色

第一個步驟是在 AWS OpenTelemetry Collector 將會使用的叢集中建立任務角色。

若要建立 AWS Distro for OpenTelemetry 的任務角色
  1. 前往 https://console.aws.amazon.com/iam/ 開啟 IAM 主控台。

  2. 在導覽窗格中,選擇 Policies (政策),然後選擇 Create policy (建立政策)

  3. 選擇 JSON 標籤,並複製下列政策:

    JSON
    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:PutLogEvents", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:DescribeLogGroups", "ssm:GetParameters" ], "Resource": "*" } ] }
  4. 選擇檢閱政策

  5. 對於名稱,輸入 AWSDistroOpenTelemetryPolicy,然後選擇 Create policy (建立政策)。

  6. 在左側導覽窗格中,選擇 Roles (角色),然後選擇 Create role (建立角色)。

  7. 在服務清單中,選擇 Elastic Container Service

  8. 在頁面下方,選擇 Elastic Container Service Task (Elastic Container Service 任務),然後選擇 Next: Permissions ((下一步:許可))。

  9. 在政策清單中,搜尋 AWSDistroOpenTelemetryPolicy

  10. 選取 AWSDistroOpenTelemetryPolicy 旁的核取方塊。

  11. 選擇 Next: Tags (下一步:標籤),然後選擇 Next: Review (下一步:檢閱)。

  12. 針對 Role name (角色名稱),輸入 AWSOpenTelemetryTaskRole,然後選擇 Create role (建立角色)。

步驟 2:建立任務執行角色

下一步是建立 AWS OpenTelemetry Collector 的任務執行角色。

若要建立 AWS Distro for OpenTelemetry 的任務執行角色
  1. 前往 https://console.aws.amazon.com/iam/ 開啟 IAM 主控台。

  2. 在左側導覽窗格中,選擇 Roles (角色),然後選擇 Create role (建立角色)。

  3. 在服務清單中,選擇 Elastic Container Service

  4. 在頁面下方,選擇 Elastic Container Service Task (Elastic Container Service 任務),然後選擇 Next: Permissions ((下一步:許可))。

  5. 在政策清單中,搜尋 AmazonECSTaskExecutionRolePolicy,然後選取 AmazonECSTaskExecutionRolePolicy 旁的核取方塊。

  6. 在政策清單中,搜尋 CloudWatchLogsFullAccess,然後選取 CloudWatchLogsFullAccess 旁的核取方塊。

  7. 在政策清單中,搜尋 AmazonSSMReadOnlyAccess,然後選取 AmazonSSMReadOnlyAccess 旁的核取方塊。

  8. 選擇 Next: Tags (下一步:標籤),然後選擇 Next: Review (下一步:檢閱)。

  9. 針對 Role name (角色名稱),輸入 AWSOpenTelemetryTaskExecutionRole,然後選擇 Create role (建立角色)。

步驟 3:建立任務定義

下一步是建立任務定義。

若要建立 AWS Distro for OpenTelemetry 的任務定義
  1. 開啟主控台,網址為 https://console.aws.amazon.com/ecs/v2

  2. 在導覽窗格中,選擇 Task Definitions (任務定義)。

  3. 選擇 Create new task definition (建立新任務定義),以及 Create new task definitionN (建立新任務定義)。

  4. 任務定義系列中,請為任務定義指定唯一名稱。

  5. 設定您的容器,然後選擇下一步

  6. 指標和日誌記錄下,選取使用指標集合

  7. 選擇下一步

  8. 選擇建立

如需使用 AWS OpenTelemetry Collector 與 Amazon ECS 的詳細資訊,請參閱在 Amazon Elastic Container Service 中設定 AWS Distro for OpenTelemetry Collector

步驟 4:執行任務

最後一個步驟是執行您建立的任務。

若要執行 AWS Distro for OpenTelemetry 的任務
  1. 開啟主控台,網址為 https://console.aws.amazon.com/ecs/v2

  2. 在左側導覽窗格,選擇 Task Definitions (任務定義),然後選取您剛建立的任務。

  3. 選擇動作部署執行任務

  4. 選擇 Deploy (部署)、Run task (執行任務)。

  5. 運算選項區段中,從現有叢集中選擇叢集。

  6. 選擇建立

  7. 接下來,您可以在 CloudWatch 主控台中檢查新的指標。

  8. 透過 https://console.aws.amazon.com/cloudwatch/ 開啟 CloudWatch 主控台。

  9. 在左側導覽窗格中,選擇 Metrics (指標)

    您應該會看到 ECS/ContainerInsights 命名空間。選擇該命名空間,然後您應該會看到八個指標。