Awscontainerinsight Receiver
contrib
Maintainers: @Aneurysm9, @pxaws
Source: opentelemetry-collector-contrib
Supported Telemetry
Overview
Overview
AWS Container Insights Receiver (awscontainerinsight) is an AWS specific receiver that supports CloudWatch Container Insights. CloudWatch Container Insights collect, aggregate,
and summarize metrics and logs from your containerized applications and microservices. Data are collected as as performance log events
using embedded metric format. From the EMF data, Amazon CloudWatch can create the aggregated CloudWatch metrics at the cluster, node, pod, task, and service level.
CloudWatch Container Insights has been supported by ECS Agent and CloudWatch Agent to collect infrastructure metrics for many resources such as such as CPU, memory, disk, and network. To migrate existing customers to use OpenTelemetry, AWS Container Insights Receiver (together with CloudWatch EMF Exporter) aims to support the same CloudWatch Container Insights experience for the following platforms:
- Amazon ECS
- Amazon EKS
- Kubernetes platforms on Amazon EC2
Design of AWS Container Insights Receiver
See the design docConfiguration
Example configuration:Sample configuration for Container Insights
This is a sample configuration for AWS Container Insights using theawscontainerinsight and awsemfexporter for an EKS cluster:
Available Metrics and Resource Attributes
Cluster
| Metric | Unit |
|---|---|
| cluster_failed_node_count | Count |
| cluster_node_count | Count |
| Resource Attribute |
|---|
| ClusterName |
| NodeName |
| Type |
| Version |
| Sources |
Cluster Namespace
| Metric | Unit |
|---|---|
| namespace_number_of_running_pods | Count |
| Resource Attribute |
|---|
| ClusterName |
| NodeName |
| Namespace |
| Type |
| Version |
| Sources |
| kubernete |
Cluster Service
| Metric | Unit |
|---|---|
| service_number_of_running_pods | Count |
| Resource Attribute |
|---|
| ClusterName |
| NodeName |
| Namespace |
| Service |
| Type |
| Version |
| Sources |
| kubernete |
Node
| Metric | Unit |
|---|---|
| node_cpu_limit | Millicore |
| node_cpu_request | Millicore |
| node_cpu_reserved_capacity | Percent |
| node_cpu_usage_system | Millicore |
| node_cpu_usage_total | Millicore |
| node_cpu_usage_user | Millicore |
| node_cpu_utilization | Percent |
| node_memory_cache | Bytes |
| node_memory_failcnt | Count |
| node_memory_hierarchical_pgfault | Count/Second |
| node_memory_hierarchical_pgmajfault | Count/Second |
| node_memory_limit | Bytes |
| node_memory_mapped_file | Bytes |
| node_memory_max_usage | Bytes |
| node_memory_pgfault | Count/Second |
| node_memory_pgmajfault | Count/Second |
| node_memory_request | Bytes |
| node_memory_reserved_capacity | Percent |
| node_memory_rss | Bytes |
| node_memory_swap | Bytes |
| node_memory_usage | Bytes |
| node_memory_utilization | Percent |
| node_memory_working_set | Bytes |
| node_network_rx_bytes | Bytes/Second |
| node_network_rx_dropped | Count/Second |
| node_network_rx_errors | Count/Second |
| node_network_rx_packets | Count/Second |
| node_network_total_bytes | Bytes/Second |
| node_network_tx_bytes | Bytes/Second |
| node_network_tx_dropped | Count/Second |
| node_network_tx_errors | Count/Second |
| node_network_tx_packets | Count/Second |
| node_number_of_running_containers | Count |
| node_number_of_running_pods | Count |
| Resource Attribute |
|---|
| ClusterName |
| InstanceType |
| NodeName |
| Type |
| Version |
| Sources |
| kubernete |
Node Disk IO
| Metric | Unit |
|---|---|
| node_diskio_io_serviced_async | Count/Second |
| node_diskio_io_serviced_read | Count/Second |
| node_diskio_io_serviced_sync | Count/Second |
| node_diskio_io_serviced_total | Count/Second |
| node_diskio_io_serviced_write | Count/Second |
| node_diskio_io_service_bytes_async | Bytes/Second |
| node_diskio_io_service_bytes_read | Bytes/Second |
| node_diskio_io_service_bytes_sync | Bytes/Second |
| node_diskio_io_service_bytes_total | Bytes/Second |
| node_diskio_io_service_bytes_write | Bytes/Second |
| Resource Attribute |
|---|
| AutoScalingGroupName |
| ClusterName |
| InstanceId |
| InstanceType |
| NodeName |
| EBSVolumeId |
| device |
| Type |
| Version |
| Sources |
| kubernete |
Node Filesystem
| Metric | Unit |
|---|---|
| node_filesystem_available | Bytes |
| node_filesystem_capacity | Bytes |
| node_filesystem_inodes | Count |
| node_filesystem_inodes_free | Count |
| node_filesystem_usage | Bytes |
| node_filesystem_utilization | Percent |
| Resource Attribute |
|---|
| AutoScalingGroupName |
| ClusterName |
| InstanceId |
| InstanceType |
| NodeName |
| EBSVolumeId |
| device |
| fstype |
| Type |
| Version |
| Sources |
| kubernete |
Node Network
| Metric | Unit |
|---|---|
| node_interface_network_rx_bytes | Bytes/Second |
| node_interface_network_rx_dropped | Count/Second |
| node_interface_network_rx_errors | Count/Second |
| node_interface_network_rx_packets | Count/Second |
| node_interface_network_total_bytes | Bytes/Second |
| node_interface_network_tx_bytes | Bytes/Second |
| node_interface_network_tx_dropped | Count/Second |
| node_interface_network_tx_errors | Count/Second |
| node_interface_network_tx_packets | Count/Second |
| Resource Attribute |
|---|
| AutoScalingGroupName |
| ClusterName |
| InstanceId |
| InstanceType |
| NodeName |
| Type |
| Version |
| interface |
| Sources |
| kubernete |
Pod
| Metric | Unit |
|---|---|
| pod_cpu_limit | Millicore |
| pod_cpu_request | Millicore |
| pod_cpu_reserved_capacity | Percent |
| pod_cpu_usage_system | Millicore |
| pod_cpu_usage_total | Millicore |
| pod_cpu_usage_user | Millicore |
| pod_cpu_utilization | Percent |
| pod_cpu_utilization_over_pod_limit | Percent |
| pod_memory_cache | Bytes |
| pod_memory_failcnt | Count |
| pod_memory_hierarchical_pgfault | Count/Second |
| pod_memory_hierarchical_pgmajfault | Count/Second |
| pod_memory_limit | Bytes |
| pod_memory_mapped_file | Bytes |
| pod_memory_max_usage | Bytes |
| pod_memory_pgfault | Count/Second |
| pod_memory_pgmajfault | Count/Second |
| pod_memory_request | Bytes |
| pod_memory_reserved_capacity | Percent |
| pod_memory_rss | Bytes |
| pod_memory_swap | Bytes |
| pod_memory_usage | Bytes |
| pod_memory_utilization | Percent |
| pod_memory_utilization_over_pod_limit | Percent |
| pod_memory_working_set | Bytes |
| pod_network_rx_bytes | Bytes/Second |
| pod_network_rx_dropped | Count/Second |
| pod_network_rx_errors | Count/Second |
| pod_network_rx_packets | Count/Second |
| pod_network_total_bytes | Bytes/Second |
| pod_network_tx_bytes | Bytes/Second |
| pod_network_tx_dropped | Count/Second |
| pod_network_tx_errors | Count/Second |
| pod_network_tx_packets | Count/Second |
| pod_number_of_container_restarts | Count |
| pod_number_of_containers | Count |
| pod_number_of_running_containers | Count |
| Resource Attribute |
|---|
| AutoScalingGroupName |
| ClusterName |
| InstanceId |
| InstanceType |
| K8sPodName |
| Namespace |
| NodeName |
| PodId |
| Type |
| Version |
| Sources |
| kubernete |
| pod_status |
Pod Network
| Metric | Unit |
|---|---|
| pod_interface_network_rx_bytes | Bytes/Second |
| pod_interface_network_rx_dropped | Count/Second |
| pod_interface_network_rx_errors | Count/Second |
| pod_interface_network_rx_packets | Count/Second |
| pod_interface_network_total_bytes | Bytes/Second |
| pod_interface_network_tx_bytes | Bytes/Second |
| pod_interface_network_tx_dropped | Count/Second |
| pod_interface_network_tx_errors | Count/Second |
| pod_interface_network_tx_packets | Count/Second |
| Resource Attribute |
|---|
| AutoScalingGroupName |
| ClusterName |
| InstanceId |
| InstanceType |
| K8sPodName |
| Namespace |
| NodeName |
| PodId |
| Type |
| Version |
| interface |
| Sources |
| kubernete |
| pod_status |
Container
| Metric | Unit |
|---|---|
| container_cpu_limit | Millicore |
| container_cpu_request | Millicore |
| container_cpu_usage_system | Millicore |
| container_cpu_usage_total | Millicore |
| container_cpu_usage_user | Millicore |
| container_cpu_utilization | Percent |
| container_memory_cache | Bytes |
| container_memory_failcnt | Count |
| container_memory_hierarchical_pgfault | Count/Second |
| container_memory_hierarchical_pgmajfault | Count/Second |
| container_memory_limit | Bytes |
| container_memory_mapped_file | Bytes |
| container_memory_max_usage | Bytes |
| container_memory_pgfault | Count/Second |
| container_memory_pgmajfault | Count/Second |
| container_memory_request | Bytes |
| container_memory_rss | Bytes |
| container_memory_swap | Bytes |
| container_memory_usage | Bytes |
| container_memory_utilization | Percent |
| container_memory_working_set | Bytes |
| number_of_container_restarts | Count |
| Resource Attribute |
|---|
| AutoScalingGroupName |
| ClusterName |
| ContainerId |
| ContainerName |
| InstanceId |
| InstanceType |
| K8sPodName |
| Namespace |
| NodeName |
| PodId |
| Type |
| Version |
| Sources |
| kubernetes |
| container_status |
| container_status_reason |
| container_last_termination_reason |
container_status_reason is present only when container_status is in “Waiting” or “Terminated” State. The attribute container_last_termination_reason is present only when container_status is in “Terminated” State.
This is a sample configuration for AWS Container Insights using the awscontainerinsight and awsemfexporter for an ECS cluster to collect the instance level metrics:
Available Metrics and Resource Attributes
Instance
| Metric | Unit |
|---|---|
| instance_cpu_limit | Millicore |
| instance_cpu_reserved_capacity | Percent |
| instance_cpu_usage_system | Millicore |
| instance_cpu_usage_total | Millicore |
| instance_cpu_usage_user | Millicore |
| instance_cpu_utilization | Percent |
| instance_memory_cache | Bytes |
| instance_memory_failcnt | Count |
| instance_memory_hierarchical_pgfault | Count/Second |
| instance_memory_hierarchical_pgmajfault | Count/Second |
| instance_memory_limit | Bytes |
| instance_memory_mapped_file | Bytes |
| instance_memory_max_usage | Bytes |
| instance_memory_pgfault | Count/Second |
| instance_memory_pgmajfault | Count/Second |
| instance_memory_reserved_capacity | Percent |
| instance_memory_rss | Bytes |
| instance_memory_swap | Bytes |
| instance_memory_usage | Bytes |
| instance_memory_utilization | Percent |
| instance_memory_working_set | Bytes |
| instance_network_rx_bytes | Bytes/Second |
| instance_network_rx_dropped | Count/Second |
| instance_network_rx_errors | Count/Second |
| instance_network_rx_packets | Count/Second |
| instance_network_total_bytes | Bytes/Second |
| instance_network_tx_bytes | Bytes/Second |
| instance_network_tx_dropped | Count/Second |
| instance_network_tx_errors | Count/Second |
| instance_network_tx_packets | Count/Second |
| instance_number_of_running_tasks | Count |
| Resource Attribute |
|---|
| ClusterName |
| InstanceType |
| AutoScalingGroupName |
| Type |
| Version |
| Sources |
| ContainerInstanceId |
| InstanceId |
Instance Disk IO
| Metric | Unit |
|---|---|
| instance_diskio_io_serviced_async | Count/Second |
| instance_diskio_io_serviced_read | Count/Second |
| instance_diskio_io_serviced_sync | Count/Second |
| instance_diskio_io_serviced_total | Count/Second |
| instance_diskio_io_serviced_write | Count/Second |
| instance_diskio_io_service_bytes_async | Bytes/Second |
| instance_diskio_io_service_bytes_read | Bytes/Second |
| instance_diskio_io_service_bytes_sync | Bytes/Second |
| instance_diskio_io_service_bytes_total | Bytes/Second |
| instance_diskio_io_service_bytes_write | Bytes/Second |
| Resource Attribute |
|---|
| ClusterName |
| InstanceType |
| AutoScalingGroupName |
| Type |
| Version |
| Sources |
| ContainerInstanceId |
| InstanceId |
| EBSVolumeId |
Instance Filesystem
| Metric | Unit |
|---|---|
| instance_filesystem_available | Bytes |
| instance_filesystem_capacity | Bytes |
| instance_filesystem_inodes | Count |
| instance_filesystem_inodes_free | Count |
| instance_filesystem_usage | Bytes |
| instance_filesystem_utilization | Percent |
| Resource Attribute |
|---|
| ClusterName |
| InstanceType |
| AutoScalingGroupName |
| Type |
| Version |
| Sources |
| ContainerInstanceId |
| InstanceId |
| EBSVolumeId |
Instance Network
| Metric | Unit |
|---|---|
| instance_interface_network_rx_bytes | Bytes/Second |
| instance_interface_network_rx_dropped | Count/Second |
| instance_interface_network_rx_errors | Count/Second |
| instance_interface_network_rx_packets | Count/Second |
| instance_interface_network_total_bytes | Bytes/Second |
| instance_interface_network_tx_bytes | Bytes/Second |
| instance_interface_network_tx_dropped | Count/Second |
| instance_interface_network_tx_errors | Count/Second |
| instance_interface_network_tx_packets | Count/Second |
| Resource Attribute |
|---|
| ClusterName |
| InstanceType |
| AutoScalingGroupName |
| Type |
| Version |
| Sources |
| ContainerInstanceId |
| InstanceId |
| EBSVolumeId |
Warnings
Root permissions
When using this component, the collector process needs root permission to be able to read the content of the files located in the following locations://var/run/docker.sock/var/lib/docker/run/containerd/containerd.sock/sys/dev/disk
Configuration
Example Configuration
Last generated: 2026-04-13