使用 Amazon Distro for OpenTelemetry 在 Amazon ECS 上设置 Container Insights - Amazon CloudWatch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

使用 Amazon Distro for OpenTelemetry 在 Amazon ECS 上设置 Container Insights

如果需要使用 Amazon Distro for OpenTelemetry 在 Amazon ECS 集群上设置 CloudWatch Container Insights,请使用此部分。有关 Amazon Distro for Open Telemetry 的更多信息,请参阅 Amazon Distro for OpenTelemetry

这些步骤假设您已具有正在运行 Amazon ECS 的集群。有关将 Amazon Distro for Open Telemetry 与 Amazon ECS 结合使用以及为此设置 Amazon ECS 集群的更多信息,请参阅在 Amazon Elastic Container Service 中设置 Amazon Distro for OpenTelemetry Collector

步骤 1:创建任务角色

第一步是在集群中创建 Amazon OpenTelemetry Collector 将使用的任务角色。

为 Amazon Distro for OpenTelemetry 创建任务角色
  1. 通过 https://console.aws.amazon.com/iam/ 打开 IAM 控制台。

  2. 在导航窗格中选择策略,然后选择创建策略

  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(Elastic Container 服务)

  8. 在页面下方,选择 Elastic Container Service Task(Elastic Container 服务任务),然后选择 Next: Permissions(下一步:权限)

  9. 在策略列表中,搜索 AWSDistroOpenTelemetryPolicy

  10. 选中 AWSDistroOpenTelemetryPolicy 旁的复选框。

  11. 依次选择 Next: Tags(下一步:标签)Next: Review(下一步:查看)

  12. 对于 Role name(角色名称),输入 AWSOpenTelemetryTaskRole,然后选择 Create role(创建角色)

步骤 2:创建任务执行角色

下一步是为 Amazon OpenTelemetry Collector 创建任务执行角色。

为 Amazon Distro for OpenTelemetry 创建任务执行角色
  1. 通过 https://console.aws.amazon.com/iam/ 打开 IAM 控制台。

  2. 在左侧的导航窗格中,选择 Roles(角色),然后选择 Create role(创建角色)

  3. 在服务列表中,选择 Elastic Container Service(Elastic Container 服务)

  4. 在页面下方,选择 Elastic Container Service Task(Elastic Container 服务任务),然后选择 Next: Permissions(下一步:权限)

  5. 在策略列表中,搜索 AmazonECSTaskExecutionRolePolicy,然后选中 AmazonECSTaskExecutionRolePolicy 旁的复选框。

  6. 在策略列表中,搜索 CloudWatchLogsFullAccess,然后选中 CloudWatchLogsFullAccess 旁的复选框。

  7. 在策略列表中,搜索 AmazonSSMReadOnlyAccess,然后选中 AmazonSSMReadOnlyAccess 旁的复选框。

  8. 依次选择 Next: Tags(下一步:标签)Next: Review(下一步:查看)

  9. 对于 Role name(角色名称),输入 AWSOpenTelemetryTaskExecutionRole,然后选择 Create role(创建角色)

步骤 3:创建任务定义

下一步是创建任务定义。

为 Amazon Distro for OpenTelemetry 创建任务定义
  1. https://console.aws.amazon.com/ecs/v2 打开控制台。

  2. 在导航窗格中,选择 Task definitions(任务定义)

  3. 选择 Create new task definition(创建新的任务定义)、Create new task definition(创建新的任务定义)。

  4. 对于Task definition family(任务定义系列)中,为任务定义指定唯一名称。

  5. 配置您的容器,然后选择下一步

  6. 指标和日志记录下,选择使用指标收集

  7. 选择下一步

  8. 选择创建

有关将 Amazon OpenTelemetry 收集器与 Amazon ECS 结合使用的更多信息,请参阅在 Amazon Elastic Container Service 中设置 Amazon Distro for OpenTelemetry Collector

步骤 4:运行任务

最后一步是运行您创建的任务。

运行 Amazon 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 命名空间。选择该命名空间,然后您会看到八个指标。