Hadoop 클러스터 모니터링
카카오클라우드 Monitoring Flow와 Hadoop Eco를 사용하여 모니터링하는 과정을 단계별로 설명합니다.
사전 작업
Monitoring Flow 환경 준비
Monitoring Flow를 사용하기 위해서는 VPC와 서브넷 생성이 선행되어야 합니다. VPC 생성과 서브넷 생성 문서를 참고하여 내부 리소스를 접근하기 위한 환경 설정을 진행해 주세요.
- 카카오클라우드 콘솔 > Beyond Networking Service > VPC > VPC 메뉴로 이동합니다.
- VPC 생성을 참고하여 VPC를 생성합니다.
- 서브넷 생성을 참고하여 서브넷을 생성합니다.
Monitoring Flow 시나리오 예제
Monitoring Flow를 활용하여 Hadoop 클러스터 노드들에 대해 모니터링할 수 있습니다.
시나리오 소개
Monitoring Flow를 활용하여 Hadoop 클러스터 노드들에 대해 모니터링할 수 있습니다.
이 시나리오에서는 API
, Set Variables
, For
, If
스텝을 활용하여 다음의 주요 내용을 다룹니다.
- 카카오클라우드 Hadoop Eco를 사용하여 Hadoop 클러스터를 생성합니다.
- 플로우 커넥션을 생성하여 API 서버 서브넷 채널을 연결합니다.
- Monitoring Flow 시나리오를 생성하여 Hadoop 클러스터 노드들에 대한 지속적인 모니터링을 진행합니다.
- Alert Center 연동을 이용하여 시나리오 결과에 대한 응답을 확인합니다.
- 예상 소요 시간: 30분
- Region: kr-central-2
- 사전 준비 사항
- 참고 문서
1. Hadoop Eco 클러스터 생성하기
이 실습은 Hadoop Eco를 사용합니다. 활성화 상태의 클러스터를 확인하세요.
Hadoop Eco의 클러스터가 없다면, 클러스터 생성 문서를 참고하여 클러스터를 생성해 주세요.
-
카카오클라우드 콘솔 > Analytics > Hadoop Eco > Cluster 메뉴로 이동합니다.
-
클러스터 생성 문서를 참고하여 클러스터를 생성합니다.
- VPC 설정 항목에서 플로우 커넥션에 연결할 대상의 VPC와 서브넷을 선택합니다.
- 시큐리티 그룹에서 새로운 시큐리티 그룹 생성을 선택합니다.
-
생성된 Hadoop 클러스터 ID 정보를 확인합니다.
- 해당 예제에서 Monitoring Flow 스텝 구성시 필요한 정보입니다.클러스터 상세
2. 액세스 키 발급
IAM 사용자 자격 증명인 액세스 키(Access Key)는 액세스 키 ID와 보안 액세스 키를 의미하며, API 인증 토큰 발급을 위해 필요한 정보입니다. 발급 시 선택한 프로젝트에서 맡은 IAM 역할에 따라 액세스 키의 권한이 주어집니다. 액세스 키 문서를 참고하여 액세스 키를 발급합니다.
-
카카오클라우드 콘솔 > 사용자 설정 > 액세스 키 메뉴로 이동합니다.
-
액세스 키 생성 문서를 참고하여 액세스 키를 생성합니다.
-
생성 완료 후, 액세스 ID와 보안 엑세스 키를 복사합니다.
- 해당 예제에서 Monitoring Flow 스텝 구성시 필요한 정보입니다.액세스 키 생성
3. 플로우 커넥션 생성하기
카카오클라우드 내부 리소스를 접근하기 위해 플로우 커넥션을 생성합니다. Hadoop Eco가 생성된 서브넷의 채널이 추가되도록 플로우 커넥션에 연결합니다.
-
카카오클라우드 콘솔 > Management > Monitoring Flow > 플로우 커넥션 메뉴로 이동합니다.
-
[플로우 커넥션 생성] 버튼을 클릭합니다.
-
클러스터가 생성된 VPC를 선택합니다.
- 활성화 상태의 VPC만 선택할 수 있습니다. -
플로우 커넥션에 Hadoop 클러스터가 생성된 서브넷을 선택합니다.
- 상위 VPC에 연결된 활성화 상태의 서브넷만 선택할 수 있습니다.플로우 커넥션 생성
4. 시나리오 생성하기
시나리오를 생성하여 스케줄과 시나리오 스텝을 구성합니다.
-
카카오클라우드 콘솔 > Management > Monitoring Flow > 시나리오 메뉴로 이동합니다.
-
[시나리오 생성] 버튼을 클릭한 후, 시나리오 생성 화면으로 이동합니다.
-
카카오클라우드 내부 리소스 접근을 위해 KakaoCloud VPC를 활용을 체크합니다.
-
등록된 플로우 커넥션 중 하나를 선택합니다.
-
스케줄을 설정합니다.
시나리오 생성
5. 시나리오 스텝 추가하기: Default Variable
시나리오를 구성하는 스텝들을 조합하여 하나의 시나리오를 완성합니다. 아래의 예시를 확인 후 값을 입력해 주세요.
-
Management > Monitoring Flow > 시나리오 메뉴에서 이름을 클릭합니다.
-
세부 정보 탭에서 우측 상단의 [시나리오 스텝 추가] 버튼을 클릭합니다.
-
우측 상단의 [Default Variable 관리] 버튼을 클릭하여, Default Variable을 등록해 주세요.
- 스텝을 생성하기 전에 Default Variable가 먼저 등록되어야 합니다. -
다음 테이블을 참고하여 각 항목을 설정합니다. 4가지 예시를 모두 입력하시기 바랍니다.
항목 예시 1 예시 2 예시 3 예시 4 설명 Key vm-ip vm-list vm-status vm-is-master Variable의 Key값 Type String JSON List string string Variable의 유형 선택 Value []
false 선택한 Type에 맞는 Variable의 기본값 Default Variable 관리
-
저장 후 [닫기] 버튼을 클릭합니다.
6. 시나리오 스텝 추가하기: API-1
아래의 예시를 확인 후 값을 입력해 주세요.
-
시나리오 스텝 화면 우측 패널의 새 스텝 설정에서 스텝 유형으로
API
를 선택합니다. -
테이블을 참고하여 필요한 항목을 설정합니다. 예시를 모두 입력하시기 바랍니다.
항목 예시 1 예시 2 예시 3 설명 유형 API API 선택 스텝 이름 API-1 스텝에 설정할 이름 Expected Code 200 입력한 URL의 예상 Status Code를 입력
- 미입력 시200
으로 자동 설정Method GET API 요청 방법 선택 URL 상단 예시 확인 접근하는 API의 URL
- 예시:https://hadoop-eco.kr-central-2.kakaocloud.com/v2/hadoop-eco/clusters/{Cluster-ID}/vms
- Analytics > Hadoop Eco > Cluster 목록에서 접근하려는 클러스터 ID 확인 가능Header의 Key Content-type credential-id credential-secret Headers Key 입력
- Hadoop 클러스터 생성 Request 참고Header의 Value application/json 액세스 키 ID 보안 액세스 키 Headers Value 입력
- Hadoop 클러스터 생성 Request 참 고API 스텝 추가-1
-
필수 항목을 모두 입력한 후에 좌측 패널에서 다음 스텝 추가를 클릭합니다.
7. 시나리오 스텝 추가하기: Set Variables
아래의 예시를 확인 후 값을 입력해 주세요.
-
시나리오 스텝 화면 우측 패널의 새 스텝 설정에서 스텝 유형으로
Set Variables
를 선택합니다. -
다음 테이블을 참고하여 필요한 항목을 설정합니다.
항목 예시 설명 유형 Set Variables Set Variables 선택 스텝 이름 Variables-1 스텝에 설정할 이름 Variable ${vm-list}
Default Variable에 저장된 목록 중 1개를 선택 Step API선택 API-1 상위 스텝에서 저장된 API 스텝을 선택 Step 요청/응답 request response,request 중 1개를 선택 Step 구성 요소 body request, response 선택 값에 따라 parameters, headers, body를 선택 Key content 상위에 선택한 요청/응답 결과의 값을 입력 또는 선택 Set Variables 스텝 추가
8. 시나리오 스텝 추가하기: For
아래의 예시를 확인 후 값을 입력해 주세요.
-
시나리오 스텝 화면 우측 패널의 새 스텝 설정에서 스텝 유형으로 For를 선택합니다.
-
다음 테이블을 참고하여 필요한 항목을 설정합니다.
항목 예시 1 예시 2 예시 3 설명 유형 For For 선택 스텝 이름 For-1 스텝에 설정할 이름 Type foreach count, foreach 중 1개를 선택 Base Variable ${vm-list}
Default Variable에서 Json List를 선택
- Json List 형태의 다수 데이터를 반복 실행Marker Variable ${vm-ip}
${vm-status}
${vm-is-master}
Default Variable에 저장된 목록 중 1개를 선택 Marker Value marker.ip marker.status marker.ismaster 데이터를 읽기 위한 위치에 대한 값
-marker
로 시작해야 함For 스텝 추 가
For
스텝과 If
스텝에는 반드시 하위 스텝을 추가해야 합니다.
For 하위스텝 필수
9. 시나리오 스텝 추가하기: If
아래의 예시를 확인 후 값을 입력해 주세요.
-
시나리오 스텝 화면 우측 패널의 새 스텝 설정에서 스텝 유형으로
If
를 선택합니다. -
다음 테이블을 참고하여 필요한 항목을 설정합니다. 예시는 모두 입력해야 합니다.
항목 예시 1 예시 2 설명 유형 If Logical and and와 or 함수 중 1개 선택 Left Operand ${vm-status}
${vm-is-master}
연산을 위한 대상 조건 입력
- 변수를 입력Comparison ==
==
비교 연산자 선택 Right Operand Running false 기준값 입력
- 대/소문자를 확인하여 정확한 값을 입력 필요API 스텝 추가-2
-
필수 항목을 모두 입력한 후, 좌측 패널에서 [하위 스텝 추가]를 클릭합니다.
10. 시나리오 스텝 추가하기: API-2
아래의 예시를 확인 후 값을 입력해 주세요.
-
시나리오 스텝 화면 우측 패널의 새 스텝 설정에서 스텝 유형으로
API
를 선택합니다. -
다음 테이블을 참고하여 필요한 항목을 설정합니다.
항목 예시 설명 유형 API API 선택 스텝 이름 API-2 스텝에 설정할 이름 Expected code 200 입력한 URL의 예상 Status Code를 입력
- 미입력 시,200
으로 설정Method GET API 요청 방법 선택 URL http:// ${vm-ip}
:7001/v1/agent/health접근하는 API의 URL 플로우 커넥션 생성
-
필수 항목을 모두 입력한 후, 우측 상단의 [테스트] 버튼을 클릭하여 테스트를 진행합니다.
- 11.시나리오 테스트 하기를 참고하세요.
11. 시나리오 테스트하기
시나리오 스텝을 추가하여 정상적으로 동작하는 테스트할 수 있습니다.
-
시나리오 스텝의 필수 항목을 모두 입력한 후에 우측 상단의 테스트를 클릭합니다.
-
테스트 실행 결과를 확인합니다.
테스트 성공 결과
-
오류 항목이 있는 경우, 우측 패널 하단의 오류 상세를 확인해 주세요.
-
테스트 결과 확인 후, 우측 상단의 [닫기] 버튼을 누르면 시나리오 스텝 편집 화면으로 이동합니다.
-
시나리오 스텝 편집 화면의 우측 상단의 [저장] 버튼을 클릭하여 생성한 시나리오를 저장합니다. 저장된 시나리오는 설정한 스케줄에 맞춰 실행됩니다.
-
실행 결과는 아래의 12.실행 결과 확인 하기를 참고하세요.
- 비활성화 상태의 클러스터에 접근 시, 호출 실패 오류가 확인됩니다. 올바른 IP 주소를 입력해 주세요.
12. 실행 결과 확인하기
실행이 완료된 시나리오의 실행 결과와 실행 시간을 확인할 수 있습니다.
-
카카오클라우드 콘솔 > Management > Monitoring Flow > 시나리오 메뉴를 선택합니다.
-
시나리오 메뉴에서 정보를 확인할 시나리오를 선택합니다.
-
시나리오의 상세 화면에서 실행 결과 탭을 클릭합니다.
시나리오 실행 결과 목록
-
실행 결과 목록에서 이벤트를 클릭하여 상세 결과를 확인합니다.
시나리오 실행 결과 상세