Amazon CloudWatch EMR 7.0.0용 에이전트 구성 - Amazon EMR

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon CloudWatch EMR 7.0.0용 에이전트 구성

기본 CloudWatch 에이전트 구성에서 제공하는 것 외에 추가 시스템 지표를 사용하도록 Amazon CloudWatch 에이전트를 구성할 수 있습니다. 7.0.0을 구성하려면 부트스트랩 작업을 사용해야 합니다. 부트스트랩 작업에 대한 예시는 다음 섹션에 나와 있습니다. 향후 릴리스에서 Amazon EMR은 Amazon EMR API를 통해 추가 구성 옵션을 제공할 예정입니다.

Amazon EMR 7.0.0을 사용하여 추가 시스템 지표를 구성하세요.

Amazon EMR 7.0.0에서 다른 시스템 지표 세트를 사용하도록 에이전트를 구성하려면 다음 단계를 사용하세요.

  1. Amazon S3 계정에서 CloudWatch 에이전트 지표를 지정하는 구성 파일을 저장할 버킷을 만들거나 선택합니다.

  2. 선호하는 지표를 지정하여 emr-amazon-cloudwatch-agent.json 구성 파일을 생성합니다. 이렇게 하려면 CloudWatch 에이전트 구성 파일 생성에 설명된 방법 중 하나를 사용하십시오. CloudWatch 에이전트 구성 파일의 구조에 대한 자세한 내용은 Amazon CloudWatch User Guide의 CloudWatch 에이전트 구성 파일 수동 생성 또는 편집을 참조하십시오.

  3. 다음으로 aws-emr-utilities 리포지토리로 이동하여 다음 시스템 메트릭 스크립트를 다운로드하십시오. GitHub

    • install_system_metrics_launcher.sh – 노드가 부트스트래핑을 완료할 수 있도록 다운로드한 다음 백그라운드에서 install_system_metrics.sh를 실행하는 스크립트입니다.

    • install_system_metrics.sh – 실행되는 인스턴스가 부트스트래핑을 마칠 때까지 기다린 다음 구성을 JSON 파일로 다운로드하여 적용하는 스크립트입니다.

  4. 각 SH 파일을 열고 my-s3-bucket을 1단계의 버킷 이름으로 바꿉니다.

  5. JSON과 SH 파일 두 개를 S3 버킷에 업로드합니다.

  6. 이제 Amazon EMR 콘솔로 이동하여 에이전트와 함께 새 클러스터를 생성할 수 있습니다. CloudWatch 왼쪽 탐색 창의 EMR on EC2에서 클러스터를 선택한 다음 클러스터 생성을 선택합니다.

  7. 이름 및 애플리케이션 섹션에서 Amazon EMR 릴리스 7.0.0 이상을 선택합니다.

  8. 애플리케이션 번들에서 클러스터에 설치할 번들 또는 앱을 선택하고 선택 항목에 Amazon CloudWatch Agent를 포함시킵니다.

  9. 부트스트랩 작업 섹션에서 추가를 선택합니다.

    • 이름install_system_metrics_launcher.sh를 삽입합니다.

    • 스크립트 위치s3://my-s3-bucket/install_system_metrics_launcher.sh을 삽입하세요. my-s3-bucket을 S3 버킷의 경로로 바꾸세요.

    • 인수 블록은 비워 둡니다.

  10. 부트스트랩 작업 추가를 선택합니다.

  11. 워크로드 요구 사항에 맞게 클러스터를 계속 생성하세요.

클러스터가 시작되면 CloudWatch 에이전트는 구성 파일에 지정한 시스템 지표를 게시합니다. CloudWatch

Amazon EMR 7.0.0을 사용하여 애플리케이션 지표를 구성합니다.

