

# Amazon ECS Container Insights 지표
<a name="Container-Insights-metrics-ECS"></a>

Container Insights 지표는 추가 네트워크, 스토리지 및 임시 스토리지 지표를 제공합니다. 이러한 지표는 표준 Amazon ECS 지표보다 더 많은 정보를 제공합니다. Container Insights는 CloudWatch Logs와 통합됩니다. 문제를 더 쉽게 해결할 수 있도록 지표 변경 내용을 로그 항목과 연관시킬 수 있습니다. 또한 Container Insights는 모든 태스크의 데이터를 평균화하여 클러스터, 서비스 및 대몬 전반의 통계도 표시합니다. 이를 통해 서비스 및 대몬 상태를 더 개략적으로 파악할 수 있으므로 환경 모니터링과 용량 계획에 모두 유용합니다.

**사용 사례**
+ **문제 식별 및 문제 해결** - 태스크 상태 전환 패턴을 분석하여 실패한 배포를 추적하고 이를 통해여 장애 지점을 신속하게 식별할 수 있습니다. 태스크 시작 시퀀스 및 초기화 동작에 대한 포괄적인 검사를 통해 구성 문제 진단
+ **클러스터 및 서비스 수준 상태 평가** - 클러스터 전반의 평균 태스크 성능을 표시합니다. 이 접근 방식은 이상치를 조정하여 클러스터 및 서비스 상태에 대한 보다 안정적인 보기를 제공합니다. 극단적인 값이 오해의 소지가 있는 일반 서비스 모니터링에 이러한 인사이트 사용 
+ **서비스 가용성 문제** - 실행 중인 태스크 수 지표를 모니터링하여 배포 실패를 감지합니다. 서비스 이벤트 로그를 성능 지표와 연관시켜 인프라 영향을 파악합니다. 태스크 재시작 패턴을 추적하여 불안정한 서비스 또는 인프라 문제 식별
+ **평균 부하에 대한 용량 계획** - 일반적인 태스크 동작 패턴을 기반으로 리소스 요구 사항을 결정하고, 효과적인 장기 계획을 지원하는 일관된 지표를 제공하며, 단기 스파이크가 용량 결정에 미치는 영향을 줄이는 데 도움이 됨
+ **추가 지표 제공** - 벤딩 지표에서 사용할 수 없는 추가 네트워크, 스토리지 및 임시 스토리지 지표 수집

Amazon ECS 지표에 대한 자세한 내용은 [Amazon ECS 서비스 사용률 지표 사용 사례](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/service_utilization-metrics-explanation.html), 향상된 관찰성을 갖춘 Container Insights에 대한 자세한 내용은 [향상된 관찰성 지표를 갖춘 Amazon ECS Container Insights](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/Container-Insights-enhanced-observability-metrics-ECS.html)를 참조하세요.

**참고**  
Amazon ECS 관리형 대몬 지표는 서비스 지표와 동일한 `ECS/ContainerInsights` 네임스페이스와 `ServiceName` 차원을 사용합니다. 대몬 지표의 경우 `ServiceName` 차원 값은 `daemon:daemon-name` 형식을 사용합니다. 예를 들어 `my-daemon` 대몬에서 `ServiceName` 차원 값이 `daemon:my-daemon`입니다. `ServiceName` 차원을 포함하는 아래 표의 모든 지표는 관리형 대몬에도 적용됩니다.

