본문으로 건너뛰기

Hadoop 클러스터 모니터링

카카오클라우드 Monitoring Flow와 Hadoop Eco를 사용하여 모니터링하는 과정을 단계별로 설명합니다.

사전 작업

Monitoring Flow 환경 준비

Monitoring Flow를 사용하기 위해서는 VPC와 서브넷 생성이 선행되어야 합니다. VPC 생성서브넷 생성 문서를 참고하여 내부 리소스를 접근하기 위한 환경 설정을 진행해 주세요.

  1. 카카오클라우드 콘솔 > Beyond Networking Service > VPC > VPC 메뉴로 이동합니다.
  2. VPC 생성을 참고하여 VPC를 생성합니다.
  3. 서브넷 생성을 참고하여 서브넷을 생성합니다.

Monitoring Flow 시나리오 예제

Monitoring Flow를 활용하여 Hadoop 클러스터 노드들에 대해 모니터링할 수 있습니다.

시나리오 소개

Monitoring Flow를 활용하여 Hadoop 클러스터 노드들에 대해 모니터링할 수 있습니다. 이 시나리오에서는 API, Set Variables, For, If 스텝을 활용하여 다음의 주요 내용을 다룹니다.

  • 카카오클라우드 Hadoop Eco를 사용하여 Hadoop 클러스터를 생성합니다.
  • 플로우 커넥션을 생성하여 API 서버 서브넷 채널을 연결합니다.
  • Monitoring Flow 시나리오를 생성하여 Hadoop 클러스터 노드들에 대한 지속적인 모니터링을 진행합니다.
  • Alert Center 연동을 이용하여 시나리오 결과에 대한 응답을 확인합니다.
기본 정보

1. Hadoop Eco 클러스터 생성하기

이 실습은 Hadoop Eco를 사용합니다. 활성화 상태의 클러스터를 확인하세요.
Hadoop Eco의 클러스터가 없다면, 클러스터 생성 문서를 참고하여 클러스터를 생성해 주세요.

  1. 카카오클라우드 콘솔 > Analytics > Hadoop Eco > Cluster 메뉴로 이동합니다.

  2. 클러스터 생성 문서를 참고하여 클러스터를 생성합니다.

    • VPC 설정 항목에서 플로우 커넥션에 연결할 대상의 VPC와 서브넷을 선택합니다.
    • 시큐리티 그룹에서 새로운 시큐리티 그룹 생성을 선택합니다.
  3. 생성된 Hadoop 클러스터 ID 정보를 확인합니다.
    - 해당 예제에서 Monitoring Flow 스텝 구성시 필요한 정보입니다.

    이미지 클러스터 상세

2. 액세스 키 발급

IAM 사용자 자격 증명인 액세스 키(Access Key)는 액세스 키 ID와 보안 액세스 키를 의미하며, API 인증 토큰 발급을 위해 필요한 정보입니다. 발급 시 선택한 프로젝트에서 맡은 IAM 역할에 따라 액세스 키의 권한이 주어집니다. 액세스 키 문서를 참고하여 액세스 키를 발급합니다.

  1. 카카오클라우드 콘솔 > 사용자 설정 > 액세스 키 메뉴로 이동합니다.

  2. 액세스 키 생성 문서를 참고하여 액세스 키를 생성합니다.

  3. 생성 완료 후, 액세스 ID와 보안 엑세스 키를 복사합니다.
    - 해당 예제에서 Monitoring Flow 스텝 구성시 필요한 정보입니다.

    이미지 액세스 키 생성

3. 플로우 커넥션 생성하기

카카오클라우드 내부 리소스를 접근하기 위해 플로우 커넥션을 생성합니다. Hadoop Eco가 생성된 서브넷의 채널이 추가되도록 플로우 커넥션에 연결합니다.

  1. 카카오클라우드 콘솔 > Management > Monitoring Flow > 플로우 커넥션 메뉴로 이동합니다.

  2. [플로우 커넥션 생성] 버튼을 클릭합니다.

  3. 클러스터가 생성된 VPC를 선택합니다.
    - 활성화 상태의 VPC만 선택할 수 있습니다.

  4. 플로우 커넥션에 Hadoop 클러스터가 생성된 서브넷을 선택합니다.
    - 상위 VPC에 연결된 활성화 상태의 서브넷만 선택할 수 있습니다.

    이미지 플로우 커넥션 생성

4. 시나리오 생성하기

시나리오를 생성하여 스케줄과 시나리오 스텝을 구성합니다.

  1. 카카오클라우드 콘솔 > Management > Monitoring Flow > 시나리오 메뉴로 이동합니다.

  2. [시나리오 생성] 버튼을 클릭한 후, 시나리오 생성 화면으로 이동합니다.

  3. 카카오클라우드 내부 리소스 접근을 위해 KakaoCloud VPC를 활용을 체크합니다.

  4. 등록된 플로우 커넥션 중 하나를 선택합니다.

  5. 스케줄을 설정합니다.

    이미지 시나리오 생성

