Amazon ECS Container Insights

Dynatrace ingests metrics for multiple preselected namespaces, including Amazon ECS Container Insights. You can view metrics for each service instance, split metrics into multiple dimensions, and create custom charts that you can pin to your dashboards.

Prerequisites

To enable monitoring for this service, you need

  • An Environment or Cluster ActiveGate version 1.197+
  • Dynatrace version 1.203+
  • An updated AWS monitoring policy to include the additional AWS services.
    To update the AWS IAM policy, use the JSON below, containing the monitoring policy (permissions) for all supporting services.

If you don't want to add permissions to all services, and just select permissions for certain services, consult the table below. The table contains a set of permissions that are required for all services (All monitored Amazon services) and, for each supporting service, a list of optional permissions specific to that service.

Example of JSON policy for one single service.

In this example, from the complete list of permissions you need to select

  • "apigateway:GET" for Amazon API Gateway
  • "cloudwatch:GetMetricData", "cloudwatch:GetMetricStatistics", "cloudwatch:ListMetrics", "sts:GetCallerIdentity", "tag:GetResources", "tag:GetTagKeys", and "ec2:DescribeAvailabilityZones" for All monitored Amazon services.

Enable monitoring

To enable monitoring for this service, you first need to integrate Dynatrace with Amazon Web Services:

Add the service to monitoring

In order to view the service metrics, you must add the service to monitoring in your Dynatrace environment.

Cloud-service monitoring consumption

Beginning in early 2021, all cloud services will consume Davis Data Units (DDUs). The amount of DDU consumption per service instance depends on the number of monitored metrics and their dimensions (each metric dimension results in the ingestion of 1 data point; 1 data point consumes 0.001 DDUs). For DDU consumption estimates per service instance (recommended metrics only, predefined dimensions, and assumed dimension values), see DDU consumption estimates for per cloud service instance.

Monitor resources based on tags

You can choose to monitor resources based on existing AWS tags, as Dynatrace automatically imports them from service instances. Nevertheless, the transition from AWS to Dynatrace tagging isn't supported for all AWS services. Expand the table below to see which supporting services are filtered by tagging.

To monitor resources based on tags

  1. Go to Settings > Cloud and virtualization > AWS and select the AWS instance.
  2. For Resource monitoring method, select Monitor resources based on tags.
  3. Enter the Key and Value.
  4. Select Save.

tags-aws

Configure service metrics

Once you add a service, Dynatrace starts automatically collecting a suite of metrics for this particular service. These are recommended metrics.

