본문 바로가기
Public Cloud/NCP

Cloud Insight - 특정 process 다운 알람 (PLUGIN_PROCESS)

by shinebee* 2023. 1. 3.

NCP를 사용한다면 Cloud Insight 서비스를 활용해 간단히 모니터링을 할 수 있다.

Cloud Insight 서비스의 감시템플릿을 살펴보면 process에 대하여 PROCESS와 PLUGIN_PROCESS 두 가지로 확인된다.
이때, PROCESS 는 Top 10에 대한 부분이고 개별적인 process 관리를 원한다면  PLUGIN_PROCESS를 사용해야 한다.

PLUGIN_PROCESS를 사용하려면 먼저 API를 사용하여 Dimension으로 설정할 process plugin을 추가해주어야 한다.
아무런 설정 없이 Cloud Insight > Template > PLUGIN_PROCESS로 가보면 아무것도 뜨지 않는 것을 확인할 수 있다.

 

진행 과정

1. API를 사용하여 process 명을 Cloud Insight로 전달 - AddProcessPlugin
2. Cloud Insight 서비스에서 Event Rule 등록
3. 임의로 Process Down 발생시킨 후, Alert 확인

 


해당 내용은 간단한 Test 내용이며, 아래와 같은 설정이 이미 되어있다.
1. Tomcat이 설치된 임의의 서버가 존재 (Tomcat process 모니터링 진행 예정)
2. 임의의 서버의 상세 모니터링 설정 완료
3. Cloud Insight - Notification 설정 완료 (Notification Recipient)

 

 

1. Process Plugin 설정

예제 코드를 활용한다. 아래의 두 가이드 링크 참고
API Signature 생성 : https://api.ncloud-docs.com/docs/common-ncpapi
API 요청 - AddProcessPlugin : https://api.ncloud-docs.com/docs/management-cloudinsight-addprocessplugin

# 파일명 : AddprocessPlugin.sh
#!/bin/bash

nl=$'\\n'

TIMESTAMP=$(echo $(($(date +%s%N)/1000000)))
ACCESSKEY="N8T1############KA5D"                # access key id (from portal or Sub Account)
SECRETKEY="RT21####################FT5Y"        # secret key (from portal or Sub Account)

METHOD="POST"
URI="/cw_server/real/api/plugin/process/add"    

SIG="$METHOD"' '"$URI"${nl}
SIG+="$TIMESTAMP"${nl}
SIG+="$ACCESSKEY"

# API 시그니처 생성
SIGNATURE=$(echo -n -e "$SIG"|iconv -t utf8 |openssl dgst -sha256 -hmac $SECRETKEY -binary|openssl enc -base64)

# API 요청
curl -i -X POST \
-H "x-ncp-apigw-timestamp:${TIMESTAMP}" \
-H "x-ncp-iam-access-key:${ACCESSKEY}" \
-H "x-ncp-apigw-signature-v2:${SIGNATURE}" \
-H "x-ncp-dmn_cd:PUB" \
-H "x-ncp-region_code:KR" \
-H "Content-Type: application/json" \
-d '{"configList": ["*tomcat*", "프로세스이름"], "instanceNo": "[Instance ID]", "type": "VPCServer"}' \
'https://cw.apigw.ntruss.com/cw_server/real/api/plugin/process/add'

요청 시, curl -d 옵션의 configList 부분에 감시 설정을 원하는 process 명을 입력한다.

./AddProcessPlugin.sh

# 스크립트에 실행권한 부여되어있는지 확인
# 없으면 아래의 명령어로 실행 권한 부여
# chmod +x AddProcessPlugin.sh

위 명령어로 실행하면 아래와 같이 정상적으로 요청되었음을 확인할 수 있다.

+ GetProcessPlugin API로 등록된 Process 확인이 가능하다.

 

 

2. Cloud Insight - Event Rule 생성

Cloud Insight > Configuration > Event Rule > + Event Rules 생성

1. 감시 상품 선택 : Server(VPC)
2. 감시 대상 설정 : 전체 보기 > 서버 선택 또는 그룹 생성하여 그룹 선택
3. 감시 항목 설정 : 전체 보기 > PLUGIN_PROCESS

- tomcat process Down 현상(= 0) 이 1분 이상 유지될 때


4. 액션 설정

- 추가 알림 설정으로 종료 알림에 체킹 하면, process가 정상적으로 올라온 후, 정상화 알림을 받을 수 있다.

 

 

3. Alert 확인

서버 내 돌아가고 있는 process를 죽이고 알람발생 되는지 테스트한다.

[ Process Down ]

 

[ Event Alert 발생 ]

 

[ Process Up ]

 

[ 해결 완료 Alert ]

 

'Public Cloud > NCP' 카테고리의 다른 글

[3tier 구성] NCP를 활용한 WEB-WAS-DB 연동  (2) 2021.04.15

댓글