具有增强型可观测性的 Amazon ECS Container Insights
具有增强型可观测性的 Container Insights 具备以下特点,可以帮助用户更深入地了解容器化工作负载:
任务和容器级别的更高指标粒度
改进的监控和问题排查功能
与 CloudWatch Logs 集成,可用于:
将指标异常与日志条目相关联
更快地进行根本原因分析
缩短复杂容器问题的解决时间
使用案例
具有增强型可观测性的 Container Insights 扩展了标准 Container Insights 的功能,并且支持以下使用案例:
-
任务级别问题排查:确定任务级别的性能瓶颈。分析任务级别指标并将指标与预留资源进行比较,确定任务是否有足够的处理能力
-
容器级别资源优化:跟踪预留级别的利用率,确定资源受限或过度预置的容器
-
容器运行状况评测:监控重启计数和状态转换,检测需要干预的不稳定容器
-
应用程序性能监控:跟踪应用程序如何相互通信,监控资源使用模式并优化数据存储性能
-
运行监控:监控部署,跟踪蓝色或绿色部署的任务集,并通过服务指标维护平台运行状况
有关 Amazon ECS 指标的更多信息,请参阅 Amazon ECS 服务利用率指标使用案例;有关具有增强型可观测性的 Container Insights 的信息,请参阅具有增强型可观测性的 Amazon ECS Container Insights 指标。
下表列出了具有增强型可观测性的 Container Insights 针对 Amazon ECS 收集的指标和维度。这些指标位于 ECS/ContainerInsights
命名空间中。有关更多信息,请参阅 Metrics。
如果在控制台中未看到任何 Container Insights 指标,请确保已完成具有增强型可观测性的 Container Insights 的设置。在完全设置具有增强型可观测性的 Container Insights 之前,指标不会显示。有关更多信息,请参阅 设置具有增强型可观测性的 Container Insights。
以下指标适用于所有启动类型。
指标名称 | Dimensions | 描述 |
---|---|---|
|
|
注册到集群的运行 Amazon ECS 代理的 EC2 实例的数目。 仅针对在集群中运行 Amazon ECS 任务的容器实例收集此指标。对于没有任何 Amazon ECS 任务的空容器实例,不会收集此指标。 单位:个 |
|
|
您正在使用的维度集指定资源中容器使用的 CPU 单元。 单位:无 |
|
|
您正在使用的维度集指定资源中容器预留的 CPU 单元。根据任务定义(例如任务级别或所有容器级别)中指定的 CPU 预留收集此指标。如果未在任务定义中指定 CPU 预留,则会使用实例 CPU 预留。 单位:无 |
|
|
您正在使用的维度集指定资源中容器正在使用的 CPU 单元总百分比。 单位:百分比 |
|
|
您正在使用的维度集指定资源中容器正在使用的内存。 单位:兆字节 |
|
|
您正在使用的维度集指定资源中容器预留的内存。 根据任务定义(例如任务级别或所有容器级别)中指定的内存预留收集此指标。如果未在任务定义中指定内存预留,则会使用实例内存预留。 单位:兆字节 |
|
|
您正在使用的维度集指定资源中容器正在使用的内存总百分比。
单位:百分比 |
|
|
您正在使用的维度指定容器接收的字节数。该指标是从 Docker 运行时系统获取的。 此指标仅适用于使用 单位:字节/秒 |
|
|
您正在使用的维度指定容器传输的字节数。该指标是从 Docker 运行时系统获取的。 此指标仅适用于使用 单位:字节/秒 |
|
|
从您正在使用的维度指定资源中容器上存储读取的字节数。这不包括存储设备的读取字节数。该指标是从 Docker 运行时系统获取的。 单位:字节 |
|
|
写入到您正在使用的维度指定容器中存储的字节数。该指标是从 Docker 运行时系统获取的。 单位:字节 |
|
|
任务在您使用的维度集所指定的资源中使用的 CPU 单元。 单位:无 |
|
|
任务在您使用的维度集所指定的资源中预留的 CPU 单元。根据任务定义(例如任务级别或所有容器级别)中指定的 CPU 预留收集此指标。如果未在任务定义中指定 CPU 预留,则会使用实例 CPU 预留。 单位:无 |
|
|
Amazon ECS 服务中的部署数。 单位:个 |
|
|
Amazon ECS 服务所需的任务数。 单位:个 |
|
|
分配给您使用的维度所指定资源的 Amazon EBS 文件系统存储总量,以千兆字节(GB)为单位。 该指标仅适用于使用平台版本 单位:千兆字节(GB) |
|
|
您使用的维度所指定资源使用的 Amazon EBS 文件系统存储总量,以千兆字节(GB)为单位。 该指标仅适用于使用平台版本 对于在 Fargate 上运行的任务,Fargate 会在磁盘上预留仅供 Fargate 使用的空间。Fargate 使用的空间不会产生任何成本,但可以使用类似 单位:千兆字节(GB) |
EphemeralStorageReserved
1
|
|
从您使用的维度所指定的资源中临时存储保留的字节数。临时存储用于容器根文件系统以及容器映像和任务定义中所定义的任何绑定装载主机卷。无法在正在运行的任务中更改临时存储量。 该指标仅适用于在 Fargate Linux 平台 1.4.0 或更高版本上运行的任务。 单位:千兆字节(GB) |
EphemeralStorageUtilized
1
|
|
从您使用的维度所指定的资源中临时存储使用的字节数。临时存储用于容器根文件系统以及容器映像和任务定义中所定义的任何绑定装载主机卷。无法在正在运行的任务中更改临时存储量。 该指标仅适用于在 Fargate Linux 平台 1.4.0 或更高版本上运行的任务。 单位:千兆字节(GB) |
|
|
任务在您使用的维度集所指定的资源中使用的内存。 单位:兆字节 |
|
|
任务在您使用的维度集所指定的资源中预留的内存。 根据任务定义(例如任务级别或所有容器级别)中指定的内存预留收集此指标。如果未在任务定义中指定内存预留,则会使用实例内存预留。 单位:兆字节 |
|
|
您使用的维度所指定的资源接收的字节数。该指标是从 Docker 运行时系统获取的。 此指标仅适用于使用 单位:字节/秒 |
|
|
您使用的维度所指定的资源传输的字节数。该指标是从 Docker 运行时系统获取的。 此指标仅适用于使用 单位:字节/秒 |
|
|
当前处于 单位:个 |
|
|
当前处于 单位:个 |
|
|
Amazon ECS 任务中容器重新启动的次数。 仅会对启用了重启策略的容器收集此指标。 单位:个 |
|
|
集群中的服务数。 单位:个 |
|
|
从您使用之维度所指定资源中实例上的存储读取的字节数。这不包括存储设备的读取字节数。该指标是从 Docker 运行时系统获取的。 单位:字节 |
|
|
写入到您使用的维度所指定的资源中的存储的字节数。该指标是从 Docker 运行时系统获取的。 单位:字节 |
|
|
正在集群中运行的任务数。 单位:个 |
|
|
任务使用的 CPU 单元的总百分比。 单位:百分比 |
|
|
任务使用的临时存储总百分比。 单位:百分比 |
|
|
任务使用的内存总百分比。 单位:百分比 |
|
|
服务中设置的任务数。 单位:个 |
注意
EphemeralStorageReserved
和 EphemeralStorageUtilized
指标仅适用于在 Fargate Linux 平台 1.4.0 或更高版本上运行的任务。
Fargate 可保留磁盘空间。该磁盘空间仅由 Fargate 使用。您无需为此付费。它没有显示在这些指标中。但是,您可以在 df
等其他工具中看到这种额外的存储空间。
完成部署 CloudWatch 代理以收集 Amazon ECS 上的 EC2 实例级别指标中的步骤并使用 EC2 启动类型后,以下指标将可用。
指标名称 | Dimensions | 描述 |
---|---|---|
|
|
可分配给集群中单个 EC2 实例的 CPU 单元最大数目。 单位:无 |
|
|
集群中单个 EC2 实例上当前预留的 CPU 的百分比。 单位:百分比 |
|
|
集群中单个 EC2 实例上正在使用的 CPU 单元的数目。 单位:无 |
|
|
集群中单个 EC2 实例上正在使用的 CPU 单元的总百分比。 单位:百分比 |
|
|
集群中单个 EC2 实例上正在使用的文件系统容量的总百分比。 单位:百分比 |
|
|
可分配给此集群中单个 EC2 实例的最大内存量(以字节为单位)。 单位:字节 |
|
|
集群中单个 EC2 实例上当前预留的内存百分比。 单位:百分比 |
|
|
集群中单个 EC2 实例上正在使用的内存总百分比。 注意如果您的应用程序中使用 Java ZGC 垃圾收集器,则该指标可能不准确。 单位:百分比 |
|
|
集群中单个 EC2 实例上正在使用的内存量(以字节为单位)。 注意如果您的应用程序中使用 Java ZGC 垃圾收集器,则该指标可能不准确。 单位:字节 |
|
|
集群中单个 EC2 实例上通过网络传输和接收的每秒总字节数。 单位:字节/秒 |
|
|
集群中单个 EC2 实例上正在运行的任务数。 单位:个 |