향상된 관찰성 지표를 갖춘 Amazon ECS Container Insights - Amazon CloudWatch

향상된 관찰성 지표를 갖춘 Amazon ECS Container Insights

향상된 관찰성을 갖춘 Container Insights는 다음 기능을 제공하여 컨테이너화된 워크로드에 대한 심층적인 가시성을 제공합니다.

  • 작업 및 컨테이너 수준 모두에서 보다 높은 지표 세분화

  • 모니터링 및 문제 해결 기능 개선

  • CloudWatch Logs와 통합으로 지원되는 기능:

    • 로그 항목에 지표 이상 연관

    • 더 빠른 근본 원인 분석 수행

    • 복잡한 컨테이너 문제의 해결 시간 단축

사용 사례

향상된 관찰성을 갖춘 Container Insights는 표준 Container Insights의 기능을 확장합니다. 다음 사용 사례를 지원합니다.

  • 태스크 수준 문제 해결 - 태스크 수준에서 성능 병목 현상을 식별합니다. 태스크 수준 지표를 분석하고 예약된 리소스와 비교하여 태스크에 충분한 처리 용량이 있는지 확인합니다.

  • 컨테이너 수준 리소스 최적화 - 예약 수준 대비 사용률을 추적하여 리소스가 제한되거나 과다 프로비저닝된 컨테이너 식별

  • 컨테이너 상태 평가 - 재시작 수 및 상태 전환을 모니터링하여 개입이 필요한 불안정한 컨테이너 감지

  • 애플리케이션 성능 모니터링 - 애플리케이션이 서로 통신하는 방식을 추적하고, 리소스 사용 패턴을 모니터링하며, 데이터 스토리지 성능 최적화

  • 작업 모니터링 - 배포를 모니터링하고, 블루 또는 그린 배포에 대한 태스크 세트를 추적하며, 서비스 지표를 통해 플랫폼 상태 유지

Amazon ECS 지표에 대한 자세한 내용은 Amazon ECS 서비스 사용률 지표 사용 사례, 향상된 관찰성을 갖춘 Container Insights에 대한 자세한 내용은 향상된 관찰성 지표를 갖춘 Amazon ECS Container Insights를 참조하세요.

아래 표에는 향상된 관찰성을 갖춘 Container Insights가 Amazon ECS에 대해 수집하는 지표 및 측정기준이 나와 있습니다. 이러한 지표는 ECS/ContainerInsights 네임스페이스에 있습니다. 자세한 내용은 Metrics 섹션을 참조하세요.

콘솔에 Container Insights 지표가 표시되지 않는 경우, 향상된 관찰성을 갖춘 Container Insights 설정을 완료했는지 확인합니다. 향상된 관찰성을 갖춘 Container Insights 설정이 완료되기 전에는 지표가 표시되지 않습니다. 자세한 내용은 향상된 관찰 기능을 갖춘 Container Insights 설정 섹션을 참조하세요.

아래의 지표는 모든 시작 유형에 사용 가능합니다.

메트릭 이름 측정기준 설명

ContainerInstanceCount

ClusterName

클러스터에 등록된 Amazon ECS 에이전트를 실행하는 EC2 인스턴스의 수입니다.

이 지표는 클러스터에서 Amazon ECS 작업을 실행하는 컨테이너 인스턴스에 대해서만 수집됩니다. Amazon ECS 작업이 없는 빈 컨테이너 인스턴스에 대해서는 수집되지 않습니다.

단위: 수

ContainerCpuUtilized

ClusterName

ContainerName, TaskId, ServiceName, ClusterName

ContainerName, TaskDefinitionFamily, ClusterName, TaskId

TaskDefinitionFamily, ClusterName, ContainerName

ServiceName, ClusterName, ContainerName

사용 중인 측정기준 세트로 지정된 리소스의 컨테이너에서 사용하는 CPU 단위입니다.

단위: 없음

ContainerCpuReserved

ClusterName

ContainerName, TaskId, ServiceName, ClusterName

ContainerName, TaskDefinitionFamily, ClusterName, TaskId

TaskDefinitionFamily, ClusterName, ContainerName

ServiceName, ClusterName, ContainerName

사용 중인 측정기준 세트에서 지정한 리소스의 컨테이너에서 예약된 CPU 단위입니다. 이 지표는 작업 또는 모든 컨테이너 수준과 같이 작업 정의에 정의된 CPU 예약을 기반으로 수집됩니다. 작업 정의에 지정되지 않은 경우 인스턴스 CPU 예약이 사용됩니다.

단위: 없음

ContainerCpuUtilization

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

사용 중인 측정기준 세트로 지정된 리소스의 컨테이너에서 사용 중인 총 CPU 단위의 비율입니다.

단위: 백분율

ContainerMemoryUtilized

ClusterName

ContainerName, TaskId, ServiceName, ClusterName

ContainerName, TaskDefinitionFamily, ClusterName, TaskId

TaskDefinitionFamily, ClusterName, ContainerName