아래 표에는 Container Insights가 Amazon ECS용으로 수집하는 지표 및 측정기준이 나와 있습니다. 이러한 지표는 `ECS/ContainerInsights` 네임스페이스에 있습니다. 자세한 내용은 [Metrics](cloudwatch_concepts.md#Metric) 섹션을 참조하세요.

콘솔에 Container Insights 지표가 보이지 않는 경우, Container Insights 설정을 완료했는지 확인합니다. Container Insights 설정이 완료되기 전에는 지표가 나타나지 않습니다. 자세한 내용은 [Container Insights 설정](deploy-container-insights.md) 섹션을 참조하세요.

다음 지표는 [Amazon ECS에서 Container Insights 설정](deploy-container-insights-ECS-cluster.md)의 단계를 완료하면 사용할 수 있습니다.


| 지표 이름 | 측정 기준 | 설명 | 
| --- | --- | --- | 
|  `ContainerInstanceCount`  |  `ClusterName`  |  클러스터에 등록된 Amazon ECS 에이전트를 실행하는 EC2 인스턴스의 수입니다. 이 지표는 클러스터에서 Amazon ECS 작업을 실행하는 컨테이너 인스턴스에 대해서만 수집됩니다. Amazon ECS 작업이 없는 빈 컨테이너 인스턴스에 대해서는 수집되지 않습니다. 단위: 수  | 
|  `CpuUtilized`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName`  |  사용 중인 측정기준 세트로 지정된 리소스의 작업에서 사용하는 CPU 단위입니다. 관리형 대몬에도 적용됩니다. 단위: 없음  | 
|  `CpuReserved`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName`  |  사용 중인 측정기준 세트에서 지정한 리소스의 작업에서 예약된 CPU 단위입니다. 이 지표는 작업 또는 모든 컨테이너 수준과 같이 작업 정의에 정의된 CPU 예약을 기반으로 수집됩니다. 작업 정의에 지정되지 않은 경우 인스턴스 CPU 예약이 사용됩니다. 관리형 대몬에도 적용됩니다. 단위: 없음  | 
|  `DeploymentCount`  |  `ServiceName`, `ClusterName`  |  Amazon ECS 서비스의 배포 수입니다. 단위: 수  | 
|  `DesiredTaskCount`  |  `ServiceName`, `ClusterName`  |  Amazon ECS 서비스에 대해 원하는 태스크 수입니다. 단위: 수  | 
|  `EBSFilesystemSize`  |  `VolumeName`, `TaskDefinitionFamily`, `ClusterName` `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName`  |  사용 중인 차원으로 지정된 리소스에 할당된 Amazon EBS 파일 시스템 스토리지의 총량(GB) 이 지표는 플랫폼 버전 `1.4.0`을(를) 사용하는 Fargate에서 실행되는 Amazon ECS 인프라 또는 컨테이너 에이전트 버전 `1.79.0` 이상을 사용하는 Amazon EC2 인스턴스에서 실행되는 작업에만 사용할 수 있습니다. 관리형 대몬에도 적용됩니다. 단위: 기가바이트(GB)  | 
|  `EBSFilesystemUtilized`  |  `VolumeName`, `TaskDefinitionFamily`, `ClusterName` `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName`  |  사용 중인 차원으로 지정된 리소스에서 사용하는 Amazon EBS 파일 시스템 스토리지의 총량(GB) 이 지표는 플랫폼 버전 `1.4.0`을(를) 사용하는 Fargate에서 실행되는 Amazon ECS 인프라 또는 컨테이너 에이전트 버전 `1.79.0` 이상을 사용하는 Amazon EC2 인스턴스에서 실행되는 작업에만 사용할 수 있습니다. Fargate에서 실행되는 작업의 경우 Fargate는 Fargate만 사용하는 디스크 공간을 예약합니다. Fargate가 사용하는 공간에는 비용이 들지 않지만 `df`와 같은 도구를 사용하면 이 추가 스토리지를 확인할 수 있습니다. 관리형 대몬에도 적용됩니다. 단위: 기가바이트(GB)  | 
|  EphemeralStorageReserved [1](#ci-metrics-ecs-storage-fargate-note)  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName`  |  사용 중인 차원으로 지정된 리소스의 임시 스토리지에서 예약된 바이트 수입니다. 임시 스토리지는 컨테이너 루트 파일 시스템과 컨테이너 이미지 및 작업 정의에 정의된 모든 바인드 마운트 호스트 볼륨에 사용됩니다. 임시 스토리지의 양은 실행 중인 작업에서 변경할 수 없습니다. 이 지표는 Fargate Linux 플랫폼 버전 1.4.0 이상에서 실행되는 작업에만 사용할 수 있습니다. 관리형 대몬에도 적용됩니다. 단위: 기가바이트(GB)  | 
|  EphemeralStorageUtilized [1](#ci-metrics-ecs-storage-fargate-note)  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName`  |  사용 중인 차원으로 지정된 리소스의 임시 스토리지에서 사용된 바이트 수입니다. 임시 스토리지는 컨테이너 루트 파일 시스템과 컨테이너 이미지 및 작업 정의에 정의된 모든 바인드 마운트 호스트 볼륨에 사용됩니다. 임시 스토리지의 양은 실행 중인 작업에서 변경할 수 없습니다. 이 지표는 Fargate Linux 플랫폼 버전 1.4.0 이상에서 실행되는 작업에만 사용할 수 있습니다. 관리형 대몬에도 적용됩니다. 단위: 기가바이트(GB)  | 
|  `InstanceOSFilesystemUtilization`  |  `CapacityProviderName`, `ClusterName`, `ContainerInstanceId`, `EC2InstanceId` `ClusterName`  |  OS 볼륨에 사용된 총 디스크 공간 비율.  | 
|  `InstanceDataFilesystemUtilization`  |  `CapacityProviderName`, `ClusterName`, `ContainerInstanceId`, `EC2InstanceId` `ClusterName`  |  데이터 볼륨에 사용된 총 디스크 공간 비율.  | 
|  `MemoryUtilized`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName`  |  사용 중인 측정기준 세트로 지정된 리소스의 작업에서 사용 중인 메모리입니다.  애플리케이션에 Java ZGC 가비지 수집기를 사용하는 경우에는 이 지표가 부정확할 수 있습니다. `MemoryUtilized` 및 `MemoryReserved`는 "메가바이트"로 표시되지만 실제 단위는 MiB(메비바이트)입니다.  관리형 대몬에도 적용됩니다. 단위: 메가바이트  | 
|  `MemoryReserved`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName`  |  사용 중인 측정기준 세트에서 지정한 리소스의 작업에서 예약된 메모리입니다. 이 지표는 작업 또는 모든 컨테이너 수준과 같이 작업 정의에 정의된 메모리 예약을 기반으로 수집됩니다. 작업 정의에 지정되지 않은 경우 인스턴스 메모리 예약이 사용됩니다. 관리형 대몬에도 적용됩니다. 단위: 메가바이트  `MemoryUtilized` 및 `MemoryReserved`는 "메가바이트"로 표시되지만 실제 단위는 MiB(메비바이트)입니다.   | 
|  `NetworkRxBytes`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName`  |  사용중인 측정기준에서 지정한 리소스에서 수신된 바이트의 숫자입니다. 이 지표는 Docker 런타임에서 가져옵니다. 이 지표는 `awsvpc` 또는 `bridge` 네트워크 모드를 사용하는 태스크의 컨테이너에 대해서만 제공됩니다. 관리형 대몬에도 적용됩니다. 단위: 바이트/초  | 
|  `NetworkTxBytes`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName`  |  사용중인 측정기준에서 지정한 리소스에서 전송된 바이트의 숫자입니다. 이 지표는 Docker 런타임에서 가져옵니다. 이 지표는 `awsvpc` 또는 `bridge` 네트워크 모드를 사용하는 태스크의 컨테이너에 대해서만 제공됩니다. 관리형 대몬에도 적용됩니다. 단위: 바이트/초  | 
|  `PendingTaskCount`  |  `ServiceName`, `ClusterName`  |  현재 `PENDING` 상태인 작업의 숫자입니다. 단위: 수  | 
|  `RunningTaskCount`  |  `ServiceName`, `ClusterName`  |  현재 `RUNNING` 상태인 작업의 숫자입니다. 단위: 수  | 
|  `RestartCount`  |  `ClusterName` `ClusterName`, `ServiceName` `ClusterName`, `TaskDefinitionFamily`  |  Amazon ECS 태스크에서 컨테이너가 다시 시작된 횟수입니다. 이 지표는 재시작 정책이 활성화된 컨테이너의 경우에만 수집됩니다. 관리형 대몬에도 적용됩니다. 단위: 수  | 
|  `ServiceCount`  |  `ClusterName`  |  클러스터의 서비스 숫자입니다. 단위: 수  | 
|  `StorageReadBytes`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName`  |  사용 중인 측정기준에서 지정한 리소스의 인스턴스에 있는 스토리지에서 읽힌 바이트의 숫자입니다. 스토리지 디바이스의 읽기 바이트는 여기에 포함되지 않습니다. 이 지표는 Docker 런타임에서 가져옵니다. 관리형 대몬에도 적용됩니다. 단위: 바이트  | 
|  `StorageWriteBytes`  |  `TaskDefinitionFamily`, `ClusterName` `ServiceName`, `ClusterName` `ClusterName`  |  사용 중인 측정기준에서 지정한 리소스의 스토리지에서 쓰여진 바이트의 숫자입니다. 이 지표는 Docker 런타임에서 가져옵니다. 관리형 대몬에도 적용됩니다. 단위: 바이트  | 
|  `TaskCount`  |  `ClusterName`  |  클러스터에서 실행 중인 태스크의 수입니다. 단위: 수  | 
|  `TaskSetCount`  |  `ServiceName`, `ClusterName`  |  서비스의 작업 세트 숫자입니다. 단위: 수  | 

**참고**  
`EphemeralStorageReserved` 및 `EphemeralStorageUtilized` 지표는 Fargate Linux 플랫폼 버전 1.4.0 이상에서 실행되는 작업에만 사용할 수 있습니다.  
Fargate는 디스크 공간을 예약합니다. Fargate에서만 사용됩니다. 이에 대한 요금은 청구되지 않습니다. 이러한 지표에는 표시되지 않습니다. 그러나 `df` 등의 다른 도구에서는 이 추가 스토리지를 볼 수 있습니다.

다음 지표는 [CloudWatch 에이전트를 배포하여 Amazon ECS의 EC2 인스턴스 수준 지표 수집](deploy-container-insights-ECS-instancelevel.md)의 단계를 완료하면 사용할 수 있습니다.


| 지표 이름 | 측정 기준 | 설명 | 
| --- | --- | --- | 
|  `instance_cpu_limit`  |  `ClusterName`  |  클러스터의 단일 EC2 인스턴스에 할당할 수 있는 최대 CPU 단위 수입니다. 단위: 없음  | 
|  `instance_cpu_reserved_capacity`  |  `ClusterName` `InstanceId`, `ContainerInstanceId`, `ClusterName`  |  클러스터의 단일 EC2 인스턴스에서 현재 예약 중인 CPU의 비율입니다. 단위: 퍼센트  | 
|  `instance_cpu_usage_total`  |  `ClusterName`  |  클러스터의 단일 EC2 인스턴스에서 사용 중인 CPU 단위 수입니다. 단위: 없음  | 
|  `instance_cpu_utilization`  |  `ClusterName` `InstanceId`, `ContainerInstanceId`, `ClusterName`  |  클러스터의 단일 EC2 인스턴스에서 사용 중인 CPU 단위의 총 비율입니다. 단위: 퍼센트  | 
|  `instance_filesystem_utilization`  |  `ClusterName` `InstanceId`, `ContainerInstanceId`, `ClusterName`  |  클러스터의 단일 EC2 인스턴스에서 사용 중인 파일 시스템 용량의 총 비율입니다. 단위: 퍼센트  | 
|  `instance_memory_limit`  |  `ClusterName`  |  이 클러스터의 단일 EC2 인스턴스에 할당할 수 있는 최대 메모리 양(바이트)입니다. 단위: 바이트  | 
|  `instance_memory_reserved_capacity`  |  `ClusterName` `InstanceId`, `ContainerInstanceId`, `ClusterName`  |  클러스터의 단일 EC2 인스턴스에서 현재 예약 중인 메모리의 비율입니다. 단위: 퍼센트  | 
|  `instance_memory_utilization`  |  `ClusterName` `InstanceId`, `ContainerInstanceId`, `ClusterName`  |  클러스터의 단일 EC2 인스턴스에서 사용 중인 메모리의 총 비율입니다.  애플리케이션에 Java ZGC 가비지 수집기를 사용하는 경우에는 이 지표가 부정확할 수 있습니다.  단위: 퍼센트  | 
|  `instance_memory_working_set`  |  `ClusterName`  |  클러스터의 단일 EC2 인스턴스에서 사용 중인 메모리의 양(바이트)입니다.  애플리케이션에 Java ZGC 가비지 수집기를 사용하는 경우에는 이 지표가 부정확할 수 있습니다.  단위: 바이트  | 
|  `instance_network_total_bytes`  |  `ClusterName`  |  클러스터의 단일 EC2 인스턴스에서 네트워크를 통해 전송 및 수신된 초당 총 바이트 수입니다. 단위: 바이트/초  | 
|  `instance_number_of_running_tasks`  |  `ClusterName`  |  클러스터의 단일 EC2 인스턴스에서 실행 중인 작업 수입니다. 단위: 수  | 