

# 使用 AWS Distro for OpenTelemetry 在 Amazon ECS 上设置 Container Insights
<a name="deploy-container-insights-ECS-adot"></a>

如果需要使用 AWS Distro for OpenTelemetry 在 Amazon ECS 集群上设置 CloudWatch Container Insights，请使用此部分。有关 AWS Distro for Open Telemetry 的更多信息，请参阅 [AWS Distro for OpenTelemetry](https://aws.amazon.com/otel/)。

这些步骤假设您已具有正在运行 Amazon ECS 的集群。有关将 AWS Distro for Open Telemetry 与 Amazon ECS 结合使用以及为此设置 Amazon ECS 集群的更多信息，请参阅[在 Amazon Elastic Container Service 中设置 AWS Distro for OpenTelemetry Collector](https://aws-otel.github.io/docs/setup/ecs)。

## 步骤 1：创建任务角色
<a name="deploy-container-insights-ECS-adot-CreateTaskRole"></a>

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

**为 AWS Distro for OpenTelemetry 创建任务角色**

1. 通过 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 打开 IAM 控制台。

1. 在导航窗格中选择**策略**，然后选择**创建策略**。

1. 选择 **JSON** 选项卡，然后复制以下策略：

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "logs:PutLogEvents",
                   "logs:CreateLogGroup",
                   "logs:CreateLogStream",
                   "logs:DescribeLogStreams",
                   "logs:DescribeLogGroups",
                   "ssm:GetParameters"
               ],
               "Resource": "*"
           }
       ]
   }
   ```

------

1. 选择**查看策略**。

1. 对于名称，输入 **AWSDistroOpenTelemetryPolicy**，然后选择 **Create policy（创建策略）**。

1. 在左侧的导航窗格中，选择 **Roles（角色）**，然后选择 **Create role（创建角色）**。

1. 在服务列表中，选择 **Elastic Container Service（Elastic Container 服务）**。

1. 在页面下方，选择 **Elastic Container Service Task（Elastic Container 服务任务）**，然后选择 **Next: Permissions（下一步：权限）**。

1. 在策略列表中，搜索 **AWSDistroOpenTelemetryPolicy**。

1. 选中 **AWSDistroOpenTelemetryPolicy** 旁的复选框。

1. 依次选择 **Next: Tags（下一步：标签）**和 **Next: Review（下一步：查看）**。

1. 对于 **Role name（角色名称）**，输入 **AWSOpenTelemetryTaskRole**，然后选择 **Create role（创建角色）**。

## 步骤 2：创建任务执行角色
<a name="deploy-container-insights-ECS-adot-CreateTaskExecutionRole"></a>

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

**为 AWS Distro for OpenTelemetry 创建任务执行角色**

1. 通过 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 打开 IAM 控制台。

1. 在左侧的导航窗格中，选择 **Roles（角色）**，然后选择 **Create role（创建角色）**。

1. 在服务列表中，选择 **Elastic Container Service（Elastic Container 服务）**。

1. 在页面下方，选择 **Elastic Container Service Task（Elastic Container 服务任务）**，然后选择 **Next: Permissions（下一步：权限）**。

1. 在策略列表中，搜索 **AmazonECSTaskExecutionRolePolicy**，然后选中 **AmazonECSTaskExecutionRolePolicy** 旁的复选框。

1. 在策略列表中，搜索 **CloudWatchLogsFullAccess**，然后选中 **CloudWatchLogsFullAccess** 旁的复选框。

1. 在策略列表中，搜索 **AmazonSSMReadOnlyAccess**，然后选中 **AmazonSSMReadOnlyAccess** 旁的复选框。

1. 依次选择 **Next: Tags（下一步：标签）**和 **Next: Review（下一步：查看）**。

1. 对于 **Role name（角色名称）**，输入 **AWSOpenTelemetryTaskExecutionRole**，然后选择 **Create role（创建角色）**。

## 步骤 3：创建任务定义
<a name="deploy-container-insights-ECS-adot-CreateTaskDefinition"></a>

下一步是创建任务定义。

**为 AWS Distro for OpenTelemetry 创建任务定义**

1. 在 [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2) 打开控制台。

1. 在导航窗格中，选择 **Task definitions**（任务定义）

1. 选择 **Create new task definition**（创建新的任务定义）、**Create new task definition**（创建新的任务定义）。

1. 对于**Task definition family**（任务定义系列）中，为任务定义指定唯一名称。

1. 配置您的容器，然后选择**下一步**。

1. 在**指标和日志记录**下，选择**使用指标收集**。

1. 选择**下一步**。

1. 选择**创建**。

有关将 AWS OpenTelemetry 收集器与 Amazon ECS 结合使用的更多信息，请参阅[在 Amazon Elastic Container Service 中设置 AWS Distro for OpenTelemetry Collector](https://aws-otel.github.io/docs/setup/ecs)。

## 步骤 4：运行任务
<a name="deploy-container-insights-ECS-adot-CreateTaskDefinition"></a>

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

**运行 AWS Distro for OpenTelemetry 的任务**

1. 在 [https://console.aws.amazon.com/ecs/v2](https://console.aws.amazon.com/ecs/v2) 打开控制台。

1. 在左侧导航窗格中，选择 **Task Definitions（任务定义）**，然后选择您刚刚创建的任务。

1. 选择**操作**、**部署**、**运行任务**。

1. 选择 **Deploy**（部署）、**Run task**（运行任务）。

1. 在**计算选项**部分中，从**现有集群**中选择集群。

1. 选择**创建**。

1. 接下来，您可以在 CloudWatch 控制台中检查新指标。

1. 通过 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 打开 CloudWatch 控制台。

1. 在左侧导航窗格中，选择 **Metrics**。

   您会看到 **ECS/ContainerInsights** 命名空间。选择该命名空间，然后您会看到八个指标。