AWS Glue
AWS Glue 작업 자산 및 Spark 작업 메트릭을 수집합니다.
구성¶
Func 설치¶
Guance 통합 - 확장 - 호스팅 Func를 활성화하는 것을 권장합니다. 모든 사전 요구 사항이 자동으로 설치되므로 스크립트 설치를 진행하세요.
Func를 직접 배포하려면 자체 호스팅 Func를 참조하세요.
스크립트 활성화¶
팁: 요구 사항을 충족하는 AWS 액세스 키를 미리 준비하세요(간편한 설정을 위해 전역 읽기 전용 권한인
ReadOnlyAccess를 부여할 수 있습니다).
호스팅 버전 스크립트 활성화¶
- Guance 콘솔에 로그인합니다
- [통합] 메뉴를 클릭하고 [클라우드 계정 관리]를 선택합니다
- [클라우드 계정 추가]를 클릭하고 [AWS]를 선택한 뒤 화면에 필요한 정보를 입력합니다. 이전에 클라우드 계정 정보가 이미 설정되어 있다면 이 단계를 건너뜁니다
- [테스트]를 클릭하고, 테스트에 성공하면 [저장]을 클릭합니다. 테스트에 실패하면 관련 설정이 올바른지 확인한 뒤 다시 테스트합니다
- [클라우드 계정 관리] 목록에서 추가된 클라우드 계정을 확인할 수 있습니다. 해당 클라우드 계정을 클릭해 상세 페이지로 이동합니다
- 클라우드 계정 상세 페이지의 【통합】 버튼을 클릭한 뒤
설치되지 않음목록에서AWS Glue을 찾아 【설치】 버튼을 클릭하면 설치 화면이 나타납니다. 【설치】 버튼을 클릭하면 설치 화면이 나타나므로 설치를 진행하면 됩니다
수동 스크립트 활성화¶
- Func 콘솔에 로그인하고 [스크립트 마켓]을 클릭하여 Guance 스크립트 마켓으로 이동한 다음
integration_aws_glue를 검색합니다. - [설치]를 클릭한 후 AWS AK ID, AK Secret, 계정 이름을 입력합니다.
- [시작 스크립트 배포]를 클릭합니다. 시스템이
Startup스크립트 세트를 자동으로 생성하고 해당 시작 스크립트를 구성합니다. - 활성화하면 [관리 / 자동 트리거 구성]에서 해당 구성을 확인할 수 있습니다. [실행]을 클릭하면 예약 시간까지 기다리지 않고 즉시 한 번 실행할 수 있습니다. 잠시 후 작업 실행 기록과 관련 로그를 확인하세요.
검증¶
- [관리 / 자동 트리거 구성]에서 해당 작업의 자동 트리거 구성이 있는지 확인하고 작업 기록과 로그에서 이상 여부를 점검합니다.
- Guance의 [인프라 / 사용자 정의]에서 자산 정보가 있는지 확인합니다.
- Guance의 [메트릭]에서 해당 모니터링 데이터가 있는지 확인합니다.
메트릭¶
메트릭 세트는 aws_glue입니다.
| MetricName | MetricDescribe | Dimensions | Unit |
|---|---|---|---|
glue.ALL.jvm.heap.usage |
모든 executor의 JVM 힙 사용 비율 | JobName, JobRunId, Type | 비율(0–1) |
glue.ALL.s3.filesystem.read_bytes |
모든 executor가 S3에서 읽은 바이트 수 | JobName, JobRunId, Type | B |
glue.ALL.s3.filesystem.write_bytes |
모든 executor가 S3에 쓴 바이트 수 | JobName, JobRunId, Type | B |
glue.ALL.system.cpuSystemLoad |
모든 executor의 시스템 CPU 부하 | JobName, JobRunId, Type | 비율(0–1) |
glue.driver.aggregate.bytesRead |
driver가 집계한 읽기 바이트 수 | JobName, JobRunId, Type | B |
glue.driver.aggregate.elapsedTime |
driver가 집계한 실행 소요 시간 | JobName, JobRunId, Type | ms |
glue.driver.aggregate.numCompletedStages |
완료된 Spark stage 수 | JobName, JobRunId, Type | count |
glue.driver.aggregate.numCompletedTasks |
완료된 Spark task 수 | JobName, JobRunId, Type | count |
glue.driver.aggregate.numFailedTasks |
실패한 Spark task 수 | JobName, JobRunId, Type | count |
glue.driver.aggregate.numKilledTasks |
종료된 Spark task 수 | JobName, JobRunId, Type | count |
glue.driver.aggregate.recordsRead |
읽은 데이터 레코드 수 | JobName, JobRunId, Type | count |
glue.driver.aggregate.shuffleBytesWritten |
Shuffle 쓰기 바이트 수 | JobName, JobRunId, Type | B |