시스템 지표 외에도 HDFS 및 YARN에 대한 애플리케이션 지표를 게시하도록 Amazon CloudWatch 에이전트를 구성할 수 있습니다. 다음 단계에 따라 에이전트가 애플리케이션 지표를 게시하도록 구성합니다.

  1. Amazon S3 계정에서 CloudWatch 에이전트 지표를 지정하는 구성 파일을 저장할 버킷을 만들거나 선택합니다.

  2. 그런 다음 aws-emr-utilities 리포지토리로 이동하여 다음 스크립트를 다운로드하십시오. GitHub

    • install_app_metrics_launcher.sh – 노드가 부트스트래핑을 완료할 수 있도록 다운로드한 다음 백그라운드에서 install_app_metrics.sh를 실행하는 스크립트입니다.

    • install_app_metrics.sh – 실행되는 인스턴스가 부트스트래핑을 완료할 때까지 기다린 후 다음 단계에서 다운로드할 YAML 파일의 구성을 다운로드하고 적용하는 스크립트입니다.

  3. 각 파일을 열고 my-s3-bucket을 1단계의 버킷 이름으로 바꿉니다.

  4. 다음으로 다음 YAML 매핑 파일을 다운로드합니다. 이러한 YAML 파일의 구조에 대한 자세한 내용은 리포지토리를 OpenTelemetry Instrumentation for Java GitHub 참조하십시오 javaagent.

  5. S3 버킷에 SH 파일 2개와 YAML 파일 4개를 업로드합니다.

  6. 이제 Amazon EMR 콘솔로 이동하여 에이전트와 함께 새 클러스터를 생성할 수 있습니다. CloudWatch 왼쪽 탐색 창의 EMR on EC2에서 클러스터를 선택한 다음 클러스터 생성을 선택합니다.

  7. 이름 및 애플리케이션 섹션에서 Amazon EMR 릴리스 7.0.0 이상을 선택합니다.

  8. 애플리케이션 번들에서 클러스터에 설치할 앱의 번들 또는 사용자 지정 그룹을 선택하고 선택 항목에 CloudWatch 에이전트를 포함시킵니다.

  9. 부트스트랩 작업 섹션에서 추가를 선택합니다.

    • 이름install_app_metrics_launcher.sh를 삽입합니다.

    • 스크립트 위치s3://my-s3-bucket/install_app_metrics_launcher.sh을 삽입하세요. my-s3-bucket을 S3 버킷의 경로로 바꾸세요.

    • 인수 블록은 비워 둡니다.

  10. 부트스트랩 작업 추가를 선택합니다.

  11. 워크로드 요구 사항에 맞게 클러스터를 계속 생성하세요.

클러스터가 시작되면 CloudWatch 에이전트는 시스템 지표와 함께 지정한 애플리케이션 지표를 게시합니다. CloudWatch

Amazon EMR 7.0.0을 사용하여 Amazon Managed Service for Prometheus를 지표용 클라우드 스토리지로 구성합니다.

대신 Amazon CloudWatch 에이전트가 Prometheus용 Amazon Managed Service에 지표를 게시하도록 구성할 수 있습니다. CloudWatch

참고

Amazon CloudWatch 에이전트에서 Prometheus용 Amazon Managed Service 또는 Amazon에 지표를 게시할 수 있지만, 동일한 클러스터의 두 서비스에 지표를 게시할 수는 없습니다. CloudWatch

Prometheus용 Amazon 관리 서비스에 지표를 게시하도록 에이전트를 구성하려면 Amazon EMR용 Amazon EC2 인스턴스 aps:RemoteWrite AWS Identity and Access Management 프로필에 (IAM) 권한을 추가해야 합니다. 다음 예제 정책은 필요한 권한을 포합합니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "aps:RemoteWrite", "Resource": "*" } ] }
EMR 클러스터의 CloudWatch 에이전트를 사용하여 Prometheus용 Amazon 관리 서비스에 지표를 게시할 수 있습니다.

