使用 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 標籤,並複製下列政策:

    { "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. 選擇 Next (下一步)。

  8. 選擇 Create (建立)。

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

步驟 4:執行任務

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

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

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

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

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

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

  6. 選擇 Create (建立)。

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

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

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

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