본문으로 건너뛰기

BCS 인스턴스 모니터링

카카오클라우드에서는 Monitoring Agent를 통해 프로젝트 내 VM의 컴퓨팅 리소스를 모니터링할 수 있습니다. 이번 가이드에서는 각 인스턴스에 Monitoring Agent를 설치하고 특정 인스턴스를 모니터링하는 예제를 제공합니다.

안내
  • 예상 소요 시간: 30분
  • 사용자 환경
    • 권장 운영 체제: MacOS, Ubuntu, CentOS
    • Region: kr-central-1, kr-central-2
  • 사전 준비 사항

시작하기 전에

이 튜토리얼은 3-Tier 기반의 웹 서비스환경에서 진행합니다. 실습에 필요한 환경을 준비하려면, 먼저 VM 기반의 웹 서비스 구성 튜토리얼의 단계를 따라 웹 서비스를 구현해 주세요. 이 과정에서는 웹, 애플리케이션, 데이터베이스 계층으로 구성된 환경을 단계적으로 설정하게 됩니다.

시작하기

이번 실습에서는 인스턴스 모니터링 환경을 설정하는 전 과정을 안내합니다. 모니터링 에이전트 설치, 모니터링 정보 확인, Alert Center 설정, Slack 연동, 알림 정책 생성까지 단계별로 진행하며 실시간 알림 시스템을 구축하는 방법을 이해할 수 있습니다.

Step 1. 모니터링 에이전트 설치하기

모니터링 에이전트는 메트릭, 로그 기반의 정책을 설정하여 카카오클라우드 내 인스턴스의 컴퓨팅 리소스 상태와 변화를 모니터링할 수 있습니다. 자세한 정보는 모니터링 에이전트 설치를 참고하시기 바랍니다.

  1. 로컬 환경에서 터미널 실행 후 다음 명령어를 실행하여 SSH 연결을 진행합니다.

    chmod 400 ${PRIVATE_KEY}
    ssh -i ${PRIVATE_KEY}.pem ubuntu@${BASTION_PUBLIC_IP}
    주의

    키 파일 권한 문제로 bad permissions 오류가 발생할 수 있습니다. 이 경우 sudo 명령어를 추가하여 문제를 해결할 수 있습니다.
    예) sudo ssh …

  2. 내부 호스트로 들어오는 트래픽은 Bastion을 통해 전달됩니다. WEB, WAS 호스트가 Bastion에서 보낸 트래픽을 받을 수 있는지 카카오클라우드 콘솔 내 보안 그룹을 확인해야 합니다. 인바운드 규칙에 아래의 내용이 포함되어 있는지 확인하고 추가합니다.

    인바운드 규칙프로토콜패킷 출발지(Source)포트 번호
    web/app inbound policyTCP       {bastion private ip}/3222
  3. SSH 연결을 통해 각 호스트로 접근합니다.

    # web1
    ssh -i ${PRIVATE_KEY}.pem ubuntu@${BASTION_PUBLIC_IP} -p 10000

    # web2
    ssh -i ${PRIVATE_KEY}.pem ubuntu@${BASTION_PUBLIC_IP} -p 10001

    # app1
    ssh -i ${PRIVATE_KEY}.pem ubuntu@${BASTION_PUBLIC_IP} -p 10002

    # app2
    ssh -i ${PRIVATE_KEY}.pem ubuntu@${BASTION_PUBLIC_IP} -p 10003
  4. 호스트에 접근했으면 인스턴스 시간대 변경 및 모니터링 에이전트를 다운로드합니다.

    # 인스턴스 시간대 변경
    sudo timedatectl set-timezone Asia/Seoul

    # 모니터링 에이전트 다운로드
    sudo yum localinstall ${Object Storage 엔드포인트}/v1/52867b7dc99d45fb808b5bc874cb5b79/kic-monitoring-agent/package/kic_monitor_agent-1.0.0.x86_64.rpm
    리전Object Storage 엔드포인트
    kr-central-1https://objectstorage.kr-central-1.kakaocloud.com
    kr-central-2https://objectstorage.kr-central-2.kakaocloud.com
    주의

    dpkg/lock 오류가 발생한다면 아래 Script의 명령어를 실행합니다.

    # /var/lib/dpkg/lock 파일과 관련된 캐시 파일들을 삭제
    sudo rm /var/lib/apt/lists/lock
    sudo rm /var/cache/apt/archives/lock
    sudo rm /var/lib/dpkg/lock*
    sudo dpkg --configure -a
    sudo apt update
  5. 모니터링 에이전트의 설정파일을 수정합니다.

    # 설정 파일에 액세스 키 정보 및 로그파일 경로 입력
    cat <<EOF | sudo tee /etc/default/kic_monitor_agent

    KIC_MONITOR_ENDPOINT_URL=${모니터링 엔드포인트}
    KIC_MONITOR_AGENT_AUTH_APPLICATION_CREDENTIAL_ID="${액세스 키 ID}"
    KIC_MONITOR_AGENT_AUTH_APPLICATION_CREDENTIAL_SECRET="${보안 액세스 키}"

    KIC_LOG_FILE_PATH="{로그파일 경로}"

    ## 호스트가 직접 Public 망에 접속하지 못할 경우, HTTP Proxy 서버를 지정할 수 있습니다.
    # HTTP_PROXY=http://proxy
    # HTTPS_PROXY=https://proxy
    # NO_PROXY=169.254.169.254
    EOF
    리전모니터링 엔드포인트
    kr-central-1https://lma.kr-central-1.kakaoi.io
    kr-central-2https://monitoring.kr-central-2.kakaocloud.com
  6. 모니터링 에이전트를 재시작하고, 실행 확인을 합니다.

    # 에이전트 재시작
    sudo systemctl restart kic_monitor_agent

    # VM 부팅 시 자동 시작
    sudo systemctl enable kic_monitor_agent

    # 에이전트 실행 확인
    sudo journalctl -u kic_monitor_agent -f

    모니터링 에이전트 실행 확인

