本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
亚马逊 ECS 的指标
Amazon ECS 使用 Amazon ECS 容器代理在集群和服务级别为 EC2 和 Fargate 启动类型提供标准 CloudWatch 指标(例如 CPU 和内存利用率)。您还可以使用 Container Insights 捕获服务、任务和 CloudWatch 容器的指标,或者使用嵌入式指标格式捕获自己的自定义容器指标。
Container Insights 是一项 CloudWatch 功能,可提供集群、容器实例、服务和任务级别的 CPU 利用率、内存利用率、网络流量和存储等指标。Container Insights 还会创建自动仪表板,帮助您分析服务和任务,并查看容器级别的平均内存或 CPU 使用率。Container Insights 将ECS/ContainerInsights
自定义指标发布到自定义命名空间,可用于绘制图表、警报和仪表板。
您可以通过为每个 Amazon ECS 集群启用容器洞察来开启容器洞察指标。如果您还想查看容器实例级别的指标,则可以在 Amazon ECS 集群上将 CloudWatch 代理作为守护程序容器启动。您可以使用 cwagent-ecs-instance-metric-cfn.yamlecs-cwagent-daemon-service
。
作为 Container Insights 的守护程序 CloudWatch 容器部署的CloudWatch代理包括其他磁盘、内存和 CPU 指标,例如instance_cpu_reserved_capacity
和instance_memory_reserved_capacity
ClusterName
、ContainerInstanceId
、InstanceId
维度。容器实例级别的指标由 Container Insights 使用 CloudWatch 嵌入式指标格式实现。您可以使用本指南为 CloudWatch 代理部署和配置设置状态管理器和分发服务器部分中的方法,为 Amazon ECS 容器实例配置其他系统级指标。
在 Amazon ECS 中创建自定义应用程序指标
您可以使用CloudWatch嵌入式指标格式为应用程序创建自定义指标。awslogs
日志驱动程序可以解释 CloudWatch 嵌入式指标格式语句。
以下示例中的CW_CONFIG_CONTENT
环境变量设置为 S cwagentconfig
ystems Manager 参数存储参数的内容。您可以使用此基本配置运行代理,将其配置为嵌入式指标格式端点。但是,已经没有必要了。
{ "logs": { "metrics_collected": { "emf": { } } } }
如果您在多个账户和地区部署了 Amazon ECS,则可以使用 AWS Secrets Manager 密钥来存储您的 CloudWatch 配置,并将密钥策略配置为与您的组织共享。您可以使用任务定义中的 secrets 选项来设置CW_CONFIG_CONTENT
变量。
您可以在应用程序中使用 AWS 提供的开源嵌入式指标格式库,并指定AWS_EMF_AGENT_ENDPOINT
环境变量以连接到充当嵌入式指标格式端点的 CloudWatch 代理 sidecar 容器。例如,您可以使用 ecs_cw_emf_example 示例
的 Flu ent Bit 插件
如果您不想使用嵌入式指标格式,则可以通过 AWS API 或 AWS SDK