Cloud Insight 개요
- 인쇄
- PDF
Cloud Insight 개요
- 인쇄
- PDF
기사 요약
이 요약이 도움이 되었나요?
의견을 보내 주셔서 감사합니다.
Cloud Insight API를 사용하면 네이버 클라우드 플랫폼에서 서버 또는 애플리케이션의 성능/운영 메트릭을 관리하고 모니터링할 수 있습니다.
Cloud Insight API는 RESTful 형태로 제공됩니다. HTTP 방식의 GET/POST/PUT/DELETE 메서드 호출을 통해서 이루어집니다.
공통 설정
API URL
https://cw.apigw.gov-ntruss.com
요청 헤더
헤더 명 | 설명 |
---|---|
x-ncp-apigw-timestamp | 1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(millisecond)로 표시 APIGW 서버와 시간차가 5분 이상 나는 경우 유효하지 않은 요청으로 간주 |
x-ncp-iam-access-key | 네이버 클라우드 플랫폼에서 발급받은 API Key 또는 Sub Account에서 발급받은 AccessKey |
x-ncp-apigw-signature-v2 | 위 예제의 Body를 AccessKey와 매핑되는 SecretKey로 암호화한 서명 HMAC 암호화 알고리즘은 HmacSHA256 사용 |
다음은 Java에서 'x-ncp-apigw-signature-v2'를 생성하는 예제입니다. 자세한 사항은 API Gateway 문서를 참조해 주십시오.
public String makeSignature() {
String space = " "; // one space
String newLine = "\n"; // new line
String method = "GET"; // method
String url = "/photos/puppy.jpg?query1=&query2"; // url (include query string)
String timestamp = "{timestamp}"; // current timestamp (epoch)
String accessKey = "{accessKey}" // access key id (from portal or sub account)
String secretKey = "{secretKey}";
String message = new StringBuilder()
.append(method)
.append(space)
.append(url)
.append(newLine)
.append(timestamp)
.append(newLine)
.append(accessKey)
.toString();
SecretKeySpec signingKey = new SecretKeySpec(secretKey.getBytes("UTF-8"), "HmacSHA256");
Mac mac = Mac.getInstance("HmacSHA256");
mac.init(signingKey);
byte[] rawHmac = mac.doFinal(message.getBytes("UTF-8"));
String encodeBase64String = org.apache.commons.codec.binary.Base64.encodeBase64String(rawHmac);
return encodeBase64String;
}
기본 정보
Cloud Insight를 사용하기 전에 알아야 할 몇 가지 기본 정보는 다음과 같습니다.
상품
Cloud Insight는 상품별로 데이터를 다르게 처리하므로, Cloud Insight에 상품 정보를 등록한 후에 Cloud Insight에 해당 상품의 데이터를 저장할 수 있습니다.
상품 키(Key)
- 상품을 등록하면 상품 키가 발급됩니다. 해당 키는 상품을 구분하는 용도로 사용됩니다.
- Cloud Insight의 API를 사용할 때에는 각 상품별로 발급된 상품 키로 인증을 받아야만 호출이 승인됩니다.
상품 이름(Product Name)
- Cloud Insight는 네이버 클라우드 플랫폼 서비스에서 수집되는 데이터만을 처리하는 것이 아니라 고객의 application에서 발생하는 데이터도 수집할 수 있습니다.
- 화면에서 사용자들이 네이버 클라우드 플랫폼 서비스의 데이터인지 사용자의 Custom 데이터인지 쉽게 구분할 수 있게 하기 위하여 Naming을 System/Load Balancer, System/CloudSearch, System/Server와 같이 System/상품명의 형태로 표시합니다. 사용자의 Custom Product는 Custom/MyProduct와 같은 형태로 표시됩니다.
Metric과 Dimension
- Metric은 사용자가 취급하려는 숫자 형태의 값을 의미합니다.
- Dimension은 특정 데이터의 속성으로서, 어떤 서버에 속하는지, 어떤 곳에 위치하는지, 무엇의 값인지 등을 의미합니다.
- 상품을 등록할 때에는 상품이 갖는 항목별로 그것이 Metric인지 Dimension인지 지정해야 합니다. 네이버 클라우드 플랫폼 서비스의 Metric과 Dimension에 대한 자세한 사항은 상품 목록페이지를 참고해주시기 바랍니다.
집계(Aggregation)
- 상품들은 대부분 1분 간격으로 성능 데이터를 수집하며, 필요에 따라 1분보다 자주 혹은 드물게 수집하기도 합니다. 이 데이터들은 수집된 그대로(raw data) Cloud Insight에 저장됩니다.
- Custom 데이터도 이와 유사하게 사용자의 필요에 따라 적절한 주기로 수집이 됩니다. 이렇게 수집된 데이터는 일정 주기마다 여러 가지 집계 함수를 이용해서 연산됩니다.
- 현재 지원되는 함수는 AVG, MIN, MAX, COUNT, SUM 등이 있으며, 추후에 COUNTER가 추가될 예정입니다. COUNTER는 전송한 총 byte수와 같이 누적값을 수집하는 경우에 지난 번에 수집한 값 대비 증가한 값을 연산할 때에 사용될 수 있습니다.
집계 주기(interval)
- 집계는 현재 1분, 5분, 30분, 2시간, 1일을 간격으로 실행됩니다. 예를 들어 5분 집계는 10시 0분 0초 ~ 10시 4분 59초, 10시 5분 0초 ~ 10시 9분 59초, ...에 수집된 값을 이용하여 집계합니다.
- 집계된 결과로는 매 1분, 5분, 30분, 2시간, 1일마다 AVG, MIN, MAX, COUNT, SUM값이 생성됩니다.
데이터 집계 주기에 따른 권장 조회 기간
데이터의 집계 주기에 따라 권장하는 조회 기간이 상이합니다. 자세한 내용은 아래의 표를 참고해 주십시오.
집계 주기(interval) | 권장 조회 기간 |
---|---|
1분 주기 | 최대 1일 |
5분 주기 | 최대 1주일 |
30분 주기 | 최대 1개월 |
2시간 주기 | 최대 1개월 |
1일 주기 | 최대 1년 |
오퍼레이션
Schema 관련 API
- Product Schema 등록: RegisterProductSchema
- Product Schema 조회: GetProductSchema
- Product Schema 수정: UpdateProductSchema
- Product 삭제: DeleteProductSchema
- Instance의 Extended 설정 여부 조회: GetExtendedStatus
- Instance에 Extended 설정: UpdateExtendedEnable
- Instance Extended 설정 해제: UpdateExtendedDisable
- System Schema cw_key 조회: GetSystemSchemaKeyList
Plugin 관련 API
- File Plugin 등록/조회: AddFilePlugin, RemoveFilePlugin, UpdateFilePlugin, GetFilePlugin, GetAllFilePlugin
- Port Plugin 등록/조회: AddPortPlugin, RemovePortPlugin, UpdatePortPlugin, GetPortPlugin, GetAllPortPlugin
- Process Plugin 등록/조회: AddProcessPlugin, RemoveProcessPlugin, UpdateProcessPlugin, GetProcessPlugin, GetAllProcessPlugin
Planned Maintenance 관련 API
- Planned Maintenance 생성: CreatePlannedMaintenance
- Planned Maintenance 삭제: DeletePlannedMaintenance
- Planned Maintenance 목록 조회: GetPlannedMaintenanceList
- Planned Maintenance 상세 조회: GetPlannedMaintenanceDetailById
- Planned Maintenance 수정: UpdatePlannedMaintenance
데이터 수집 관련 API
- Cloud Insight로 데이터 보내기: SendData
데이터 조회 관련 API
- Cloud Insight에 저장된 데이터 조회하기: QueryData, QueryDataMultiple
Event 관련 API
- Event 개수 확인하기: SearchEventCountConsole
- Event 조회하기: SearchEvent, SearchEventById
Event Rule 관련 API
- 감시 대상 그룹
- 감시 대상 그룹 생성: CreateMonitorGrp
- 감시 대상 그룹 조회: GetAllMonitorGrp, GetMonitorGrp
- 감시 대상 그룹 수정: UpdateMonitorGrp
- 감시 대상 그룹 삭제: DeleteMonitorGrp, RemoveResourceFromRules
- 감시 항목 그룹
- 감시 항목 그룹 생성: CreateMetricsGrp
- 감시 항목 그룹 조회: GetMetricsGroupList, GetMetricsGroup, SearchMetricList
- 감시 항목 그룹 수정: UpdateMetricsGroup
- 감시 항목 그룹 삭제: DeleteMetricsGrpByProdKeyAndId, DeleteMetricsGrp
- Event Rule
- Event Rule 생성: CreateRuleGroup, CreateRuleDirectly, CopyRuleGroup
- Event Rule 조회: GetRuleGroupList, GetRuleGroup, GetRuleGroupByMonitorGroupIds, GetRuleGroupByMetricGroupIds
- Event Rule 수정: UpdateRuleGroup
- Event Rule 삭제: DeleteRuleGroupByProdKeyAndId, DeleteRuleGroup, DeleteMonitorGroupForce, DeleteMetricGroupForce
Chart 관련 API
- Metric을 지정해서 Widget Preview 데이터 조회하기: QueryWidgetDataPreview
Server 관련 API
- CPU, Memory, File System 사용률이 높은 Top 5 서버 조회하기: GetServersTop
Custom Resource 관련 API
- Custom Resource 생성: CreateCustomResource
- Custom Resource 조회: GetCustomResource, GetAllCustomResource
- Custom Resource 수정: UpdateCustomResource
- Custom Resource 삭제: DeleteCustomResource
이 문서가 도움이 되었습니까?