Amazon ECS Container Insights with enhanced observability metrics - Amazon CloudWatch
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Amazon ECS Container Insights with enhanced observability metrics

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

ContainerInstanceCount

ClusterName

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

ContainerCpuUtilized

ClusterName

ContainerName, TaskId, ServiceName, ClusterName

ContainerName, TaskDefinitionFamily, ClusterName, TaskId

TaskDefinitionFamily, ClusterName, ContainerName

ServiceName, ClusterName, ContainerName

The CPU units used by containers in the resource that is specified by the dimension set that you're using.

Unit: None

ContainerCpuReserved

ClusterName

ContainerName, TaskId, ServiceName, ClusterName

ContainerName, TaskDefinitionFamily, ClusterName, TaskId

TaskDefinitionFamily, ClusterName, ContainerName

ServiceName, ClusterName, ContainerName

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.

Unit: None

ContainerCpuUtilization

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

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

ContainerMemoryUtilized

ClusterName

ContainerName, TaskId, ServiceName, ClusterName

ContainerName, TaskDefinitionFamily, ClusterName, TaskId

TaskDefinitionFamily, ClusterName, ContainerName

ServiceName, ClusterName, ContainerName

The memory being used by containers in the resource that is specified by the dimension set that you're using.

Unit: Megabytes

ContainerMemoryReserved

ClusterName

ContainerName, TaskId, ServiceName, ClusterName

ContainerName, TaskDefinitionFamily, ClusterName, TaskId

TaskDefinitionFamily, ClusterName, ContainerName

ServiceName, ClusterName, ContainerName

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.

Unit: Megabytes

ContainerMemoryUtilization

ClusterName

ContainerName, TaskId, ServiceName, ClusterName

ContainerName, TaskDefinitionFamily, ClusterName, TaskId

TaskDefinitionFamily, ClusterName, ContainerName

ServiceName, ClusterName, ContainerName

The total percentage of memory being used by containers in the resource that is specified by the dimension set that you're using.

Unit: Percent

ContainerNetworkRxBytes

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

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 awsvpc or bridge network modes.

Unit: Bytes/Second

ContainerNetworkTxBytes

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

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 awsvpc or bridge network modes.

Unit: Bytes/Second

ContainerStorageReadBytes

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

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.

Unit: Bytes

ContainerStorageWriteBytes

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

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.

Unit: Bytes

CpuUtilized

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

The CPU units used by tasks in the resource that is specified by the dimension set that you're using.

Unit: None

CpuReserved

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

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.

Unit: None

DeploymentCount

ServiceName, ClusterName

The number of deployments in an Amazon ECS service.

Unit: Count

DesiredTaskCount

ServiceName, ClusterName

The desired number of tasks for an Amazon ECS service.

Unit: Count

EBSFilesystemSize

ClusterName ,TaskDefinitionFamily, VolumeName

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

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 1.4.0 or Amazon EC2 instances using container agent version 1.79.0 or later.

Unit: Gigabytes (GB)

EBSFilesystemUtilized

ClusterName ,TaskDefinitionFamily, VolumeName

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

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 1.4.0 or Amazon EC2 instances using container agent version 1.79.0 or later.

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 df.

Unit: Gigabytes (GB)

EphemeralStorageReserved 1

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

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.

Unit: Gigabytes (GB)

MemoryUtilized

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

The memory being used by tasks in the resource that is specified by the dimension set that you're using.

Unit: Megabytes

MemoryReserved

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

The memory that is reserved by tasks 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.

Unit: Megabytes

NetworkRxBytes

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

The number of bytes received by the resource 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 awsvpc or bridge network modes.

Unit: Bytes/Second

NetworkTxBytes

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

The number of bytes transmitted by the resource 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 awsvpc or bridge network modes.

Unit: Bytes/Second

PendingTaskCount

ServiceName, ClusterName

The number of tasks currently in the PENDING state.

Unit: Count

RunningTaskCount

ServiceName, ClusterName

The number of tasks currently in the RUNNING state.

Unit: Count

RestartCount

ClusterName

ClusterName, ServiceName

ClusterName, TaskDefinitionFamily

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

The number of times a container in an Amazon ECS task has been restarted.

This metric is collected only for containers that have a restart policy enabled.

Unit: Count

ServiceCount

ClusterName

The number of services in the cluster.

Unit: Count

StorageReadBytes

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

The number of bytes read from storage on the instance 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.

Unit: Bytes

StorageWriteBytes

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

The number of bytes written to storage in the resource that is specified by the dimensions that you're using. This metric is obtained from the Docker runtime.

Unit: Bytes

TaskCount

ClusterName

The number of tasks running in the cluster.

Unit: Count

TaskCpuUtilization

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

The total percentage of CPU units being used by a task.

Unit: Percent

TaskEphemeralStorageUtilization

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

The total percentage of ephemeral storage being used by a task.

Unit: Percent

TaskMemoryUtilization

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

The total percentage of memory being used by a task.

Unit: Percent

TaskSetCount

ServiceName, ClusterName

The number of task sets in the service.

Unit: Count

Note

The EphemeralStorageReserved and EphemeralStorageUtilized metrics are only available for tasks that run on Fargate Linux platform version 1.4.0 or later.

Fargate reserves space on disk. It is only used by Fargate. You aren't billed for it. It isn't shown in these metrics. However, you can see this additional storage in other tools such as df.

The following metrics are available when you complete the steps in Deploying the CloudWatch agent to collect EC2 instance-level metrics on Amazon ECS and use the EC2 launch type.

Metric name Dimensions Description

instance_cpu_limit

ClusterName

The maximum number of CPU units that can be assigned to a single EC2 instance in the cluster.

Unit: None

instance_cpu_reserved_capacity

ClusterName

InstanceId, ContainerInstanceId, ClusterName

The percentage of CPU currently being reserved on a single EC2 instance in the cluster.

Unit: Percent

instance_cpu_usage_total

ClusterName

The number of CPU units being used on a Single EC2 instance in the cluster.

Unit: None

instance_cpu_utilization

ClusterName

InstanceId, ContainerInstanceId, ClusterName

The total percentage of CPU units being used on a single EC2 instance in the cluster.

Unit: Percent

instance_filesystem_utilization

ClusterName

InstanceId, ContainerInstanceId, ClusterName

The total percentage of file system capacity being used on a single EC2 instance in the cluster.

Unit: Percent

instance_memory_limit

ClusterName

The maximum amount of memory, in bytes, that can be assigned to a single EC2 instance in this cluster.

Unit: Bytes

instance_memory_reserved_capacity

ClusterName

InstanceId, ContainerInstanceId, ClusterName

The percentage of Memory currently being reserved on a single EC2 instance in the cluster.

Unit: Percent

instance_memory_utilization

ClusterName

InstanceId, ContainerInstanceId, ClusterName

The total percentage of memory being used on a single EC2 instance in the cluster.

Note

If you're using the Java ZGC garbage collector for your application, this metric might be inaccurate.

Unit: Percent

instance_memory_working_set

ClusterName

The amount of memory, in bytes, being used on a single EC2 instance in the cluster.

Note

If you're using the Java ZGC garbage collector for your application, this metric might be inaccurate.

Unit: Bytes

instance_network_total_bytes

ClusterName

The total number of bytes per second transmitted and received over the network on a single EC2 instance in the cluster.

Unit: Bytes/second

instance_number_of_running_tasks

ClusterName

The number of running tasks on a single EC2 instance in the cluster.

Unit: Count