AWS Glue Studio에서 ETL 작업 모니터링 - AWS Glue Studio

AWS Glue Studio에서 ETL 작업 모니터링

모니터링은 AWS Glue와 AWS Glue Studio에서 사용되는 ETL 작업의 안정성, 가용성, 성능을 유지 관리하는 데 중요한 역할을 합니다. 발생하는 다중 지점 실패를 보다 쉽게 디버깅할 수 있도록 AWS 솔루션의 모든 부분으로부터 모니터링 데이터를 수집해야 합니다.

작업 모니터링 대시보드에 액세스

AWS Glue Studio 탐색 창에서 모니터링(Monitoring) 링크를 선택하여 작업 모니터링 대시보드에 액세스합니다.

작업 모니터링 대시보드 개요

작업 모니터링 대시보드는 [실행 중(Running)], [취소됨(Canceled)], [성공(Success)] 또는 [실패(Failed)] 상태의 작업에 대한 합계와 함께 작업 실행에 대한 전체 요약을 제공합니다. 추가 타일은 전체 작업 실행 성공률, 작업에 대한 예상 DPU 사용량, 작업 유형, 작업자 유형 및 일별 작업 상태 개수 분석을 제공합니다.

타일의 그래프는 대화형입니다. 그래프에서 블록을 선택하여 페이지 하단의 [작업 실행(Job runs)] 테이블에 해당 작업만 표시하는 필터를 실행할 수 있습니다.

[날짜 범위(Date range)] 선택기를 사용하여 이 페이지에 표시되는 정보의 날짜 범위를 변경할 수 있습니다. 날짜 범위를 변경하면 정보 타일이 조정되어 현재 날짜 이전의 지정된 일 수에 대한 값을 표시합니다. 날짜 범위 선택기에서 [사용자 정의(Custom)]를 선택하면 특정 날짜 범위를 사용할 수도 있습니다.

작업 실행 보기

[작업 실행(Job runs)] 리소스 목록에는 지정된 날짜 범위 및 필터에 대한 작업이 표시됩니다.

상태, 작업자 유형, 작업 유형 및 작업 이름과 같은 추가 기준에 따라 작업을 필터링할 수 있습니다. 테이블 상단의 필터 상자에 필터로 사용할 텍스트를 입력할 수 있습니다. 텍스트를 입력할 때 일치하는 텍스트가 포함된 행으로 테이블 결과가 업데이트됩니다.

작업 모니터링 대시보드의 그래프에서 요소를 선택하여 작업의 하위 집합을 볼 수 있습니다. 예를 들어 [작업 실행 요약(Job runs summary)] 타일에서 실행 중인 작업 수를 선택하면 [작업 실행(Job runs)] 목록에 현재 상태가 Running인 작업만 표시됩니다. [작업자 유형 분석(Worker type breakdown)] 막대 차트에서 막대 중 하나를 선택하면 작업자 유형 및 상태가 일치하는 작업 실행만 [작업 실행(Job runs)] 목록에 표시됩니다.

[작업 실행(Job runs)] 리소스 목록에는 작업 실행에 대한 세부 정보가 표시됩니다. 열 머리글을 선택하여 테이블의 행을 정렬할 수 있습니다. 표에는 다음 정보가 포함되어 있습니다.

속성 설명
작업 이름 작업의 이름
유형

작업 환경의 유형입니다.

  • [Glue ETL]: AWS Glue에서 관리하는 Apache Spark 환경에서 실행됩니다.

  • [Glue 스트리밍(Glue Streaming)]: Apache Spark 환경에서 실행되고 데이터 스트림에서 ETL을 수행합니다.

  • [Python 셸(Python shell)]: Python 스크립트를 셸로 실행합니다.

시작 시간

이 작업이 시작된 날짜 및 시간.

종료 시간

이 작업 실행이 완료된 날짜 및 시간입니다.

실행 상태

작업 실행의 현재 상태입니다. 값은 다음과 같습니다.

  • STARTING

  • RUNNING

  • STOPPING

  • STOPPED

  • SUCCEEDED

  • FAILED

  • TIMEOUT

런타임 작업이 리소스를 소비한 시간입니다.
용량

이 작업 실행에 할당된 AWS Glue 데이터 처리 장치(DPU) 수입니다. 용량 계획에 대한 자세한 내용은 AWS Glue Developer GuideMonitoring for DPU Capacity Planning을 참조하세요.

작업자 유형

작업 실행 시 할당된 미리 정의된 작업자 유형입니다. 값은 Standard, G.1X 또는 G.2X일 수 있습니다.

DPU 시간

작업 실행에 사용된 예상 DPU입니다. DPU는 처리 능력의 상대적인 측정치입니다. DPU는 작업 실행 비용을 결정하는 데 사용됩니다. 자세한 내용은 AWS Glue 요금 페이지를 참조하세요.

목록에서 원하는 작업 실행을 선택하고 추가 정보를 볼 수 있습니다. 작업 실행을 선택하고 다음 중 하나를 수행합니다.

  • [작업(Actions)] 메뉴와 [작업 보기(View job)] 옵션을 선택하여 시각적 편집기에서 작업을 봅니다.

  • [작업(Actions)] 메뉴와 [실행 중지(Stop run)] 옵션을 선택하여 작업의 현재 실행을 중지합니다.

  • [CloudWatch Logs 보기(View CloudWatch logs)] 버튼을 선택하여 해당 작업에 대한 작업 실행 로그를 봅니다.

  • [실행 세부 정보 보기(View details)]를 선택하여 작업 실행 세부 정보 페이지를 봅니다.

작업 실행 로그 보기