ServiceName, ClusterName, ContainerName

사용 중인 측정기준 세트로 지정된 리소스의 컨테이너에서 사용 중인 메모리입니다.

단위: 메가바이트

ContainerMemoryReserved

ClusterName

ContainerName, TaskId, ServiceName, ClusterName

ContainerName, TaskDefinitionFamily, ClusterName, TaskId

TaskDefinitionFamily, ClusterName, ContainerName

ServiceName, ClusterName, ContainerName

사용 중인 측정기준 세트에서 지정한 리소스의 컨테이너에서 예약된 메모리입니다.

이 지표는 작업 또는 모든 컨테이너 수준과 같이 작업 정의에 정의된 메모리 예약을 기반으로 수집됩니다. 작업 정의에 지정되지 않은 경우 인스턴스 메모리 예약이 사용됩니다.

단위: 메가바이트

ContainerMemoryUtilization

ClusterName

ContainerName, TaskId, ServiceName, ClusterName

ContainerName, TaskDefinitionFamily, ClusterName, TaskId

TaskDefinitionFamily, ClusterName, ContainerName

ServiceName, ClusterName, ContainerName

사용 중인 측정기준 세트로 지정된 리소스의 컨테이너에서 사용 중인 총 메모리 비율입니다.

단위: 백분율

ContainerNetworkRxBytes

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

사용 중인 측정기준에서 지정한 컨테이너에서 수신된 바이트의 숫자입니다. 이 지표는 Docker 런타임에서 가져옵니다.

이 지표는 awsvpc 또는 bridge 네트워크 모드를 사용하는 태스크의 컨테이너에 대해서만 제공됩니다.

단위: 바이트/초

ContainerNetworkTxBytes

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

사용 중인 측정기준에서 지정한 컨테이너에서 전송된 바이트의 숫자입니다. 이 지표는 Docker 런타임에서 가져옵니다.

이 지표는 awsvpc 또는 bridge 네트워크 모드를 사용하는 태스크의 컨테이너에 대해서만 제공됩니다.

단위: 바이트/초

ContainerStorageReadBytes

ClusterName

ClusterName, ServiceName, ContainerName

ClusterName, TaskDefinitionFamily, ContainerName

ClusterName, ServiceName, TaskId, ContainerName

ClusterName, TaskDefinitionFamily, TaskId, ContainerName

사용 중인 측정기준에서 지정한 리소스의 컨테이너에 있는 스토리지에서 읽힌 바이트의 숫자입니다. 스토리지 디바이스의 읽기 바이트는 여기에 포함되지 않습니다. 이 지표는 Docker 런타임에서 가져옵니다.

단위: 바이트

ContainerStorageWriteBytes

ClusterName

ClusterName, ServiceName, ContainerName

ClusterName, TaskDefinitionFamily, ContainerName

ClusterName, ServiceName, TaskId, ContainerName

ClusterName, TaskDefinitionFamily, TaskId, ContainerName

사용 중인 측정기준에서 지정한 컨테이너의 스토리지에서 쓰여진 바이트의 숫자입니다. 이 지표는 Docker 런타임에서 가져옵니다.

단위: 바이트

CpuUtilized

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

사용 중인 측정기준 세트로 지정된 리소스의 작업에서 사용하는 CPU 단위입니다.

단위: 없음

CpuReserved

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

사용 중인 측정기준 세트에서 지정한 리소스의 작업에서 예약된 CPU 단위입니다. 이 지표는 작업 또는 모든 컨테이너 수준과 같이 작업 정의에 정의된 CPU 예약을 기반으로 수집됩니다. 작업 정의에 지정되지 않은 경우 인스턴스 CPU 예약이 사용됩니다.

단위: 없음

DeploymentCount

ServiceName, ClusterName

Amazon ECS 서비스의 배포 수입니다.

단위: 수

DesiredTaskCount

ServiceName, ClusterName

Amazon ECS 서비스에 대해 원하는 태스크 수입니다.

단위: 수

EBSFilesystemSize

ClusterName ,TaskDefinitionFamily, VolumeName

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

사용 중인 차원으로 지정된 리소스에 할당된 Amazon EBS 파일 시스템 스토리지의 총량(GB)

이 지표는 플랫폼 버전 1.4.0을(를) 사용하는 Fargate에서 실행되는 Amazon ECS 인프라 또는 컨테이너 에이전트 버전 1.79.0 이상을 사용하는 Amazon EC2 인스턴스에서 실행되는 작업에만 사용할 수 있습니다.

단위: 기가바이트(GB)

EBSFilesystemUtilized

ClusterName ,TaskDefinitionFamily, VolumeName

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

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

사용 중인 차원으로 지정된 리소스의 임시 스토리지에서 예약된 바이트 수입니다. 임시 스토리지는 컨테이너 루트 파일 시스템과 컨테이너 이미지 및 작업 정의에 정의된 모든 바인드 마운트 호스트 볼륨에 사용됩니다. 임시 스토리지의 양은 실행 중인 작업에서 변경할 수 없습니다.

