애플리케이션 메트릭을 Amazon CloudWatch로 내보내기
애플리케이션 메트릭을 Amazon CloudWatch로 내보내기
Fargate의 Amazon ECS는 사용자 지정 애플리케이션 메트릭을 커스텀 메트릭으로 Amazon CloudWatch로 내보내는 것을 지원해요. 작업 정의에 AWS Distro for OpenTelemetry 사이드카 컨테이너를 추가하면 돼요.
출처: 문서
본문
Fargate의 Amazon ECS는 사용자 지정 애플리케이션 메트릭을 커스텀 메트릭으로 Amazon CloudWatch에 내보내는 것을 지원합니다. 이는 작업 정의에 AWS Distro for OpenTelemetry 사이드카 컨테이너를 추가하여 수행됩니다. Amazon ECS 콘솔은 새 작업 정의를 만들 때 Use metric collection 옵션을 추가해 이 프로세스를 간소화합니다. 자세한 내용은 Creating an Amazon ECS task definition using the console을 참고하세요.
애플리케이션 메트릭은 로그 그룹 이름이 /aws/ecs/application/metrics인 CloudWatch Logs로 내보내지며, 메트릭은 ECS/AWSOTel/Application 네임스페이스에서 볼 수 있습니다. 애플리케이션은 OpenTelemetry SDK로 계측(instrument)되어야 합니다. 자세한 내용은 AWS Distro for OpenTelemetry 문서의 Introduction to AWS Distro for OpenTelemetry를 참고하세요.
고려 사항
AWS Distro for OpenTelemetry와 함께 Amazon ECS on Fargate 통합을 사용하여 애플리케이션 메트릭을 Amazon CloudWatch로 보낼 때 다음을 고려해야 합니다.
- 이 통합은 사용자 지정 애플리케이션 메트릭만 CloudWatch로 보냅니다. 작업 수준 메트릭이 필요하면 Amazon ECS 클러스터 구성에서 Container Insights를 켤 수 있습니다. 자세한 내용은 Monitor Amazon ECS containers using Container Insights with enhanced observability를 참고하세요.
- AWS Distro for OpenTelemetry 통합은 Fargate에 호스팅된 Amazon ECS 워크로드와 Amazon EC2 인스턴스에 호스팅된 Amazon ECS 워크로드에 지원됩니다. 외부 인스턴스는 현재 지원되지 않습니다.
- CloudWatch는 메트릭당 최대 30개의 차원을 지원합니다. 기본적으로 Amazon ECS는
TaskARN,ClusterARN,LaunchType,TaskDefinitionFamily,TaskDefinitionRevision차원을 메트릭에 포함합니다. 나머지 25개의 차원은 애플리케이션이 정의할 수 있습니다. 30개 이상의 차원이 구성되면 CloudWatch는 표시할 수 없습니다. 이 경우 애플리케이션 메트릭은ECS/AWSOTel/ApplicationCloudWatch 메트릭 네임스페이스에 차원 없이 나타납니다. 애플리케이션에 계측을 추가해 추가 차원을 추가할 수 있습니다. 자세한 내용은 AWS Distro for OpenTelemetry 문서의 Using CloudWatch metrics with AWS Distro for OpenTelemetry를 참고하세요.
Amazon CloudWatch와 AWS Distro for OpenTelemetry 통합에 필요한 IAM 권한
AWS Distro for OpenTelemetry와의 Amazon ECS 통합은 작업 IAM 역할을 만들고 작업 정의에 역할을 지정해야 합니다. AWS Distro for OpenTelemetry 사이드카가 컨테이너 로그를 CloudWatch Logs로 라우팅하도록 구성하는 것도 권장하며, 이는 작업 실행 IAM 역할이 만들어지고 작업 정의에도 지정되어야 합니다. Amazon ECS 콘솔은 사용자를 대신해 작업 실행 IAM 역할을 처리하지만, 작업 IAM 역할은 수동으로 만들고 작업 정의에 추가해야 합니다.