Amazon ECS Container Insights 지표 - Amazon CloudWatch

Amazon ECS Container Insights 지표

Container Insights 지표는 추가 네트워크, 스토리지 및 임시 스토리지 지표를 제공합니다. 이러한 지표는 표준 Amazon ECS 지표보다 더 많은 정보를 제공합니다. Container Insights는 CloudWatch Logs와 통합됩니다. 문제를 더 쉽게 해결할 수 있도록 지표 변경 내용을 로그 항목과 연관시킬 수 있습니다. 또한 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 설정 섹션을 참조하세요.

다음 지표는 Amazon ECS에서 Container Insights 설정의 단계를 완료하면 사용할 수 있습니다.

메트릭 이름 측정기준 설명

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

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

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

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

단위: 기가바이트(GB)

EphemeralStorageUtilized 1

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

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

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

단위: 기가바이트(GB)

MemoryUtilized

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

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

참고

애플리케이션에 Java ZGC 가비지 수집기를 사용하는 경우에는 이 지표가 부정확할 수 있습니다.

MemoryUtilizedMemoryReserved는 "메가바이트"로 표시되지만 실제 단위는 MiB(메비바이트)입니다.

단위: 메가바이트

MemoryReserved

TaskDefinitionFamily, ClusterName

ServiceName, ClusterName

ClusterName

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

단위: 메가바이트

참고

MemoryUtilizedMemoryReserved는 "메가바이트"로 표시되지만 실제 단위는 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

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

단위: 수

참고

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

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

다음 지표는 CloudWatch 에이전트를 배포하여 Amazon ECS의 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 인스턴스에서 실행 중인 작업 수입니다.

단위: 수