5. 시나리오 스텝 추가하기: Default Variable

시나리오를 구성하는 스텝들을 조합하여 하나의 시나리오를 완성합니다. 아래의 예시를 확인 후 값을 입력해 주세요.

  1. Management > Monitoring Flow > 시나리오 메뉴에서 이름을 클릭합니다.

  2. 세부 정보 탭에서 우측 상단의 [시나리오 스텝 추가] 버튼을 클릭합니다.

  3. 우측 상단의 [Default Variable 관리] 버튼을 클릭하여, Default Variable을 등록해 주세요.
    - 스텝을 생성하기 전에 Default Variable가 먼저 등록되어야 합니다.

  4. 다음 테이블을 참고하여 각 항목을 설정합니다. 4가지 예시를 모두 입력하시기 바랍니다.

    항목예시 1예시 2예시 3예시 4설명
    Keyvm-ipvm-listvm-statusvm-is-masterVariable의 Key값
    TypeStringJSON ListstringstringVariable의 유형 선택
    Value[]false선택한 Type에 맞는 Variable의 기본값

    이미지 Default Variable 관리

  5. 저장 후 [닫기] 버튼을 클릭합니다.

6. 시나리오 스텝 추가하기: API-1

아래의 예시를 확인 후 값을 입력해 주세요.

  1. 시나리오 스텝 화면 우측 패널의 새 스텝 설정에서 스텝 유형으로 API를 선택합니다.

  2. 테이블을 참고하여 필요한 항목을 설정합니다. 예시를 모두 입력하시기 바랍니다.

    항목예시 1예시 2예시 3설명
    유형APIAPI 선택
    스텝 이름API-1스텝에 설정할 이름
    Expected Code200입력한 URL의 예상 Status Code를 입력
    - 미입력 시 200으로 자동 설정
    MethodGETAPI 요청 방법 선택
    URL상단 예시 확인접근하는 API의 URL
    - 예시: https://hadoop-eco.kr-central-2.kakaocloud.com/v2/hadoop-eco/clusters/{Cluster-ID}/vms
    - Analytics > Hadoop Eco > Cluster 목록에서 접근하려는 클러스터 ID 확인 가능
    Header의 KeyContent-typecredential-idcredential-secretHeaders Key 입력
    - Hadoop 클러스터 생성 Request 참고
    Header의 Valueapplication/json액세스 키 ID보안 액세스 키Headers Value 입력
    - Hadoop 클러스터 생성 Request 참고

    이미지 API 스텝 추가-1

  3. 필수 항목을 모두 입력한 후에 좌측 패널에서 다음 스텝 추가를 클릭합니다.

7. 시나리오 스텝 추가하기: Set Variables

아래의 예시를 확인 후 값을 입력해 주세요.

  1. 시나리오 스텝 화면 우측 패널의 새 스텝 설정에서 스텝 유형으로 Set Variables를 선택합니다.

  2. 다음 테이블을 참고하여 필요한 항목을 설정합니다.

    항목예시설명
    유형Set VariablesSet Variables 선택
    스텝 이름Variables-1스텝에 설정할 이름
    Variable${vm-list}Default Variable에 저장된 목록 중 1개를 선택
    Step API선택API-1상위 스텝에서 저장된 API 스텝을 선택
    Step 요청/응답requestresponse,request 중 1개를 선택
    Step 구성 요소bodyrequest, response 선택 값에 따라 parameters, headers, body를 선택
    Keycontent상위에 선택한 요청/응답 결과의 값을 입력 또는 선택

    이미지 Set Variables 스텝 추가

8. 시나리오 스텝 추가하기: For

아래의 예시를 확인 후 값을 입력해 주세요.

  1. 시나리오 스텝 화면 우측 패널의 새 스텝 설정에서 스텝 유형으로 For를 선택합니다.

  2. 다음 테이블을 참고하여 필요한 항목을 설정합니다.

    항목예시 1예시 2예시 3설명
    유형ForFor 선택
    스텝 이름For-1스텝에 설정할 이름
    Typeforeachcount, 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 Valuemarker.ipmarker.statusmarker.ismaster데이터를 읽기 위한 위치에 대한 값
    - marker로 시작해야 함

    이미지 For 스텝 추가

기본 정보

For 스텝과 If 스텝에는 반드시 하위 스텝을 추가해야 합니다.

이미지 For 하위스텝 필수

9. 시나리오 스텝 추가하기: If

