> ## Documentation Index
> Fetch the complete documentation index at: https://otel.fyi/llms.txt
> Use this file to discover all available pages before exploring further.

# Awscontainerinsight

> OpenTelemetry receiver for Awscontainerinsight

# Awscontainerinsight Receiver

![Status](https://img.shields.io/badge/status-beta-yellow)

**Available in:** `contrib`

**Maintainers:** [@Aneurysm9](https://github.com/Aneurysm9), [@pxaws](https://github.com/pxaws)

**Source:** [opentelemetry-collector-contrib](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/awscontainerinsightreceiver)

## Supported Telemetry

![Metrics](https://img.shields.io/badge/metrics-beta-green)

## Overview

## Overview

AWS Container Insights Receiver (`awscontainerinsight`) is an AWS specific receiver that supports [CloudWatch Container Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/ContainerInsights.html). 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](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Embedded_Metric_Format.html). 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](https://github.com/aws/amazon-ecs-agent) and [CloudWatch Agent](https://github.com/aws/amazon-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 doc](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/awscontainerinsightreceiver/design.md)

## Configuration

Example configuration:

```
receivers:
  awscontainerinsight:
    # all parameters are optional
    collection_interval: 60s
    container_orchestrator: eks
    add_service_as_attribute: true 
    prefer_full_pod_name: false 
    add_full_pod_name_metric_label: false 
```

There is no need to provide any parameters since they are all optional.

**collection\_interval (optional)**

The interval at which metrics should be collected. The default is 60 second.

**container\_orchestrator (optional)**

The type of container orchestration service, e.g. eks or ecs. The default is eks.

**add\_service\_as\_attribute (optional)**

Whether to add the associated service name as attribute. The default is true

**prefer\_full\_pod\_name (optional)**

The "PodName" attribute is set based on the name of the relevant controllers like Daemonset, Job, ReplicaSet, ReplicationController, ... If it cannot be set that way and PrefFullPodName is true, the "PodName" attribute is set to the pod's own name. The default value is false.

**add\_full\_pod\_name\_metric\_label (optional)**

The "FullPodName" attribute is the pod name including suffix. If false FullPodName label is not added. The default value is false

## Sample configuration for Container Insights

This is a sample configuration for AWS Container Insights using the `awscontainerinsight` and `awsemfexporter` for an EKS cluster:

```

apiVersion: v1
kind: Namespace
metadata:
  name: aws-otel-eks
  labels:
    name: aws-otel-eks

---
# create cwagent service account and role binding
apiVersion: v1
kind: ServiceAccount
metadata:
  name: aws-otel-sa
  namespace: aws-otel-eks

---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: aoc-agent-role
rules:
  - apiGroups: [""]
    resources: ["pods", "nodes", "endpoints"]
    verbs: ["list", "watch"]
  - apiGroups: ["apps"]
    resources: ["replicasets"]
    verbs: ["list", "watch"]
  - apiGroups: ["batch"]
    resources: ["jobs"]
    verbs: ["list", "watch"]
  - apiGroups: [""]
    resources: ["nodes/proxy"]
    verbs: ["get"]
  - apiGroups: [""]
    resources: ["nodes/stats", "configmaps", "events"]
    verbs: ["create", "get"]
  - apiGroups: [""]
    resources: ["configmaps"]
    resourceNames: ["otel-container-insight-clusterleader"]
    verbs: ["get","update"]

---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
  name: aoc-agent-role-binding
subjects:
  - kind: ServiceAccount
    name: aws-otel-sa
    namespace: aws-otel-eks
roleRef:
  kind: ClusterRole
  name: aoc-agent-role
  apiGroup: rbac.authorization.k8s.io

---
apiVersion: v1
kind: ConfigMap
metadata:
  name: otel-agent-conf
  namespace: aws-otel-eks
  labels:
    app: opentelemetry
    component: otel-agent-conf
data:
  otel-agent-config: |
    extensions:
      health_check:

    receivers:
      awscontainerinsight:

    exporters:
      awsemf:
        namespace: ContainerInsights
        log_group_name: '/aws/containerinsights/{ClusterName}/performance'
        log_stream_name: '{NodeName}'
        resource_to_telemetry_conversion:
          enabled: true
        dimension_rollup_option: NoDimensionRollup
        parse_json_encoded_attr_values: [Sources, kubernetes]
        sending_queue:
          batch:
            flush_timeout: 60s
        metric_declarations:
          # node metrics
          - dimensions: [[NodeName, InstanceId, ClusterName]]
            metric_name_selectors:
              - node_cpu_utilization
              - node_memory_utilization
              - node_network_total_bytes
              - node_cpu_reserved_capacity
              - node_memory_reserved_capacity
              - node_number_of_running_pods
              - node_number_of_running_containers
          - dimensions: [[ClusterName]]
            metric_name_selectors:
              - node_cpu_utilization
              - node_memory_utilization
              - node_network_total_bytes
              - node_cpu_reserved_capacity
              - node_memory_reserved_capacity
              - node_number_of_running_pods
              - node_number_of_running_containers
              - node_cpu_usage_total
              - node_cpu_limit
              - node_memory_working_set
              - node_memory_limit

          # pod metrics
          - dimensions: [[PodName, Namespace, ClusterName], [Service, Namespace, ClusterName], [Namespace, ClusterName], [ClusterName]]
            metric_name_selectors:
              - pod_cpu_utilization
              - pod_memory_utilization
              - pod_network_rx_bytes
              - pod_network_tx_bytes
              - pod_cpu_utilization_over_pod_limit
              - pod_memory_utilization_over_pod_limit
          - dimensions: [[PodName, Namespace, ClusterName], [ClusterName]]
            metric_name_selectors:
              - pod_cpu_reserved_capacity
              - pod_memory_reserved_capacity
          - dimensions: [[PodName, Namespace, ClusterName]]
            metric_name_selectors:
              - pod_number_of_container_restarts

          # cluster metrics
          - dimensions: [[ClusterName]]
            metric_name_selectors:
              - cluster_node_count
              - cluster_failed_node_count

          # service metrics
          - dimensions: [[Service, Namespace, ClusterName], [ClusterName]]
            metric_name_selectors:
              - service_number_of_running_pods

          # node fs metrics
          - dimensions: [[NodeName, InstanceId, ClusterName], [ClusterName]]
            metric_name_selectors:
              - node_filesystem_utilization

          # namespace metrics
          - dimensions: [[Namespace, ClusterName], [ClusterName]]
            metric_name_selectors:
              - namespace_number_of_running_pods


      debug:
        verbosity: detailed

    service:
      pipelines:
        metrics:
          receivers: [awscontainerinsight]
          exporters: [awsemf]

      extensions: [health_check]

---
# create Daemonset
apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: aws-otel-eks-ci
  namespace: aws-otel-eks
spec:
  selector:
    matchLabels:
      name: aws-otel-eks-ci
  template:
    metadata:
      labels:
        name: aws-otel-eks-ci
    spec:
      containers:
        - name: aws-otel-collector
          image: {collector-image-url}
          env:
            #- name: AWS_REGION
            #  value: "us-east-1"
            - name: K8S_NODE_NAME
              valueFrom:
                fieldRef:
                  fieldPath: spec.nodeName
            - name: HOST_IP
              valueFrom:
                fieldRef:
                  fieldPath: status.hostIP
            - name: HOST_NAME
              valueFrom:
                fieldRef:
                  fieldPath: spec.nodeName
            - name: K8S_NAMESPACE
              valueFrom:
                 fieldRef:
                   fieldPath: metadata.namespace
          imagePullPolicy: Always
          command:
            - "/awscollector"
            - "--config=/conf/otel-agent-config.yaml"
          volumeMounts:
            - name: rootfs
              mountPath: /rootfs
              readOnly: true
            - name: dockersock
              mountPath: /var/run/docker.sock
              readOnly: true
            - name: varlibdocker
              mountPath: /var/lib/docker
              readOnly: true
            - name: containerdsock
              mountPath: /run/containerd/containerd.sock
              readOnly: true
            - name: sys
              mountPath: /sys
              readOnly: true
            - name: devdisk
              mountPath: /dev/disk
              readOnly: true
            - name: otel-agent-config-vol
              mountPath: /conf
          resources:
            limits:
              cpu:  200m
              memory: 200Mi
            requests:
              cpu: 200m
              memory: 200Mi
      volumes:
        - configMap:
            name: otel-agent-conf
            items:
              - key: otel-agent-config
                path: otel-agent-config.yaml
          name: otel-agent-config-vol
        - name: rootfs
          hostPath:
            path: /
        - name: dockersock
          hostPath:
            path: /var/run/docker.sock
        - name: varlibdocker
          hostPath:
            path: /var/lib/docker
        - name: containerdsock
          hostPath:
            path: /run/containerd/containerd.sock
        - name: sys
          hostPath:
            path: /sys
        - name: devdisk
          hostPath:
            path: /dev/disk/
      serviceAccountName: aws-otel-sa
```

To deploy to an EKS cluster

```
kubectl apply -f config.yaml
```

## Available Metrics and Resource Attributes

### Cluster

| Metric                       | Unit  |
| ---------------------------- | ----- |
| cluster\_failed\_node\_count | Count |
| cluster\_node\_count         | Count |

<br />

<br />

| Resource Attribute |
| ------------------ |
| ClusterName        |
| NodeName           |
| Type               |
| Version            |
| Sources            |

<br />

<br />

<br />

<br />

### Cluster Namespace

| Metric                               | Unit  |
| ------------------------------------ | ----- |
| namespace\_number\_of\_running\_pods | Count |

<br />

<br />

| Resource Attribute |
| ------------------ |
| ClusterName        |
| NodeName           |
| Namespace          |
| Type               |
| Version            |
| Sources            |
| kubernete          |

<br />

<br />

<br />

<br />

### Cluster Service

| Metric                             | Unit  |
| ---------------------------------- | ----- |
| service\_number\_of\_running\_pods | Count |

<br />

<br />

| Resource Attribute |
| ------------------ |
| ClusterName        |
| NodeName           |
| Namespace          |
| Service            |
| Type               |
| Version            |
| Sources            |
| kubernete          |

<br />

<br />

<br />

<br />

### 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        |

<br />

<br />

| Resource Attribute |
| ------------------ |
| ClusterName        |
| InstanceType       |
| NodeName           |
| Type               |
| Version            |
| Sources            |
| kubernete          |

<br />

<br />

<br />

<br />

### 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 |

<br />

<br />

| Resource Attribute   |
| -------------------- |
| AutoScalingGroupName |
| ClusterName          |
| InstanceId           |
| InstanceType         |
| NodeName             |
| EBSVolumeId          |
| device               |
| Type                 |
| Version              |
| Sources              |
| kubernete            |

<br />

<br />

<br />

<br />

### 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 |

<br />

<br />

| Resource Attribute   |
| -------------------- |
| AutoScalingGroupName |
| ClusterName          |
| InstanceId           |
| InstanceType         |
| NodeName             |
| EBSVolumeId          |
| device               |
| fstype               |
| Type                 |
| Version              |
| Sources              |
| kubernete            |

<br />

<br />

<br />

<br />

### 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 |

<br />

<br />

| Resource Attribute   |
| -------------------- |
| AutoScalingGroupName |
| ClusterName          |
| InstanceId           |
| InstanceType         |
| NodeName             |
| Type                 |
| Version              |
| interface            |
| Sources              |
| kubernete            |

<br />

<br />

<br />

<br />

### 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          |

<br />

<br />

### 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 |

<br />

<br />

| Resource Attribute   |
| -------------------- |
| AutoScalingGroupName |
| ClusterName          |
| InstanceId           |
| InstanceType         |
| K8sPodName           |
| Namespace            |
| NodeName             |
| PodId                |
| Type                 |
| Version              |
| interface            |
| Sources              |
| kubernete            |
| pod\_status          |

<br />

<br />

<br />

<br />

### 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        |

<br />

<br />

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

The attribute `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:

```
receivers:
  awscontainerinsight:
    collection_interval: 10s
    container_orchestrator: ecs

exporters:
  awsemf:
    namespace: ContainerInsightsEC2Instance
    log_group_name: '/aws/ecs/containerinsights/{ClusterName}/performance'
    log_stream_name: 'instanceTelemetry/{ContainerInstanceId}'
    resource_to_telemetry_conversion:
      enabled: true
    dimension_rollup_option: NoDimensionRollup
    parse_json_encoded_attr_values: [Sources]
    sending_queue:
      batch:
        flush_timeout: 60s
    metric_declarations:
      # instance metrics
      - dimensions: [ [ ContainerInstanceId, InstanceId, ClusterName] ]
        metric_name_selectors:
          - instance_cpu_utilization
          - instance_memory_utilization
          - instance_network_total_bytes
          - instance_cpu_reserved_capacity
          - instance_memory_reserved_capacity
          - instance_number_of_running_tasks
          - instance_filesystem_utilization
      - dimensions: [ [ClusterName] ]
        metric_name_selectors:
          - instance_cpu_utilization
          - instance_memory_utilization
          - instance_network_total_bytes
          - instance_cpu_reserved_capacity
          - instance_memory_reserved_capacity
          - instance_number_of_running_tasks
          - instance_cpu_usage_total
          - instance_cpu_limit
          - instance_memory_working_set
          - instance_memory_limit
  debug:
    verbosity: detailed
service:
  pipelines:
    metrics:
      receivers: [awscontainerinsight]
      exporters: [awsemf,debug]
```

To deploy to an ECS cluster check this [doc](https://aws-otel.github.io/docs/setup/ecs#3-setup-the-aws-otel-collector-for-ecs-ec2-instance-metrics) for details

## 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        |

<br />

<br />

| Resource Attribute   |
| -------------------- |
| ClusterName          |
| InstanceType         |
| AutoScalingGroupName |
| Type                 |
| Version              |
| Sources              |
| ContainerInstanceId  |
| InstanceId           |

<br />

<br />

<br />

<br />

### 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 |

<br />

<br />

| Resource Attribute   |
| -------------------- |
| ClusterName          |
| InstanceType         |
| AutoScalingGroupName |
| Type                 |
| Version              |
| Sources              |
| ContainerInstanceId  |
| InstanceId           |
| EBSVolumeId          |

<br />

<br />

<br />

<br />

### 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 |

<br />

<br />

| Resource Attribute   |
| -------------------- |
| ClusterName          |
| InstanceType         |
| AutoScalingGroupName |
| Type                 |
| Version              |
| Sources              |
| ContainerInstanceId  |
| InstanceId           |
| EBSVolumeId          |

<br />

<br />

<br />

<br />

### 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 |

<br />

<br />

| Resource Attribute   |
| -------------------- |
| ClusterName          |
| InstanceType         |
| AutoScalingGroupName |
| Type                 |
| Version              |
| Sources              |
| ContainerInstanceId  |
| InstanceId           |
| EBSVolumeId          |

<br />

<br />

<br />

<br />

# 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`

This requirement comes from the fact that this component is based on [cAdvisor](https://github.com/google/cadvisor).

## Configuration

### Example Configuration

```yaml theme={null}
awscontainerinsight:
  container_orchestrator: eks
awscontainerinsight/collection_interval_settings:
  collection_interval: 60s
```

***

*Last generated: 2026-07-06*