이 지표는 Fargate Linux 플랫폼 버전 1.4.0 이상에서 실행되는 작업에만 사용할 수 있습니다.

단위: 기가바이트(GB)

EphemeralStorageUtilized 1

ClusterName

ClusterName, TaskDefinitionFamily

ClusterName, ServiceName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

사용 중인 차원으로 지정된 리소스의 임시 스토리지에서 사용된 바이트 수입니다. 임시 스토리지는 컨테이너 루트 파일 시스템과 컨테이너 이미지 및 작업 정의에 정의된 모든 바인드 마운트 호스트 볼륨에 사용됩니다. 임시 스토리지의 양은 실행 중인 작업에서 변경할 수 없습니다.

이 지표는 Fargate Linux 플랫폼 버전 1.4.0 이상에서 실행되는 작업에만 사용할 수 있습니다.

단위: 기가바이트(GB)

MemoryUtilized

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

사용 중인 측정기준 세트로 지정된 리소스의 작업에서 사용 중인 메모리입니다.

단위: 메가바이트

MemoryReserved

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

사용 중인 측정기준 세트에서 지정한 리소스의 작업에서 예약된 메모리입니다.

이 지표는 작업 또는 모든 컨테이너 수준과 같이 작업 정의에 정의된 메모리 예약을 기반으로 수집됩니다. 작업 정의에 지정되지 않은 경우 인스턴스 메모리 예약이 사용됩니다.

단위: 메가바이트

NetworkRxBytes

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

사용중인 측정기준에서 지정한 리소스에서 수신된 바이트의 숫자입니다. 이 지표는 Docker 런타임에서 가져옵니다.

이 지표는 awsvpc 또는 bridge 네트워크 모드를 사용하는 태스크의 컨테이너에 대해서만 제공됩니다.

단위: 바이트/초

NetworkTxBytes

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

사용중인 측정기준에서 지정한 리소스에서 전송된 바이트의 숫자입니다. 이 지표는 Docker 런타임에서 가져옵니다.

이 지표는 awsvpc 또는 bridge 네트워크 모드를 사용하는 태스크의 컨테이너에 대해서만 제공됩니다.

단위: 바이트/초

PendingTaskCount

ServiceName, ClusterName

현재 PENDING 상태인 작업의 숫자입니다.

단위: 수

RunningTaskCount

ServiceName, ClusterName

현재 RUNNING 상태인 작업의 숫자입니다.

단위: 수

RestartCount

ClusterName

ClusterName, ServiceName

ClusterName, TaskDefinitionFamily

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

Amazon ECS 태스크에서 컨테이너가 다시 시작된 횟수입니다.

이 지표는 재시작 정책이 활성화된 컨테이너의 경우에만 수집됩니다.

단위: 수

ServiceCount

ClusterName

클러스터의 서비스 숫자입니다.

단위: 수

StorageReadBytes

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

사용 중인 측정기준에서 지정한 리소스의 인스턴스에 있는 스토리지에서 읽힌 바이트의 숫자입니다. 스토리지 디바이스의 읽기 바이트는 여기에 포함되지 않습니다. 이 지표는 Docker 런타임에서 가져옵니다.

단위: 바이트

StorageWriteBytes

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

사용 중인 측정기준에서 지정한 리소스의 스토리지에서 쓰여진 바이트의 숫자입니다. 이 지표는 Docker 런타임에서 가져옵니다.

단위: 바이트

TaskCount

ClusterName

클러스터에서 실행 중인 태스크의 수입니다.

단위: 수

TaskCpuUtilization

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

태스크에서 사용 중인 총 CPU 유닛의 백분율입니다.

단위: 백분율

TaskEphemeralStorageUtilization

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

태스크에서 사용 중인 임시 스토리지의 총 백분율입니다.

단위: 백분율

TaskMemoryUtilization

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

ClusterName, ServiceName, TaskId

ClusterName, TaskDefinitionFamily, TaskId

태스크에서 사용 중인 메모리의 총 백분율입니다.

단위: 백분율

TaskSetCount

ServiceName, ClusterName

서비스의 작업 세트 숫자입니다.

단위: 수

참고

EphemeralStorageReservedEphemeralStorageUtilized 지표는 Fargate Linux 플랫폼 버전 1.4.0 이상에서 실행되는 작업에만 사용할 수 있습니다.

Fargate는 디스크 공간을 예약합니다. Fargate에서만 사용됩니다. 이에 대한 요금은 청구되지 않습니다. 이러한 지표에는 표시되지 않습니다. 그러나 df 등의 다른 도구에서는 이 추가 스토리지를 볼 수 있습니다.

다음 지표는 CloudWatch 에이전트를 배포하여 Amazon ECS의 EC2 인스턴스 수준 지표 수집의 단계를 완료하고 EC2 시작 유형을 사용하는 경우 사용 가능합니다.

메트릭 이름 측정기준 설명

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 인스턴스에서 실행 중인 작업 수입니다.

단위: 수