Amazon ECS on EC2
New announcements from Dash: Incident Management, Continuous Profiler, and more! New announcements from Dash!

Amazon ECS on EC2

Crawler Crawler
Looking to deploy the containerized Datadog Agent to your ECS cluster? Refer to the dedicated Amazon ECS Agent documentation.

Overview

Amazon ECS on EC2 is a highly scalable, high performance container management service for Docker containers running on EC2 instances.

Collect ECS metrics automatically from CloudWatch using the Amazon ECS Datadog integration. Expand on those metrics by querying the ECS API for ECS events, tags, and the status of container instances, tasks, and services.

Setup

Installation

If you haven’t already, set up the Amazon Web Services integration first.

Metric collection

  1. Follow the AWS Integration role delegation setup instructions.

  2. In the AWS tile, add the name of the IAM role and check the ECS box under Limit metric collection.

When metric collection is enabled, an out-of-the-box dashboard that provides detailed information about your ECS metrics is available for this integration. Learn more about this dashboard.

Data collected

Metrics

aws.ecs.cluster.cpureservation
(gauge)
The percentage of CPU units that are reserved by running tasks in the cluster.
Shown as percent
aws.ecs.cluster.cpureservation.maximum
(gauge)
The maximum percentage of CPU units that are reserved by running tasks in the cluster.
Shown as percent
aws.ecs.cluster.cpureservation.minimum
(gauge)
The minimum percentage of CPU units that are reserved by running tasks in the cluster.
Shown as percent
aws.ecs.cluster.cpuutilization
(gauge)
The percentage of CPU units that are used in the cluster or service.
Shown as percent
aws.ecs.cluster.cpuutilization.maximum
(gauge)
The maximum percentage of CPU units that are used in the cluster or service.
Shown as percent
aws.ecs.cluster.cpuutilization.minimum
(gauge)
The minimum percentage of CPU units that are used in the cluster or service.
Shown as percent
aws.ecs.cluster.memory_reservation
(gauge)
The percentage of memory that is reserved by running tasks in the cluster.
Shown as percent
aws.ecs.cluster.memory_reservation.maximum
(gauge)
The maximum percentage of memory that is reserved by running tasks in the cluster.
Shown as percent
aws.ecs.cluster.memory_reservation.minimum
(gauge)
The minimum percentage of memory that is reserved by running tasks in the cluster.
Shown as percent
aws.ecs.cluster.memory_utilization
(gauge)
The percentage of memory that is used in the cluster or service.
Shown as percent
aws.ecs.cluster.memory_utilization.maximum
(gauge)
The maximum percentage of memory that is used in the cluster or service.
Shown as percent
aws.ecs.cluster.memory_utilization.minimum
(gauge)
The minimum percentage of memory that is used in the cluster or service.
Shown as percent
aws.ecs.cpureservation
(gauge)
The percentage of CPU units that are reserved by running tasks in the cluster.
Shown as percent
aws.ecs.cpureservation.maximum
(gauge)
The maximum percentage of CPU units that are reserved by running tasks in the cluster.
Shown as percent
aws.ecs.cpureservation.minimum
(gauge)
The minimum percentage of CPU units that are reserved by running tasks in the cluster.
Shown as percent
aws.ecs.cpuutilization
(gauge)
The percentage of CPU units that are used in the cluster or service.
Shown as percent
aws.ecs.cpuutilization.maximum
(gauge)
The maximum percentage of CPU units that are used in the cluster or service.
Shown as percent
aws.ecs.cpuutilization.minimum
(gauge)
The minimum percentage of CPU units that are used in the cluster or service.
Shown as percent
aws.ecs.memory_reservation
(gauge)
The percentage of memory that is reserved by running tasks in the cluster.
Shown as percent
aws.ecs.memory_reservation.maximum
(gauge)
The maximum percentage of memory that is reserved by running tasks in the cluster.
Shown as percent
aws.ecs.memory_reservation.minimum
(gauge)
The minimum percentage of memory that is reserved by running tasks in the cluster.
Shown as percent
aws.ecs.memory_utilization
(gauge)
The percentage of memory that is used in the cluster or service.
Shown as percent
aws.ecs.memory_utilization.maximum
(gauge)
The maximum percentage of memory that is used in the cluster or service.
Shown as percent
aws.ecs.memory_utilization.minimum
(gauge)
The minimum percentage of memory that is used in the cluster or service.
Shown as percent
aws.ecs.pending_tasks_count
(gauge)
The number of tasks on the container instance that are in the PENDING status.
Shown as task
aws.ecs.registered_cpu
(gauge)
The number of CPU units registered on the container instance
aws.ecs.registered_memory
(gauge)
The number of Memory units registered on the container instance
aws.ecs.remaining_cpu
(gauge)
The number of CPU units remaining on the container instance
aws.ecs.remaining_memory
(gauge)
The number of Memory units remaining on the container instance
aws.ecs.running_tasks_count
(gauge)
The number of tasks on the container instance that are in the RUNNING status.
Shown as task
aws.ecs.service.cpuutilization
(gauge)
Average percentage of CPU units that are used in the service.
Shown as percent
aws.ecs.service.cpuutilization.maximum
(gauge)
Maximum percentage of CPU units that are used in the service.
Shown as percent
aws.ecs.service.cpuutilization.minimum
(gauge)
Minimum percentage of CPU units that are used in the service.
Shown as percent
aws.ecs.service.desired
(gauge)
The number of tasks in the cluster that are in the desired state
aws.ecs.service.memory_utilization
(gauge)
Average percentage of memory that is used in the service.
Shown as percent
aws.ecs.service.memory_utilization.maximum
(gauge)
Maximum percentage of memory that is used in the service.
Shown as percent
aws.ecs.service.memory_utilization.minimum
(gauge)
Minimum percentage of memory that is used in the service.
Shown as percent
aws.ecs.service.pending
(gauge)
The number of tasks in the cluster that are in the pending state
Shown as task
aws.ecs.service.running
(gauge)
The number of tasks in the cluster that are in the running state
Shown as task
aws.ecs.services
(gauge)
The number of services running per cluster
ecs.containerinsights.container_instance_count
(count)
The number of EC2 instances running the Amazon ECS agent that are registered with a cluster.
Shown as instance
ecs.containerinsights.container_instance_count.maximum
(count)
The maximum number of EC2 instances running the Amazon ECS agent that are registered with a cluster.
Shown as instance
ecs.containerinsights.container_instance_count.minimum
(count)
The minimum number of EC2 instances running the Amazon ECS agent that are registered with a cluster.
Shown as instance
ecs.containerinsights.container_instance_count.samplecount
(count)
A sample count of EC2 instances running the Amazon ECS agent that are registered with a cluster.
Shown as instance
ecs.containerinsights.container_instance_count.sum
(count)
The sum of EC2 instances running the Amazon ECS agent that are registered with a cluster.
Shown as instance
ecs.containerinsights.cpu_reserved
(gauge)
The CPU units reserved by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.cpu_reserved.maximum
(gauge)
The maximum CPU units reserved by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.cpu_reserved.minimum
(gauge)
The minimum CPU units reserved by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.cpu_reserved.samplecount
(gauge)
A sample count of CPU units reserved by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.cpu_reserved.sum
(gauge)
The sum of CPU units reserved by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.cpu_utilized
(gauge)
The CPU units used by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.cpu_utilized.maximum
(gauge)
The maximum CPU units used by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.cpu_utilized.minimum
(gauge)
The minimum CPU units used by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.cpu_utilized.samplecount
(gauge)
A sample count of CPU units used by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.cpu_utilized.sum
(gauge)
The sum of CPU units used by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.deployment_count
(count)
The number of deployments in an Amazon ECS service.
ecs.containerinsights.deployment_count.maximum
(count)
The maximum number of deployments in an Amazon ECS service.
ecs.containerinsights.deployment_count.minimum
(count)
The minimum number of deployments in an Amazon ECS service.
ecs.containerinsights.deployment_count.samplecount
(count)
A sample count of the deployments in an Amazon ECS service.
ecs.containerinsights.deployment_count.sum
(count)
The sum of deployments in an Amazon ECS service.
ecs.containerinsights.desired_task_count
(count)
The number of desired tasks for an Amazon ECS service.
Shown as task
ecs.containerinsights.desired_task_count.maximum
(count)
The maximum number of desired tasks for an Amazon ECS service.
Shown as task
ecs.containerinsights.desired_task_count.minimum
(count)
The minimum number of desired tasks for an Amazon ECS service.
Shown as task
ecs.containerinsights.desired_task_count.samplecount
(count)
A sample count of desired tasks for an Amazon ECS service.
Shown as task
ecs.containerinsights.desired_task_count.sum
(count)
The sum of desired tasks for an Amazon ECS service.
Shown as task
ecs.containerinsights.memory_reserved
(gauge)
The memory reserved by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.memory_reserved.maximum
(gauge)
The maximum memory reserved by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.memory_reserved.minimum
(gauge)
The minimum memory reserved by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.memory_reserved.samplecount
(gauge)
A sample count of memory reserved by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.memory_reserved.sum
(gauge)
The sum of memory reserved by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.memory_utilized
(gauge)
The memory being used by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.memory_utilized.maximum
(gauge)
The maximum memory being used by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.memory_utilized.minimum
(gauge)
The minimum memory being used by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.memory_utilized.samplecount
(gauge)
A sample count of memory being used by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.memory_utilized.sum
(gauge)
The sum of memory being used by tasks in the specified resource for the chosen dimension.
ecs.containerinsights.pending_task_count
(count)
The number of tasks currently in the PENDING state.
Shown as task
ecs.containerinsights.pending_task_count.maximum
(count)
The maximum number of tasks currently in the PENDING state.
Shown as task
ecs.containerinsights.pending_task_count.minimum
(count)
The minimum number of tasks currently in the PENDING state.
Shown as task
ecs.containerinsights.pending_task_count.samplecount
(count)
A sample count of tasks currently in the PENDING state.
Shown as task
ecs.containerinsights.pending_task_count.sum
(count)
The sum of tasks currently in the PENDING state.
Shown as task
ecs.containerinsights.running_task_count
(count)
The number of tasks currently in the RUNNING state.
Shown as task
ecs.containerinsights.running_task_count.maximum
(count)
The maximum number of tasks currently in the RUNNING state.
Shown as task
ecs.containerinsights.running_task_count.minimum
(count)
The minimum number of tasks currently in the RUNNING state.
Shown as task
ecs.containerinsights.running_task_count.samplecount
(count)
A sample count of tasks currently in the RUNNING state.
Shown as task
ecs.containerinsights.running_task_count.sum
(count)
The sum of tasks currently in the RUNNING state.
Shown as task
ecs.containerinsights.service_count
(count)
The number of services in the cluster.
Shown as service
ecs.containerinsights.service_count.maximum
(count)
The maximum number of services in the cluster.
Shown as service
ecs.containerinsights.service_count.minimum
(count)
The minimum number of services in the cluster.
Shown as service
ecs.containerinsights.service_count.samplecount
(count)
A sample count of services in the cluster.
Shown as service
ecs.containerinsights.service_count.sum
(count)
The sum of services in the cluster.
Shown as service
ecs.containerinsights.storage_read_bytes
(gauge)
The number of bytes read from storage in the specified resource for the chosen dimension.
Shown as byte
ecs.containerinsights.storage_read_bytes.maximum
(gauge)
The maximum number of bytes read from storage in the specified resource for the chosen dimension.
Shown as byte
ecs.containerinsights.storage_read_bytes.minimum
(gauge)
The minimum number of bytes read from storage in the specified resource for the chosen dimension.
Shown as byte
ecs.containerinsights.storage_read_bytes.samplecount
(gauge)
A sample count of bytes read from storage in the specified resource for the chosen dimension.
Shown as byte
ecs.containerinsights.storage_read_bytes.sum
(gauge)
The sum of bytes read from storage in the specified resource for the chosen dimension.
Shown as byte
ecs.containerinsights.storage_write_bytes
(gauge)
The number of bytes written to storage in the specified resource for the chosen dimension.
Shown as byte
ecs.containerinsights.storage_write_bytes.maximum
(gauge)
The maximum number of bytes written to storage in the specified resource for the chosen dimension.
Shown as byte
ecs.containerinsights.storage_write_bytes.minimum
(gauge)
The minimum number of bytes written to storage in the specified resource for the chosen dimension.
Shown as byte
ecs.containerinsights.storage_write_bytes.samplecount
(gauge)
A sample count of bytes written to storage in the specified resource for the chosen dimension.
Shown as byte
ecs.containerinsights.storage_write_bytes.sum
(gauge)
The sum of bytes written to storage in the specified resource for the chosen dimension.
Shown as byte
ecs.containerinsights.task_count
(count)
The number of tasks running in the service.
Shown as task
ecs.containerinsights.task_count.maximum
(count)
The maximum number of tasks running in the service.
Shown as task
ecs.containerinsights.task_count.minimum
(count)
The minimum number of tasks running in the service.
Shown as task
ecs.containerinsights.task_count.samplecount
(count)
A sample count of tasks running in the service.
Shown as task
ecs.containerinsights.task_count.sum
(count)
The sum of tasks running in the service.
Shown as task
ecs.containerinsights.task_set_count
(count)
The number of task sets in the service.
Shown as task
ecs.containerinsights.task_set_count.maximum
(count)
The maximum number of task sets in the service.
Shown as task
ecs.containerinsights.task_set_count.minimum
(count)
The minimum number of task sets in the service.
Shown as task
ecs.containerinsights.task_set_count.samplecount
(count)
A sample count of task sets in the service.
Shown as task
ecs.containerinsights.task_set_count.sum
(count)
The sum of task sets in the service.
Shown as task

Each of the metrics retrieved from AWS is assigned the same tags that appear in the AWS console, including but not limited to hostname, security-groups, and more.

Note: Metrics prefixed with ecs.containerinsights.* come from the AWS CloudWatch agent.

Events

To reduce noise, the Amazon ECS integration is automatically set up to include only events that contain the following words: drain, error, fail, insufficient memory, pending, reboot, terminate. See example events below:

To remove the whitelist and receive all events from your Datadog Amazon ECS integration, reach out to Datadog support.

Service checks

aws.ecs.agent_connected:
Returns CRITICAL if the Agent cannot connect, otherwise OK.

Troubleshooting

Need help? Contact Datadog support.