Amazon ECS Container Insights with enhanced observability metrics
Container Insights with enhanced observability provides deeper visibility into containerized workloads by offering:
Higher metrics granularity at both task and container levels
Improved monitoring and troubleshooting capabilities
Integration with CloudWatch Logs for:
Correlating metrics anomalies with log entries
Performing faster root cause analysis
Reducing resolution time for complex container issues
Use cases
Container Insights with enhanced observability extends the capabilities of standard Container Insights. It enables the following use cases:
-
Task-level troubleshooting – Identify performance bottlenecks at the task level. Analyze task-level metrics and compare them with reserved resources to determine if tasks have sufficient processing capacity
-
Container-level resource optimization – Track utilization against reservation levels to identify containers that are either resource-constrained or over-provisioned
-
Container health assessment – Monitor restart counts and state transitions to detect unstable containers requiring intervention
-
Application performance monitoring – Track how applications communicate with each other, monitor resource usage patterns, and optimize data storage performance
-
Operational monitoring – Monitor deployments, track task sets for blue or green deployments, and maintain platform health through service metrics
For more information on Amazon ECS metrics, see Amazon ECS service utilization metrics use cases and for information on container insights with enhanced observability Amazon ECS Container Insights with enhanced observability metrics.
Container Insights also shows cluster, service, and daemon-wide statistics by averaging data across all tasks. This provides a higher-level view of your service and daemon health, assisting in both environment monitoring and capacity planning.
Note
Amazon ECS Managed Daemon metrics use the same ECS/ContainerInsights namespace and
the same ServiceName dimension as service metrics. For daemon metrics, the
ServiceName dimension value uses the format
daemon:. For example, a daemon named
daemon-namemy-daemon has a ServiceName dimension value of
daemon:my-daemon. All metrics in the table below that include the
ServiceName dimension also apply to Managed Daemons.
The following table lists the metrics and dimensions that Container Insights with
enhanced observability collects for Amazon ECS. These metrics are in the
ECS/ContainerInsights namespace. For more information, see Metrics.
If you do not see any Container Insights metrics in your console, be sure that you have completed the setup of Container Insights with enhanced observability. Metrics do not appear before Container Insights with enhanced observability has been set up completely. For more information, see Set up Container Insights with enhanced observability.
The following metrics are available for all launch types.
| Metric name | Dimensions | Description |
|---|---|---|
|
|
|
The number of EC2 instances running the Amazon ECS agent that are registered with a cluster. This metric is collected only for container instances that are running Amazon ECS tasks in the cluster. It is not collected for empty container instances that do not have any Amazon ECS tasks. Unit: Count |
|
|
|
The CPU units used by containers in the resource that is specified by the dimension set that you're using. Also applies to Managed Daemons. Unit: None |
|
|
|
The CPU units reserved by containers in the resource that is specified by the dimension set that you're using. This metric is collected based on the CPU reservation defined in the task definition, for example, at the task or all containers level. If this is not specified in the task definition, then the instance CPU reservation is used. Also applies to Managed Daemons. Unit: None |
|
|
|
The total percentage of CPU units being used by containers in the resource that is specified by the dimension set that you're using. Unit: Percent |
|
|
|
The memory being used by containers in the resource that is specified by the dimension set that you're using. Also applies to Managed Daemons. Unit: Megabytes |
|
|
|
The memory that is reserved by containers in the resource that is specified by the dimension set that you're using. This metric is collected based on the memory reservation defined in the task definition, for example, at the task or all containers level. If this is not specified in the task definition, then the instance memory reservation is used. Also applies to Managed Daemons. Unit: Megabytes |
|
|
|
The total percentage of memory being used by containers in the resource that is
specified by the dimension set that you're using.
Also applies to Managed Daemons. Unit: Percent |
|
|
|
The number of bytes received by the container that is specified by the dimensions that you're using. This metric is obtained from the Docker runtime. This metric is available only for containers in tasks using the
Also applies to Managed Daemons. Unit: Bytes/Second |
|
|
|
The number of bytes transmitted by the container that is specified by the dimensions that you're using. This metric is obtained from the Docker runtime. This metric is available only for containers in tasks using the
Also applies to Managed Daemons. Unit: Bytes/Second |
|
|
|
The number of bytes read from storage on the container in the resource that is specified by the dimensions that you're using. This does not include read bytes for your storage devices. This metric is obtained from the Docker runtime. Also applies to Managed Daemons. Unit: Bytes |
|
|
|
The number of bytes written to storage in the container that is specified by the dimensions that you're using. This metric is obtained from the Docker runtime. Also applies to Managed Daemons. Unit: Bytes |
|
|
|
The CPU units used by tasks in the resource that is specified by the dimension set that you're using. Also applies to Managed Daemons. Unit: None |
|
|
|
The CPU units reserved by tasks in the resource that is specified by the dimension set that you're using. This metric is collected based on the CPU reservation defined in the task definition, for example, at the task or all containers level. If this is not specified in the task definition, then the instance CPU reservation is used. Also applies to Managed Daemons. Unit: None |
|
|
|
The number of deployments in an Amazon ECS service. Unit: Count |
|
|
|
The desired number of tasks for an Amazon ECS service. Unit: Count |
|
|
|
The total amount, in gigabytes (GB), of Amazon EBS filesystem storage that is allocated to the resources specified by the dimensions you're using. This metric is only available for tasks that run on Amazon ECS infrastructure
running on Fargate using platform version Also applies to Managed Daemons. Unit: Gigabytes (GB) |
|
|
|
The total amount, in gigabytes (GB), of Amazon EBS filesystem storage that is being used by the resources specified by the dimensions that you're using. This metric is only available for tasks that run on Amazon ECS infrastructure
running on Fargate using platform version For tasks run on Fargate, Fargate reserves space on the disk that is only
used by Fargate. There is no cost associated with the space Fargate uses, but
you will see this additional storage using tools like Also applies to Managed Daemons. Unit: Gigabytes (GB) |
|
|
|
The percentage of Amazon EBS filesystem storage that is being used by the task specified by the dimensions that you're using. This metric is only available for tasks that run on Amazon ECS infrastructure
running on Fargate using platform version Also applies to Managed Daemons. Unit: Percent |
EphemeralStorageReserved
1
|
|
The number of bytes reserved from ephemeral storage in the resource that is specified by the dimensions that you're using. Ephemeral storage is used for the container root filesystem and any bind mount host volumes defined in the container image and task definition. The amount of ephemeral storage can't be changed in a running task. This metric is only available for tasks that run on Fargate Linux platform version 1.4.0 or later. Also applies to Managed Daemons. Unit: Gigabytes (GB) |
EphemeralStorageUtilized
1
|
|
The number of bytes used from ephemeral storage in the resource that is specified by the dimensions that you're using. Ephemeral storage is used for the container root filesystem and any bind mount host volumes defined in the container image and task definition. The amount of ephemeral storage can't be changed in a running task. This metric is only available for tasks that run on Fargate Linux platform version 1.4.0 or later. Also applies to Managed Daemons. Unit: Gigabytes (GB) |
|
|
|