brunch

매거진 kakao cloud

You can make anything
by writing

C.S.Lewis

by Master Seo Feb 19. 2024

카카오클라우드 4탄-20.인스턴스 모니터링

VM에 에이전트 설치하고 모니터링 하고, 알람을 받아보자.



<0> 사전 준비

<1> 서버에 모니터링 에이전트 설치

<2> 모니터링 정보 확인하기

<3> Alert Center에서 수신 채널 생성 - 수신 채널만 만든다.

<4> Webhook을 이용한 Slack 수신 채널 연동

<5> 알람 정책 생성

<6> 참고 사이트




<0> 사전 준비



1

kr-central-1, kr-central-2 - 여기서는 kr-central-2에서 한다.

액세스키

VM접근용 키페어



2

VPC 

tutorial

10.0.0.0/20

10.0.16.0/20



3

private에 서버 위치

centos 나 우분투로 웹서버 생성

web 2대

app 2대



4

로드 밸런서 생성

web-lb = public subnet



5

참고

VM 웹서비스 구성

https://docs.kakaocloud.com/tutorial/fundamentals/vm-based-web




<1> 서버에 모니터링 에이전트 설치



1

centos에 에이전트 설치


# 인스턴스 시간대 변경

sudo timedatectl set-timezone Asia/Seoul

date



# 모니터링 에이전트 다운로드

sudo yum localinstall ${오브젝트 스토리지 엔드포인트}/v1/52867b7dc99d45fb808b5bc874cb5b79/kic-monitoring-agent/package/kic_monitor_agent-0.9.5.x86_64.rpm


sudo yum localinstall https://objectstorage.kr-central-2.kakaoi.io/v1/52867b7dc99d45fb808b5bc874cb5b79/kic-monitoring-agent/package/kic_monitor_agent-0.9.5.x86_64.rpm



2

우분트에 에이전트 설치


다운로드 

wget https://objectstorage.kr-central-2.kakaoi.io/v1/52867b7dc99d45fb808b5bc874cb5b79/kic-monitoring-agent/package/kic_monitor_agent_0.9.5_amd64.deb

sudo dpkg -i kic_monitor_agent_0.9.5_amd64.deb



3

vi 명령어를 이용하여 /etc/default/kic_monitor_agent 파일을 수정

sudo vi /etc/default/kic_monitor_agent


# KIC_LOG_FILE_PATH="전송할 로그 파일 경로"

KIC_MONITOR_ENDPOINT_URL="https://monitoring.kr-central-2.kakaoi.io" // 하단 표를 참고하여 수정 필요

KIC_MONITOR_AGENT_AUTH_APPLICATION_CREDENTIAL_ID="사용자 액세스 키 ID"

KIC_MONITOR_AGENT_AUTH_APPLICATION_CREDENTIAL_SECRET="사용자 액세스 보안 키"

## 호스트가 직접 Public 망에 접속하지 못할 경우, HTTP Proxy 서버를 지정할 수 있습니다.

# HTTP_PROXY=http://proxy

# HTTPS_PROXY=https://proxy

# NO_PROXY=169.254.169.254



4

sudo systemctl restart kic_monitor_agent 

// 에이전트 수동 시작


sudo systemctl enable kic_monitor_agent

// enable로 설정하면, 컴퓨터 부팅 시 에이전트 자동 시작


5

확인

sudo journalctl -u kic_monitor_agent -f


6

참고 사이트

https://docs.kakaocloud.com/service/management/monitoring/how-to-guides/monitoring-install-agent



7

# 프라이빗 서브넷에 있는 서버 접속 하기위해 베스천으로 통해 접속


베스천 보안그룹 확인

22 허용



8

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

// 각 VM 접속은 베스천에 pem키 올려 놓고 접속해도 된다.

// 각 VM을 만들때  계정, 암호 방식으로 접속하도록 init script를 적용해도 만들어 접속해도 된다.



9

정리


# 에이전트 재시작

sudo systemctl restart kic_monitor_agent


# VM 부팅 시 자동 시작

sudo systemctl enable kic_monitor_agent


# 에이전트 실행 확인

sudo journalctl -u kic_monitor_agent -f




<2> 모니터링 정보 확인하기



1

카카오 클라우드 콘솔 > Management > Monitoring  > Beyond Compute Service

모니터링 인스턴스 선택, 모니터링 그래프 확인.





<3> Alert Center에서 수신 채널 생성 - 수신 채널만 만든다.


Management > Alert Center > 수신 채널

기본채널 - 이메일,문자, 카카오톡

슬랙/웹혹 지원






<4> Webhook을 이용한 Slack 수신 채널 연동


1

Slack 애플리케이션의 앱(Apps) 탭

Incoming WebHooks 하단의 [추가]



2

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



3

생성된 웹 후크의 URL을 복사



4

카카오 클라우드 콘솔

Management > Alert Center > 수신 채널 > 수신 채널 만들기 탭으로 이동 후, 복사해둔 엔드포인트 URL을 기입




<5> 알람 정책 생성



1

Alert Center > 수신 채널에서 [알림 정책 만들기] 버튼

cpu 20



2

설정한 알림을 수신할 채널을 선택합니다



3

알림이 정상적으로 발송되는지 확인합




<6> 참고 사이트


https://docs.kakaocloud.com/tutorial/dev-ops/bcs-instance-monitoring



몰아보기

https://brunch.co.kr/@topasvga/3651


감사합니다.  


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari