Cloud/Naver Cloud Platform

[NCP] Cloud Insight Plugin_process POST Python 파일 공유

dalgong 2023. 6. 13. 20:46
반응형

NCP Cloud Insight Plugin_*  사용 방법


NCP Cloud Insight는 NCP의 모니터링 기능입니다.

Cloud Insight의 대부분 기능은

서버 관리 및 설정에서 상세 모니터링 설정 변경을 신청하면 사용이 가능합니다.

 

하지만 상세 모니터링 신청만으로는 사용이 불가능한 메트릭들이 있는데

우측에 PLUGIN_이 붙은 부분은 상세 모니터링 신청 뿐만 아니라

API를 이용하여 서버의 정보를 불러와야 사용이 가능한 기능입니다.

 

PLUGIN_PROCESS POST Python 파일 공유


 저는 PLUGIN_PROCESS/process_count 기능을 사용할 일이 있어 

API Post 파일을 작성한 김에 다들 많이 쓰셨으면 좋겠어서 공유합니다.

 

import sys
import os
import hashlib
import hmac
import base64
import requests
import time


timestamp = int(time.time() * 1000)
timestamp = str(timestamp)

api_server = "https://cw.apigw.ntruss.com"
api_url = "/cw_server/real/api/plugin/process/add"

access_key = "API ACCESSKEY"	*""안에 ACCESSKEY만 넣으면 됨
secret_key = "API SECRETKEY"	*""안에 SECRETKEY만 넣으면 됨


def	make_signature():
    global access_key
    global secret_key
    global timestamp
    global api_server
    global api_url
    secret_key = bytes(secret_key, 'UTF-8')
    method = "POST"


    message = method + " " + api_url + "\n" + timestamp + "\n" + access_key
    message = bytes(message, 'UTF-8')
    signingKey = base64.b64encode(hmac.new(secret_key, message, digestmod=hashlib.sha256).digest())
    return signingKey

http_header = {

'Content-Type': 'application/json',
'x-ncp-apigw-timestamp': timestamp, 
'x-ncp-iam-access-key': access_key,
'x-ncp-apigw-signature-v2': make_signature(),
'x-ncp-dmn_cd' : 'PUB',
'x-ncp-region_code' : 'KR'
}

#Payload:
payload = {
    "configList": [
    "*httpd*"
    ],
    "instanceNo": "12345678",
    "type": "VPCServer"
}

response = requests.post(api_server + api_url, headers=http_header, json=payload)

print (response.text)

다들 많이 사용하시고 즐거운 NCP 이용하세요!

반응형