다양한 방법으로 작업 로그를 볼 수 있습니다.

  • [모니터링(Monitoring)] 페이지의 [작업 실행(Job runs)] 테이블에서 작업 실행을 선택한 다음 [CloudWatch Logs 보기(View CloudWatch logs)]를 선택합니다.

  • 시각적 작업 편집기의 작업에 대한 [실행(Runs)] 탭에서 하이퍼링크를 선택하여 로그를 봅니다.

    • [로그(Logs)] - 작업 실행에 연속 로깅이 사용될 때 작성된 Apache Spark 작업 로그에 대한 링크입니다. 이 링크를 선택하면 /aws-glue/jobs/logs-v2 로그 그룹의 Amazon CloudWatch 로그로 이동합니다. 기본적으로 로그는 유용하지 않은 Apache Hadoop YARN 하트비트 및 Apache Spark 드라이버 또는 실행기 로그 메시지를 제외합니다. 연속 로깅에 대한 자세한 내용은 AWS Glue Developer GuideContinuous Logging for AWS Glue Jobs를 참조하세요.

    • [오류 로그(Error logs)] - 이 작업을 실행할 때 stderr에 작성되는 로그와 연결됩니다. 이 링크를 선택하면 /aws-glue/jobs/error 로그 그룹의 Amazon CloudWatch 로그로 이동합니다. 이 로그를 사용하여 작업 실행 중에 발생한 오류에 대한 세부 정보를 볼 수 있습니다.

    • [출력 로그(Output logs)] - 이 작업을 실행할 때 stdout에 작성되는 로그와 연결됩니다. 이 링크를 선택하면 /aws-glue/jobs/output 로그 그룹의 Amazon CloudWatch 로그로 이동합니다. 이러한 로그를 사용하여 AWS Glue Data Catalog에서 생성된 테이블 및 발생한 오류에 대한 모든 세부 정보를 볼 수 있습니다.

작업 실행의 세부 정보 보기

[모니터링(Monitoring)] 페이지의 [작업 실행(Job runs)] 목록에서 작업을 선택한 다음 [실행 세부 정보 보기(View run details)]를 선택하여 해당 작업 실행에 대한 세부 정보를 볼 수 있습니다.

작업 실행 세부 정보 페이지에 표시되는 정보는 다음과 같습니다.

속성 설명
작업 이름 작업의 이름
실행 상태

작업 실행의 현재 상태입니다. 값은 다음과 같습니다.

  • STARTING

  • RUNNING

  • STOPPING

  • STOPPED

  • SUCCEEDED

  • FAILED

  • TIMEOUT

Glue 버전 작업 실행에 사용된 AWS Glue 버전
최근 시도 이 작업 실행에 대한 자동 재시도 횟수
시작 시간

이 작업 실행이 시작된 날짜 및 시간

종료 시간

이 작업 실행이 완료된 날짜 및 시간

시작 시간

작업 실행 준비에 소요된 시간

실행 시간

작업 스크립트 실행에 소요된 시간

트리거 이름

작업과 연결된 트리거의 이름

최근 수정 시간

작업이 마지막으로 수정된 날짜

보안 구성

Amazon S3 암호화, CloudWatch 암호화 및 작업 북마크 암호화 설정을 포함하는 작업에 대한 보안 구성

제한 시간 작업 실행 시간 제한 임계값
할당된 용량

이 작업 실행에 할당된 AWS Glue 데이터 처리 장치(DPU) 수입니다. 용량 계획에 대한 자세한 내용은 AWS Glue Developer GuideMonitoring for DPU Capacity Planning을 참조하세요.

최대 용량

작업 실행에 사용할 수 있는 최대 용량.

작업자 수 작업 실행에 사용된 작업자 수
작업자 유형

작업 실행에 할당된 사전 정의된 작업자 유형. 값은 Standard, G.1X 또는 G.2X일 수 있습니다.

로그 연속 로깅을 위한 작업 로그에 대한 링크(/aws-glue/jobs/logs-v2)
출력 로그 작업 출력 로그 파일(/aws-glue/jobs/output)에 대한 링크
오류 로그 작업 오류 로그 파일(/aws-glue/jobs/error)에 대한 링크

작업 실행에 대한 Amazon CloudWatch 지표 보기

작업 실행에 대한 세부 정보 페이지의 실행 세부 정보(Run details) 섹션 아래에서 작업 지표를 볼 수 있습니다. AWS Glue Studio는 모든 작업 실행의 작업 지표를 Amazon CloudWatch로 보냅니다.

AWS Glue은 30초마다 Amazon CloudWatch에 지표를 보고합니다. AWS Glue 지표는 이전에 보고한 값의 델타 값을 나타냅니다. 적절한 경우 지표 대시보드는 30초 값을 집계(합)하여 마지막 1분 전체에 대한 값을 얻습니다. 그러나 AWS Glue가 Amazon CloudWatch에 전달하는 Apache Spark 지표는 일반적으로 보고되는 시점의 현재 상태를 나타내는 절대값입니다.

참고

Amazon CloudWatch 권한에 설명된 대로 Amazon CloudWatch에 액세스하려면 계정을 구성해야 합니다.

지표는 다음과 같은 작업 실행에 대한 정보를 제공합니다.

  • [ETL 데이터 이동(ETL Data Movement)] – Amazon S3에서 읽거나 쓴 바이트 수입니다.

  • [메모리 프로파일: 사용된 힙(Memory Profile: Heap used)] – Java 가상 머신(JVM) 힙에서 사용하는 메모리 바이트 수입니다.

  • [메모리 프로파일: 힙 사용량(Memory Profile: heap usage)] – JVM 힙에서 사용하는 메모리 부분(규모: 0~1, 백분율로 표시)입니다.

  • [CPU 로드(CPU Load)] – 사용된 CPU 시스템 로드 부분(규모: 0~1, 백분율로 표시)입니다.