아래의 예시를 확인 후 값을 입력해 주세요.

  1. 시나리오 스텝 화면 우측 패널의 새 스텝 설정에서 스텝 유형으로 If를 선택합니다.

  2. 다음 테이블을 참고하여 필요한 항목을 설정합니다. 예시는 모두 입력해야 합니다.

    항목예시 1예시 2설명
    유형If
    Logicalandand와 or 함수 중 1개 선택
    Left Operand${vm-status}${vm-is-master}연산을 위한 대상 조건 입력
    - 변수를 입력
    Comparison====비교 연산자 선택
    Right OperandRunningfalse기준값 입력
    - 대/소문자를 확인하여 정확한 값을 입력 필요

    이미지 API 스텝 추가-2

  3. 필수 항목을 모두 입력한 후, 좌측 패널에서 [하위 스텝 추가]를 클릭합니다.

10. 시나리오 스텝 추가하기: API-2

아래의 예시를 확인 후 값을 입력해 주세요.

  1. 시나리오 스텝 화면 우측 패널의 새 스텝 설정에서 스텝 유형으로 API를 선택합니다.

  2. 다음 테이블을 참고하여 필요한 항목을 설정합니다.

    항목예시설명
    유형APIAPI 선택
    스텝 이름API-2스텝에 설정할 이름
    Expected code200입력한 URL의 예상 Status Code를 입력
    - 미입력 시, 200으로 설정
    MethodGETAPI 요청 방법 선택
    URLhttp://${vm-ip}:7001/v1/agent/health접근하는 API의 URL

    이미지 플로우 커넥션 생성

  3. 필수 항목을 모두 입력한 후, 우측 상단의 [테스트] 버튼을 클릭하여 테스트를 진행합니다.
    - 11.시나리오 테스트 하기를 참고하세요.

11. 시나리오 테스트하기

시나리오 스텝을 추가하여 정상적으로 동작하는 테스트할 수 있습니다.

  1. 시나리오 스텝의 필수 항목을 모두 입력한 후에 우측 상단의 테스트를 클릭합니다.

  2. 테스트 실행 결과를 확인합니다.

    이미지 테스트 성공 결과

  3. 오류 항목이 있는 경우, 우측 패널 하단의 오류 상세를 확인해 주세요.

  4. 테스트 결과 확인 후, 우측 상단의 [닫기] 버튼을 누르면 시나리오 스텝 편집 화면으로 이동합니다.

  5. 시나리오 스텝 편집 화면의 우측 상단의 [저장] 버튼을 클릭하여 생성한 시나리오를 저장합니다. 저장된 시나리오는 설정한 스케줄에 맞춰 실행됩니다.

  6. 실행 결과는 아래의 12.실행 결과 확인 하기를 참고하세요.

안내
  • 비활성화 상태의 클러스터에 접근 시, 호출 실패 오류가 확인됩니다. 올바른 IP 주소를 입력해 주세요.

12. 실행 결과 확인하기

실행이 완료된 시나리오의 실행 결과와 실행 시간을 확인할 수 있습니다.

  1. 카카오클라우드 콘솔Management > Monitoring Flow > 시나리오 메뉴를 선택합니다.

  2. 시나리오 메뉴에서 정보를 확인할 시나리오를 선택합니다.

  3. 시나리오의 상세 화면에서 실행 결과 탭을 클릭합니다.

    이미지 시나리오 실행 결과 목록

  4. 실행 결과 목록에서 이벤트를 클릭하여 상세 결과를 확인합니다.

    이미지 시나리오 실행 결과 상세

13. Alert Center 알림 정책 만들기

Alert Center 알림 정책 설정을 통해, Monitoring Flow의 실행 결과(성공/실패)에 대한 응답을 받을 수 있습니다.

  1. 카카오클라우드 콘솔Management > Alert Center> 알림 정책 메뉴를 선택합니다.

  2. 알림 정책 생성 문서와 다음 테이블을 참고하여 알림 정책을 생성합니다.

    항목설정 내용
    조건 유형메트릭
    서비스Monitoring Flow
    조건 설정메트릭 항목으로 성공/실패 알림을 받을 수 있음
    - Scenario Success Count와 Scenario Fail Count를 시나리오에 각각 설정 시, 모든 메트릭 알림을 받을 수 있음
    - 실패 시에만 알림을 받으려면 Scenario Fail Count만 설정
    자원 항목알람을 받으려는 대상의 시나리오 선택
    임계치1 count 이상
    지속 시간1 분
  3. 하단의 [다음] 버튼을 클릭하여 알림 정책 생성을 완료합니다.

    이미지 알림 정책 생성

  4. 설정한 알림 정책으로 Monitoring Flow 시나리오 실행 결과(성공 또는 실패) 알림이 수신되는지 확인합니다.