使用 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 创建任务角色
通过 https://console.aws.amazon.com/iam/
打开 IAM 控制台。 -
在导航窗格中选择策略,然后选择创建策略。
-
选择 JSON 选项卡,然后复制以下策略:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "logs:PutLogEvents", "logs:CreateLogGroup", "logs:CreateLogStream", "logs:DescribeLogStreams", "logs:DescribeLogGroups", "ssm:GetParameters" ], "Resource": "*" } ] }
-
选择查看策略。
-
对于名称,输入
AWSDistroOpenTelemetryPolicy
,然后选择 Create policy(创建策略)。 -
在左侧的导航窗格中,选择 Roles(角色),然后选择 Create role(创建角色)。
-
在服务列表中,选择 Elastic Container Service(Elastic Container 服务)。
-
在页面下方,选择 Elastic Container Service Task(Elastic Container 服务任务),然后选择 Next: Permissions(下一步:权限)。
-
在策略列表中,搜索 AWSDistroOpenTelemetryPolicy。
-
选中 AWSDistroOpenTelemetryPolicy 旁的复选框。
-
依次选择 Next: Tags(下一步:标签)和 Next: Review(下一步:查看)。
-
对于 Role name(角色名称),输入
AWSOpenTelemetryTaskRole
,然后选择 Create role(创建角色)。
步骤 2:创建任务执行角色
下一步是为 AWS OpenTelemetry Collector 创建任务执行角色。
为 AWS Distro for OpenTelemetry 创建任务执行角色
通过 https://console.aws.amazon.com/iam/
打开 IAM 控制台。 -
在左侧的导航窗格中,选择 Roles(角色),然后选择 Create role(创建角色)。
-
在服务列表中,选择 Elastic Container Service(Elastic Container 服务)。
-
在页面下方,选择 Elastic Container Service Task(Elastic Container 服务任务),然后选择 Next: Permissions(下一步:权限)。
-
在策略列表中,搜索 AmazonECSTaskExecutionRolePolicy,然后选中 AmazonECSTaskExecutionRolePolicy 旁的复选框。
-
在策略列表中,搜索 CloudWatchLogsFullAccess,然后选中 CloudWatchLogsFullAccess 旁的复选框。
-
在策略列表中,搜索 AmazonSSMReadOnlyAccess,然后选中 AmazonSSMReadOnlyAccess 旁的复选框。
-
依次选择 Next: Tags(下一步:标签)和 Next: Review(下一步:查看)。
-
对于 Role name(角色名称),输入
AWSOpenTelemetryTaskExecutionRole
,然后选择 Create role(创建角色)。
步骤 3:创建任务定义
下一步是创建任务定义。
为 AWS Distro for OpenTelemetry 创建任务定义
在 https://console.aws.amazon.com/ecs/v2
打开控制台。 -
在导航窗格中,选择 Task definitions(任务定义)
-
选择 Create new task definition(创建新的任务定义)、Create new task definition(创建新的任务定义)。
-
对于Task definition family(任务定义系列)中,为任务定义指定唯一名称。
-
配置您的容器,然后选择下一步。
-
在指标和日志记录下,选择使用指标收集。
-
选择下一步。
-
选择创建。
有关将 AWS OpenTelemetry 收集器与 Amazon ECS 结合使用的更多信息,请参阅在 Amazon Elastic Container Service 中设置 AWS Distro for OpenTelemetry Collector
步骤 4:运行任务
最后一步是运行您创建的任务。
运行 AWS Distro for OpenTelemetry 的任务
在 https://console.aws.amazon.com/ecs/v2
打开控制台。 -
在左侧导航窗格中,选择 Task Definitions(任务定义),然后选择您刚刚创建的任务。
-
选择操作、部署、运行任务。
-
选择 Deploy(部署)、Run task(运行任务)。
-
在计算选项部分中,从现有集群中选择集群。
-
选择创建。
-
接下来,您可以在 CloudWatch 控制台中检查新指标。
访问 https://console.aws.amazon.com/cloudwatch/
打开 CloudWatch 控制台。 -
在左侧导航窗格中,选择 Metrics。
您会看到 ECS/ContainerInsights 命名空间。选择该命名空间,然后您会看到八个指标。