Monitoring Flow를 활용한 API 서버 모니터링
카카오클라우드 Monitoring Flow 서비스를 사용하여 API 서버 인스턴스를 모니터링하는 과정을 단계별로 설명합니다.
- 예상 소요 시간: 20분
- 사용자 환경
- 권장 운영 체제: Ubuntu
- Region: kr-central-2
- 사전 준비 사항
시나리오 소개
이 시나리오에서는 Monitoring Flow 서비스를 사용하여 API 서버로 사용하는 VM 인스턴스를 모니터링하는 과정을 다룹니다. 주요 단계는 다음과 같습니다.
- 카카오클라우드 Virtual Machine을 사용하여 API 서버 인스턴스를 생성
- 플로우 커넥션을 생성하여 API 서버가 속한 서브넷 채널을 연결
- Monitoring Flow에서 시나리오를 생성하여 API 서버의 모니터링 진행
- Alert Center 연동을 통해 시나리오 결과에 대한 알림 수신
사전 작업
1. 네트워크 환경 구축
Monitoring Flow 서비스와 API 서버로 사용하는 VM 인스턴스간 통신을 위해 네트워크 환경을 설정합니다. 아래 표의 항목과 값을 참조하여 VPC 및 퍼블릭 서브넷을 생성합니다.
VPC 및 서브넷: tutorial
-
카카오클라우드 콘솔 > Beyond Networking Service > VPC 메뉴로 이동합니다.
-
우측의 [+ VPC 생성] 버튼을 클릭한 후, 다음과 같이 VPC 및 서브넷을 생성합니다.
구분 항목 설정/입력값 VPC 정보 VPC 이름 tutorial VPC IP CIDR 블록 10.0.0.0/16 Availability Zone 가용 영역 개수 1 첫 번째 AZ kr-central-2-a 서브넷 설정 가용 영역당 퍼블릭 서브넷 개수 1 kr-central-2-a 퍼블릭 서브넷 IPv4 CIDR 블록: 10.0.0.0/20
-
하단에 생성되는 토폴로지를 확인 후, 이상이 없다면 [생성] 버튼을 클릭합니다.
- 서브넷의 상태는
Pending Create
>Pending Update
>Active
순서로 변경됩니다.Active
상태가 되어야 다음 단계를 진행할 수 있습니다.
- 서브넷의 상태는
2. 보안 그룹 설정
보안 그룹의 인바운드 규칙을 통해 특정 포트(예: TCP 80)를 개방하고, 출발지 IP를 제한하여 접근 가능한 범위를 제어함으로써 보안을 강화합니다. 이러한 설정을 통해 Monitoring Flow는 지정된 정책에 따라 API 서버로 트래픽을 정상적으로 전송할 수 있습니다.
보안 그룹: monitoring-flow-security-group
-
카카오클라우드 콘솔 > VPC > 보안 그룹 메뉴로 이동합니다. 아래 표를 참조하여 보안 그룹을 생성합니다.
이름 설명(선택) monitoring-flow-security-group Monitoring Flow 튜토리얼 -
하단의 [+ 추가하기] 버튼을 클릭 후, 인바운드 조건을 아래와 같이 설정하고 [적용] 버튼을 클릭합니다.
추가할 인바운드 규칙 항목 설정값 inbound policy 1 프로토콜 TCP
패킷 출발지 10.0.0.0/24 포트 번호 80 정책 설명(선택) inbound policy 1
작업 순서
Virtual Machine 기반의 API 서버 인스턴스를 Monitoring Flow로 모니터링하는 방법을 단계별로 안내합니다.
Step 1. VM 인스턴스 생성하기
API 서버로 사용할 VM 인스턴스를 생성합니다. 인스턴스 생성 문서를 참고하여 새 인스턴스를 생성하세요.
-
카카오클라우드 콘솔 > Beyond Compute Service > Virtual Machine > 인스턴스 메뉴로 이동합니다.
-
인스턴스 생성을 클릭하여 인스턴스 설정 단계에서 필요한 정보를 입력합니다.
-
네트워크 항목에서 Monitoring Flow에 연결할 대상의 VPC와 서브넷을 선택합니다.
- 참고: 인스턴스는 사전에 보안 그룹에 등록된 VPC 내에서 생성해야 합니다.
-
고급 설정을 클릭하고 다음의 스크립트를 입력 후 [생성] 버튼을 클릭합니다.
#!/bin/bash
sudo apt update -y
sudo apt install -y nginx
sudo service start nginx -
생성된 인스턴스의 정보를 확인합니다.
- 생성된 인스턴스의 상태가
Active
로 표시되면, API 서버가 정상적으로 작동할 준비가 완료된 것입니다. - 프라이빗 IP는 Monitoring Flow에서 시나리오 설정 시 필요합니다.
인스턴스 목록
- 생성된 인스턴스의 상태가
Step 2. 플로우 커넥션 생성하기
Monitoring Flow 서비스에서 VM 인스턴스가 위치한 VPC와 서브넷에 접근할 수 있도록 플로우 커넥션을 생성합니다.
-
카카오클라우드 콘솔 > Management > Monitoring Flow > 플로우 커넥션 메뉴로 이동합니다.
-
[플로우 커넥션 생성] 버튼을 클릭하여 생성 화면으로 이동합니다.
-
VPC 선택 항목에서 보안 그룹에 등록된 활성화된 VPC를 선택합니다.
-
VPC에 연결된 서브넷 중에서 플로우 커넥션에 연결할 서브넷을 선택합니다.
플로우 커넥션 생성
Step 3. 시나리오 생성하기
Monitoring Flow에서 VM 인스턴스의 상태를 모니터링할 시나리오를 생성하고 실행 스케줄을 설정합니다.
-
카카오클라우드 콘솔 > Management > Monitoring Flow > 시나리오 메뉴로 이동합니다.
-
[시나리오 생성] 버튼을 클릭하여 생성 화면으로 이동합니다.
-
KakaoCloud VPC를 활용 옵션을 선택하여 카카오클라우드 내부 리소스에 접근하도록 설정합니다.
-
등록된 플로우 커넥션 중 하나를 선택합니다.
-
시나리오의 실행 스케줄을 설정합니다.
시나리오 생성
Step 4. 시나리오 스텝 추가하기: API
시나리오를 구성하는 여러 스텝을 조합하여 하나의 시나리오를 완성합니다. 아래 예시에서는 API 서버 상태를 확인하는 API 스텝을 추가합니다.
-
카카오클라우드 콘솔 > Management > Monitoring Flow > 시나리오 메뉴로 이동합니다.
-
시나리오 메뉴에서 생성한 시나리오의 이름을 클릭합니다.
-
세부 정보 탭에서 [시나리오 스텝 추가] 버튼을 클릭합니다.
-
우측 패널의 새 스텝 설정 항목에서 스텝 유형으로 API로 설정합니다.
-
다음 표에 따라 항목을 입력합니다.
항목 예시 설명 유형 API API 선택 스텝 이름 API-1 스텝 이름 Expected code 200
서버가 정상적으로 동작하면 200
상태 코드가 반환되어야 하며, 이를 통해 서버의 가용성을 확인Method GET HTTP GET 요청을 통해 API 서버에 접근하여 상태를 확인 URL http:// {Private-IP}
API 접근 URL (Virtual Machine 인스턴스의 프라이빗 IP를 사용) API 스텝 추가
-
필수 항목을 모두 입력한 후, 우측 상단의 [테스트] 버튼을 클릭하여 테스트를 진행합니다.
Step 5. 시나리오 테스트하기
생성한 시나리오의 테스트 실행 결과를 확인합니다. Step 4에서 생성한 시나리오의 테스트 시, 설정한 URL에서 200
응답이 반환되면 API 서버가 정상 작동하고 있음을 의미합니다. 예상하지 못한 응답 코드가 반환되면 서버 상태에 문제가 있음을 나타내며, 이를 통해 오류를 진단할 수 있습니다.
-
테스트가 정상적으로 실행되었다면 [실행 결과] 아래에 성공 표시를 볼 수 있습니다. 테스트 성공 결과
-
예상과 다른 응답 코드가 반환되는 경우 실패로 표시되며, 서버 상태에 문제가 있을 수 있음을 나타냅니다. 이때, 우측 패널 하단에서 오류 상세 정보를 확인하여 문제를 해결합니다.
테스트 실패 결과
주의- 비활성화된 인스턴스에 접근 시 호출 실패 오류가 발생할 수 있으니, 올바른 IP 주소를 입력하세요.
-
테스트 화면을 닫은 후, 시나리오 스텝 편집 화면에서 시나리오를 저장합니다. 저장된 시나리오는 설정된 스케줄에 따라 자동으로 실행됩니다.
Step 6. 실행 결과 확인하기
시나리오의 실행 결과와 시간을 확인하여, 정상적으로 작동 여부를 평가합니다. 상세 정보를 통해 시나리오가 오류 없이 완료되었는지 확인할 수 있습니다.
-
카카오클라우드 콘솔에서 Management > Monitoring Flow > 시나리오 메뉴를 선택합니다.
-
확인할 시나리오를 선택하고, 상세 화면에서 실행 결과 탭을 클릭합니다.
시나리오 실행 결과 목록
-
실행 결과 목록에서 이벤트를 클릭하여 상세 결과를 확인합니다.
시나리오 실행 결과 상세
Step 7. Alert Center 알림 정책 만들기
Alert Center 알림 정책을 설정하여 Monitoring Flow의 실행 결과에 따른 알림을 받을 수 있습니다. 아래 예시에서는 시나리오의 성공/실패 여부에 따라 알림을 받을 수 있도록 메트릭 조건을 설정합니다.
-
카카오클라우드 콘솔에서 Management > Alert Center> 알림 정책 메뉴를 선택합니다. 자세한 설명은 알림 정책 생성 문서를 참고하시기 바랍니다.
-
다음 표를 참고하여 알림 조건을 설정합니다.
항목 설정 내용 조건 유형 메트릭 서비스 Monitoring Flow 조건 설정 메트릭 항목으로 성공/실패 알림을 받을 수 있도록 설정
-Scenario Success Count
와Scenario Fail Count
를 시나리오에 각각 설정 시, 모든 메트릭 알림을 받을 수 있음
- 실패 시에만 알림을 받으려면Scenario Fail Count
만 설정자원 항목 알람을 받으려는 대상의 시나리오 선택 임계치 1 count 이상 지속 시간 1 분 -
하단의 [다음] 버튼을 클릭 하여 알림 정책 만들기를 완료합니다.
알림 정책 생성
-
설정한 알림 정책에 따라 Monitoring Flow 시나리오 실행 결과(성공 또는 실패)에 대한 알림을 실시간으로 수신할 수 있으며, 시스템의 상태 변화를 빠르게 인지하고 대응할 수 있습니다.