- 인쇄
- PDF
Cloud Insight로 Hadoop 모니터링
- 인쇄
- PDF
VPC 환경에서 이용 가능합니다.
네이버 클라우드 플랫폼 Cloud Insight를 통해 Hadoop의 성능 및 운영 지표를 모니터링하고, 장애가 발생했을 때 신속하게 확인하여 대처할 수 있습니다.
사전 작업
- Cloud Hadoop 클러스터를 생성해 주십시오.
- Cloud Hadoop 클러스터 생성에 대한 자세한 내용은 Cloud Hadoop 시작 가이드를 참고해 주십시오.
- Cloud Insight 이용을 신청해 주십시오.
- Cloud Insight 이용 신청에 대한 자세한 내용은 Cloud Insight 사용 가이드를 참고해 주십시오.
대시보드 구성
Cloud Hadoop 모니터링을 위해 Cloud Insight 콘솔 화면에서 대시보드를 생성하고 위젯을 추가할 수 있습니다.
Cloud Insight에서 대시보드를 생성하고 위젯을 추가하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 Services > Management & Governance > Cloud Insight(Monitoring) 메뉴를 차례대로 클릭해 주십시오.
- [대시보드 생성] 버튼을 클릭해 주십시오.
- 대시보드의 이름과 설명을 입력한 후 [생성] 버튼을 클릭해 주십시오.
- [위젯 추가] 버튼을 클릭해 주십시오.
- 위젯의 이름을 입력한 후 위젯 종류를 선택하고 [다음] 버튼을 클릭해 주십시오.
- 예시에서는 Time Series 위젯을 사용하여 설명합니다.
- 예시에서는 Time Series 위젯을 사용하여 설명합니다.
- 아래와 같이 위젯 설정을 입력한 후 [다음] 버튼을 클릭해 주십시오.
- [CPU] 탭의 CPU/used_rto, CPU/user_rto 체크박스를 클릭한 후, [선택 항목 추가] 버튼을 클릭해 주십시오.
- Product Type: Cloud Hadoop(VPC)
- Target: 보유 리소스 전체 선택 후 모니터링할 클러스터 선택
(그룹 선택 시 Target Group 설정 참고) - Metric: 전체 메트릭 선택 후 모니터링할 항목을 선택하고 [선택 항목 추가] 버튼 클릭
(템플릿 선택 시 Rule Template 설정 참고) - 설정 데이터 목록: 선택한 모니터링 항목의 Dimension(속성), Interval(집계 주기), Aggregation(집계 함수)
- [CPU] 탭의 CPU/used_rto, CPU/user_rto 체크박스를 클릭한 후, [선택 항목 추가] 버튼을 클릭해 주십시오.
- 설정한 위젯 내용을 확인한 후 [생성] 버튼을 클릭해 주십시오.
- 다음과 같이 대시보드에 위젯이 추가됩니다. 추가된 위젯을 통해 Cloud Hadoop 클러스터를 모니터링할 수 있습니다.
- 다음과 같이 대시보드에 위젯이 추가됩니다. 추가된 위젯을 통해 Cloud Hadoop 클러스터를 모니터링할 수 있습니다.
그룹 및 템플릿 설정
모니터링 설정 및 위젯을 수월하게 관리할 수 있도록 특정한 모니터링 대상을 그룹으로 묶거나 특정한 모니터링 항목(Metric)을 템플릿으로 저장할 수 있습니다.
Target Group 설정
Target Group을 생성하여 특정한 모니터링 대상을 그룹으로 묶는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 Services > Management & Governance > Cloud Insight(Monitoring) 메뉴를 차례대로 클릭해 주십시오.
- Configuration > Template 메뉴를 차례대로 클릭해 주십시오.
- [Target Group] 탭을 클릭한 후 [Target Group 생성] 버튼을 클릭해 주십시오.
- 아래와 같이 그룹 설정을 입력한 후 [생성] 버튼을 클릭해 주십시오.
- Product Type: Cloud Hadoop(VPC)
- 그룹 이름, 그룹 설명: 그룹 이름과 설명 입력
- 선택 가능한 감시 대상: 그룹에 포함할 모니터링 대상을 모두 선택한 후 클릭
Rule Template 설정
Rule Template을 설정하여 특정한 모니터링 항목을 템플릿으로 저장하는 방법은 다음과 같습니다.
네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 Services > Management & Governance > Cloud Insight(Monitoring) 메뉴를 차례대로 클릭해 주십시오.
Configuration > Template 메뉴를 차례대로 클릭해 주십시오.
[Rule Template] 탭을 클릭한 후 [Rule Template 생성] 버튼을 클릭해 주십시오.
다음와 같이 템플릿 설정을 입력한 후 [다음] 버튼을 클릭해 주십시오.
- Product Type: Cloud Hadoop(VPC)
- 템플릿 이름, 설명: 템플릿 이름과 설명을 입력
- 각 분류 탭에서 템플릿에 포함할 모니터링 항목(Metric)을 찾아 선택
다음과 같이 각 모니터링 항목의 모니터링 조건을 입력한 후 [저장] 버튼을 클릭해 주십시오.
- Dimension: 모니터링 항목의 속성
- Level: 이벤트 발생 시 레벨
- Condition: 이벤트 발생 조건
- Method: 모니터링 항목의 집계 함수
- Duration: 지속 시간
참고Cloud Hadoop(VPC)의 CPU/user_rto(cpu_idx: 1)의 값이 0으로 1분간 지속될 경우 Info 레벨의 이벤트가 발생하도록 설정하는 예시는 아래와 같습니다.
이벤트 설정
모니터링 대상과 항목을 선택하고, 모니터링 조건 및 통보 액션을 설정하여 이벤트를 생성하고, 생성한 이벤트의 현황을 확인할 수 있습니다.
이 가이드에서는 이벤트의 통보 액션으로 알림 메시지 발송을 사용하는 방법을 설명합니다. Integration, Cloud Functions, Auto Scaling 정책 등 다른 통보 액션에 대한 설명은 Cloud Insight 사용 가이드를 참고해 주십시오.
이벤트를 설정하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 Services > Management & Governance > Cloud Insight(Monitoring) 메뉴를 차례대로 클릭해 주십시오.
- Configuration > Event Rule 메뉴를 차례대로 클릭해 주십시오.
- [Event Rules 생성] 버튼을 클릭해 주십시오.
- 감시 상품 선택 항목에서 Cloud Hadoop(VPC) 를 선택한 후 [다음] 버튼을 클릭해 주십시오.
- 개별 모니터링 대상 또는 모니터링 그룹을 선택한 후 [다음] 버튼을 클릭해 주십시오.
- 새로운 그룹을 생성하려면 Target Group 설정을 참고해 주십시오.
- 개별 모니터링 항목 또는 모니터링 템플릿을 선택한 후 [다음] 버튼을 클릭해 주십시오.
- 새로운 템플릿을 생성하려면 Rule Template 설정을 참고해 주십시오.
- 새로운 템플릿을 생성하려면 Rule Template 설정을 참고해 주십시오.
- 알림 메시지 발송 탭에서 통보 대상자 그룹을 선택한 후 [다음] 버튼을 클릭해 주십시오.
- 새로운 통보 대상자 그룹을 생성하려면 통보 대상자 그룹 생성을 참고해 주십시오.
- 새로운 통보 대상자 그룹을 생성하려면 통보 대상자 그룹 생성을 참고해 주십시오.
- 설정한 이벤트 내용을 확인한 후 [생성] 버튼을 클릭해 주십시오.
이벤트 현황 확인
생성한 이벤트의 현황을 확인하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 Services > Management & Governance > Cloud Insight(Monitoring) 메뉴를 차례대로 클릭해 주십시오.
- Event 메뉴를 클릭해 주십시오. 이벤트 룰에 의해 이벤트가 발생한 경우, 아래과 같이 발생된 이벤트의 상세 내용을 확인할 수 있습니다.
통보 대상자 그룹 생성
이벤트 알림 메시지를 발생할 통보 대상자 그룹을 생성하고 대상자를 추가하는 방법은 다음과 같습니다.
- 네이버 클라우드 플랫폼 콘솔의 VPC 환경에서 Services > Management & Governance > Cloud Insight(Monitoring) 메뉴를 차례대로 클릭해 주십시오.
- Notification Recipient 메뉴를 차례대로 클릭해 주십시오.
- 대상자그룹 목록의 버튼을 클릭하고 생성할 그룹 이름을 입력한 후 버튼을 클릭해 주십시오.
- 대상자그룹 목록의 전체 대상자를 클릭해 주십시오.
- 생성한 그룹에 할당할 대상자를 선택한 후 [할당] 버튼을 클릭해 주십시오.
- 새로운 대상자를 추가하려면 [대상자 추가] 버튼을 클릭한 후 Cloud Insight 사용 가이드를 참고하여 대상자를 추가해 주십시오.
- 새로운 대상자를 추가하려면 [대상자 추가] 버튼을 클릭한 후 Cloud Insight 사용 가이드를 참고하여 대상자를 추가해 주십시오.
- 추가할 통보 대상자의 정보를 입력하고 본인인증을 완료한 후 [등록] 버튼을 클릭해 주십시오.
Cloud Hadoop Metric
생성된 모든 클러스터에 대해서 아래의 지표를 모니터링 할 수 있습니다. Cloud Insight는 지표에 대한 데이터를 1분 간격으로 수집합니다.
클러스터의 HDFS, YARN 이 정상적으로 동작하지 않을 경우 지표는 수집되지 않고, 대시보드에서도 확인할 수 없습니다.
지표 | 타입 | 단위 | 설명 |
---|---|---|---|
active_nodes | INTEGER | num | number of nodes presently running MapReduce tasks or jobs |
allocated_container | INTEGER | num | number of resource containers allocated by the ResourceManager |
allocated_mb | INTEGER | MB | amount of memory allocated to the cluster |
allocated_v_cores | INTEGER | num | number of core nodes working |
apps_completed | INTEGER | num | number of applications submitted to YARN that have completed |
apps_failed | INTEGER | num | number of applications submitted to YARN that have failed to complete |
apps_killed | INTEGER | num | number of applications submitted to YARN that have been killed |
apps_pending | INTEGER | num | number of applications submitted to YARN that are in a pending state |
apps_running | INTEGER | num | number of applications submitted to YARN that are running |
apps_submitted | INTEGER | num | number of applications submitted to YARN |
available_mb | INTEGER | MB | amount of memory available to be allocated |
capacity_remaining_gb | INTEGER | GB | amount of remaining HDFS disk capacity |
corrupt_blocks | INTEGER | num | number of blocks that HDFS reports as corrupted |
decommissioned_nodes | INTEGER | num | number of nodes allocated to MapReduce applications that have been marked in a DECOMMISSIONED state |
hdfs_bytes_read | INTEGER | Bytes | number of bytes read from HDFS |
hdfs_bytes_written | INTEGER | Bytes | number of bytes written to HDFS |
hdfs_utilization | FLOAT | % | percentage of HDFS storage currently used |
lost_nodes | INTEGER | num | number of nodes allocated to MapReduce that have been marked in a LOST state |
missing_blocks | INTEGER | num | number of blocks in which HDFS has no replicas |
num_live_data_nodes | INTEGER | num | number of data nodes that are receiving work from Hadoop |
pending_containers | INTEGER | num | number of containers in the queue that have not yet been allocated |
pending_deletion_blocks | INTEGER | num | number of blocks marked for deletion |
pending_replication_blocks | INTEGER | num | status of block replication: blocks being replicated, age of replication requests, and unsuccessful replication requests |
pending_v_cores | INTEGER | num | number of core nodes waiting to be assigned |
rebooted_nodes | INTEGER | num | number of nodes available to MapReduce that have been rebooted and marked in a REBOOTED state |
reserved_containers | INTEGER | num | number of containers reserved |
reserved_mb | INTEGER | MB | amount of memory reserved |
total_load | INTEGER | num | total number of concurrent data transfers |
total_mb | INTEGER | MB | total amount of memory in the cluster |
total_nodes | INTEGER | num | number of nodes presently available to MapReduce jobs |
under_replicated_blocks | INTEGER | num | number of blocks that need to be replicated one or more times |
unhealthy_nodes | INTEGER | num | number of nodes available to MapReduce jobs marked in an UNHEALTHY state |
yarn_memory_available_percentage | FLOAT | % | percentage of remaining memory available to YARN (= available_mb / total_mb) |