Recommended metrics:

  • Are enabled by default
  • Can't be disabled
  • Can have recommended dimensions (enabled by default, can't be disabled)
  • Can have optional dimensions (disabled by default, can be enabled)

Apart from the recommended metrics, most services have the possibility of enabling optional metrics.

Optional metrics:

  • Can be added and configured manually

View service metrics

Once you add the service to monitoring, you can view the service metrics in your Dynatrace environment either on your dashboard page or on the custom device overview page.

Import preset dashboards

Dynatrace provides preset AWS dashboards that you can import from GitHub to your environment's Dashboards page.
Note: To save a preset dashboard locally, create a new JSON file on your local machine and copy-paste the content of the JSON file from GitHub into the new file.
Once you save a preset dashboard locally, there are two ways to import it.

container-insights

Available metrics

Name Description Unit Statistics Dimensions Recommended
ContainerInstanceCount The number of EC2 instances running the Amazon ECS agent that are registered with a cluster Count Sum ClusterName
CpuReserved The CPU units reserved by tasks in the resource that is specified by the dimension set that you're using None Multi ClusterName
CpuReserved None Multi ClusterName, TaskDefinitionFamily
CpuReserved None Multi ClusterName, ServiceName
CpuReserved None Sum ClusterName
CpuReserved None Sum ClusterName, TaskDefinitionFamily
CpuReserved None Sum ClusterName, ServiceName
CpuReserved None Count ClusterName
CpuReserved None Count ClusterName, TaskDefinitionFamily
CpuReserved None Count ClusterName, ServiceName
CpuUtilized None Multi ClusterName ✔️
CpuUtilized The CPU units used by tasks in the resource that is specified by the dimension set that you're using None Multi ClusterName, TaskDefinitionFamily
CpuUtilized None Multi ClusterName, ServiceName ✔️
CpuUtilized None Sum ClusterName
CpuUtilized None Sum ClusterName, TaskDefinitionFamily
CpuUtilized None Sum ClusterName, ServiceName
CpuUtilized None Count ClusterName
CpuUtilized None Count ClusterName, TaskDefinitionFamily
CpuUtilized None Count ClusterName, ServiceName
DeploymentCount The number of deployments in an Amazon ECS service Count Multi ClusterName, ServiceName
DeploymentCount Count Sum ClusterName, ServiceName
DesiredTaskCount The desired number of tasks for an Amazon ECS service Count Multi ClusterName, ServiceName
DesiredTaskCount Count Sum ClusterName, ServiceName
MemoryReserved The memory that is reserved by tasks in the resource that is specified by the dimension set that you're using Megabytes Multi ClusterName
MemoryReserved Megabytes Multi ClusterName, TaskDefinitionFamily
MemoryReserved Megabytes Multi ClusterName, ServiceName
MemoryReserved Megabytes Sum ClusterName
MemoryReserved Megabytes Sum ClusterName, TaskDefinitionFamily
MemoryReserved Megabytes Sum ClusterName, ServiceName
MemoryReserved Megabytes Count ClusterName
MemoryReserved Megabytes Count ClusterName, TaskDefinitionFamily
MemoryReserved Megabytes Count ClusterName, ServiceName
MemoryUtilized The memory being used by tasks in the resource that is specified by the dimension set that you're using Megabytes Multi ClusterName ✔️
MemoryUtilized Megabytes Multi ClusterName, TaskDefinitionFamily
MemoryUtilized Megabytes Multi ClusterName, ServiceName ✔️
MemoryUtilized Megabytes Sum ClusterName
MemoryUtilized Megabytes Sum ClusterName, TaskDefinitionFamily
MemoryUtilized Megabytes Sum ClusterName, ServiceName
MemoryUtilized Megabytes Count ClusterName
MemoryUtilized Megabytes Count ClusterName, TaskDefinitionFamily
MemoryUtilized Megabytes Count ClusterName, ServiceName
NetworkRxBytes The number of bytes received by the resource that is specified by the dimensions that you're using Bytes/Second Multi ClusterName ✔️
NetworkRxBytes Bytes/Second Multi ClusterName, ServiceName ✔️
NetworkRxBytes Bytes/Second Multi ClusterName, TaskDefinitionFamily
NetworkTxBytes The number of bytes transmitted by the resource that is specified by the dimensions that you're using Bytes/Second Multi ClusterName, ServiceName ✔️
NetworkTxBytes Bytes/Second Multi ClusterName, TaskDefinitionFamily
NetworkTxBytes Bytes/Second Multi ClusterName ✔️
PendingTaskCount The number of tasks currently in Pending state Count Multi ClusterName, ServiceName
PendingTaskCount Count Sum ClusterName, ServiceName
RunningTaskCount The number of tasks currently in Running state Count Multi ClusterName, ServiceName ✔️
ServiceCount The number of services in the cluster Count Sum ClusterName
StorageReadBytes The number of bytes read from storage in the resource that is specified by the dimensions that you're using Bytes/Second Multi ClusterName ✔️
StorageReadBytes Bytes/Second Multi ClusterName, TaskDefinitionFamily
StorageReadBytes Bytes/Second Multi ClusterName, ServiceName ✔️
StorageWriteBytes The number of bytes written to storage in the resource that is specified by the dimensions that you're using Bytes/Second Multi ClusterName ✔️
StorageWriteBytes Bytes/Second Multi ClusterName, TaskDefinitionFamily
StorageWriteBytes Bytes/Second Multi ClusterName, ServiceName ✔️
TaskCount The number of tasks running in the cluster Count Multi ClusterName ✔️
TaskSetCount The number of task sets in the service Count Multi ClusterName, ServiceName
TaskSetCount Count Sum ClusterName, ServiceName
instance_cpu_limit The maximum number of CPU units that can be assigned to a single EC2 instance in the cluster None Multi ClusterName
instance_cpu_limit None Sum ClusterName
instance_cpu_limit None Count ClusterName
instance_cpu_reserved_capacity The percentage of CPU currently being reserved on a single EC2 instance in the cluster Percent Multi ClusterName, ContainerInstanceId, InstanceId
instance_cpu_reserved_capacity Percent Multi ClusterName
instance_cpu_usage_total The number of CPU units being used on a single EC2 instance in the cluster None Multi ClusterName
instance_cpu_usage_total None Sum ClusterName
instance_cpu_usage_total None Count ClusterName
instance_cpu_utilization The total percentage of CPU units being used on a single EC2 instance in the cluster Percent Multi ClusterName, ContainerInstanceId, InstanceId
instance_cpu_utilization Percent Multi ClusterName ✔️
instance_filesystem_utilization The total percentage of file system capacity being used on a single EC2 instance in the cluster Percent Multi ClusterName, ContainerInstanceId, InstanceId
instance_filesystem_utilization Percent Multi ClusterName ✔️
instance_memory_limit The maximum amount of memory, in bytes, that can be assigned to a single EC2 instance in the cluster Bytes Multi ClusterName
instance_memory_limit Bytes Sum ClusterName
instance_memory_limit Bytes Count ClusterName
instance_memory_reserved_capacity The percentage of memory currently being reserved on a single EC2 instance in the cluster Percent Multi ClusterName, ContainerInstanceId, InstanceId
instance_memory_reserved_capacity Percent Multi ClusterName
instance_memory_utilization The total percentage of memory being used on a single EC2 instance in the cluster Percent Multi ClusterName, ContainerInstanceId, InstanceId
instance_memory_utilization Percent Multi ClusterName ✔️
instance_memory_working_set The amount of memory, in bytes, being used on a single EC2 instance in the cluster Bytes Multi ClusterName
instance_memory_working_set Bytes Sum ClusterName
instance_memory_working_set Bytes Count ClusterName
instance_network_total_bytes The total number of bytes per second transmitted and received over the network on a single EC2 instance in the cluster Bytes/Second Multi ClusterName, ContainerInstanceId, InstanceId
instance_network_total_bytes Bytes/Second Multi ClusterName ✔️
instance_number_of_running_tasks The number of running tasks on a single EC2 instance in the cluster Count Sum ClusterName, ContainerInstanceId, InstanceId
instance_number_of_running_tasks Count Multi ClusterName ✔️
instance_number_of_running_tasks Count Sum ClusterName