Step 2. 모니터링 정보 확인하기

인스턴스에 모니터링 에이전트를 설치하면, 해당 인스턴스의 컴퓨팅 리소스에 대한 모니터링 그래프를 확인할 수 있습니다.

  1. 카카오클라우드 콘솔 > Management > Monitoring을 선택합니다.

  2. 기본 대시보드 영역에서 [Beyond Compute Service]를 선택합니다.

  3. 모니터링할 인스턴스를 선택하고, 모니터링 그래프를 확인합니다.

    모니터링 그래프 예시

Step 3. Alert Center에서 수신 채널 생성

카카오클라우드의 Alert Center에서는 컴퓨팅 리소스의 위험 레벨에 대한 알림 수신 채널을 생성할 수 있습니다.

  1. 카카오클라우드 콘솔 > Management > Alert Center > 수신 채널을 선택합니다.

  2. [수신 채널 생성] 버튼을 클릭합니다.

  3. 수신 채널의 정보를 입력하고, 채널 유형을 선택 후, [생성] 버튼을 클릭합니다.

    구분설명
    기본 채널이메일/ 문자/ 카카오톡으로 해당 알림을 전송
    슬랙/ 웹훅원하는 슬랙 채널에서 해당 알림을 전송

Step 4. Webhook을 이용한 Slack 수신 채널 연동

  1. 사용할 Slack 애플리케이션의 앱(Apps) 탭에서 Incoming WebHooks 하단의 [추가] 버튼을 클릭합니다.

    Slack에서 Incoming WebHooks 추가

  2. [Slack에 추가] 버튼을 누르고 알림을 수신받을 채널을 선택합니다. 채널 선택이 완료되면 [수신 웹 후크 통합 앱 추가] 버튼을 클릭합니다.

    Slack에서 Incoming WebHooks 추가 웹훅-슬랙 유형의 수신 채널 생성

  3. 생성된 웹 후크의 URL을 복사해둡니다.

  4. 카카오클라우드 콘솔 > Management > Alert Center > 수신 채널 > 수신 채널 생성 탭으로 이동 후, 복사해둔 엔드포인트 URL을 기입합니다.

    웹훅-슬랙 유형의 수신 채널 생성

  5. 생성된 수신 채널을 확인합니다.

    생성된 수신 채널 확인

Step 5. 알림 정책 생성하기

카카오클라우드의 Alert Center에서 컴퓨팅 리소스의 위험 레벨에 따른 알림 정책을 설정할 수 있습니다.

  1. Alert Center > 수신 채널에서 [알림 정책 생성] 버튼을 클릭합니다.

  2. 필요한 알림 조건을 설정합니다.

    조건 설정 예시

  3. 설정한 알림을 수신할 채널을 선택합니다. 기존에 생성했던 채널을 선택하거나 신규 채널을 생성할 수 있습니다.

  4. 알림 정책의 이름을 설정하고 검토 후 [생성] 버튼을 클릭해 알림 정책을 생성합니다.

  5. 설정한 알림의 메트릭 조건에 해당될 때, 각 수신 채널에서 알림이 정상적으로 발송되는지 확인합니다.