서비스 정책에 올바른 권한이 부여되면 다음 단계를 사용하여 CloudWatch 에이전트를 사용하여 Amazon Managed Service for Prometheus에 지표를 게시하는 클러스터를 시작하십시오.

  1. AWS Management Console 또는 를 사용하여 AWS CLI Prometheus용 Amazon 관리형 서비스 워크스페이스를 생성하십시오. 자세한 내용은 Amazon Managed Service for Prometheus 사용 설명서작업 영역 생성을 참조하세요.

  2. Amazon S3 계정에서 Amazon Managed Service for Prometheus를 클라우드 스토리지로 지정하는 시작 파일을 저장할 버킷을 만들거나 선택합니다.

  3. 다음으로 aws-emr-utilities 리포지토리로 이동하여 다음 스크립트를 GitHub 다운로드하십시오.

    • add_prometheus_endpoint_launcher.sh – 노드가 부트스트래핑을 완료할 수 있도록 다운로드한 다음 백그라운드에서 add_prometheus_endpoint.sh를 실행하는 스크립트입니다.

    • add_prometheus_endpoint.sh— 실행되는 인스턴스가 부트스트래핑을 마칠 때까지 기다린 다음 클러스터를 시작할 때 인수로 제공하는 Amazon Managed Service for Prometheus 엔드포인트에 게시하도록 CloudWatch 에이전트를 구성하는 스크립트입니다.

  4. 각 파일을 열고 my-s3-bucket을 2단계의 버킷 이름으로 바꿉니다.

  5. AWS CLI 를 사용하여 add_prometheus_endpoint_launcher.sh 부트스트랩 작업이 포함된 EMR 클러스터를 생성합니다. 다음 명령에서 my-s3-bucket을 부트스트랩 작업을 보관하는 버킷으로 교체하고 managedpro-remote-write-workspace-url를 Amazon Managed Service for Prometheus 작업 공간의 원격 쓰기 엔드포인트로 대체합니다. Amazon EMR 출시 레이블을 다음 emr-7.0.0 또는 그 이상으로 지정해야 합니다.

    aws emr create-cluster --name managedpro-cluster \ --release-label emr-7.0.0 \ --applications Name=Hadoop Name=AmazonCloudWatchAgent \ --ec2-attributes KeyName=myKey --instance-type m7g.2xlarge \ --instance-count 3 --use-default-roles --bootstrap-actions Name='Add Prometheus Endpoint',Path=s3://my-s3-bucket/add_prometheus_endpoint_launcher.sh,Args='managedpro-remote-write-workspace-url'

클러스터가 시작되면 CloudWatch 에이전트는 수집한 지표를 Prometheus용 Amazon Managed Service에 게시합니다.

Amazon Managed Service for Prometheus를 Amazon Managed Grafana의 데이터 소스로 사용

Amazon EMR이 Amazon Managed Service for Prometheus에 클러스터 지표를 게시한 후에는 다음 단계를 사용하여 Amazon Managed Grafana로 지표를 시각화할 수 있습니다.

  1. AWS Management Console 를 사용하여 Amazon Managed Grafana 작업 공간과 적절한 권한을 가진 사용자를 생성할 수 있습니다. 자세한 내용은 Amazon Managed Grafana 사용 설명서작업 공간 생성을 참조하세요.

  2. Amazon Managed Service for Prometheus 작업 영역을 Amazon Managed Grafana에 데이터 소스로 추가합니다. 자세한 내용은 Amazon Managed Grafana 사용 설명서에서 AWS 데이터 소스 구성을 사용하여 Amazon Managed Service for Prometheus를 데이터 소스로 추가를 참조하세요.

참고

CloudWatch 에이전트에는 특정 속성의 이름을 변경하는 Prometheus 익스포터가 있습니다. Prometheus용 Amazon 관리 서비스는 기본 지표 레이블의 경우 Amazon에서 사용하는 기간 대신 밑줄 문자를 사용합니다. CloudWatch 따라서 Amazon Managed Grafana를 사용하여 Amazon Managed Service for Prometheus에서 기본 지표를 시각화하는 경우 레이블은 jobflow_id, instance_idservice_name으로 표시됩니다.

또한 CloudWatch 에이전트가 Prometheus용 Amazon Managed Service에 게시하는 모든 애플리케이션 지표에는 대신 레이블이 사용됩니다. job service_name 하지만 시스템 지표에는 계속해서 이 service_name 레이블이 사용됩니다.