Cloud Insight

참고

네이버 클라우드 플랫폼의 상품 사용 방법을 보다 상세하게 제공하고, 다양한 API의 활용을 돕기 위해 [설명서][API 참조서]를 구분하여 제공하고 있습니다.

Cloud Insight API 참조서 바로가기 >>
Cloud Insight 설명서 바로가기 >>

개요

Cloud Insight API를 사용하면 네이버 클라우드 플랫폼에서 서버 또는 애플리케이션의 성능/운영 메트릭을 관리하고 모니터링할 수 있습니다. Cloud Insight API는 RESTful 형태로 제공됩니다. HTTP 방식의 GET/POST/PUT/DELETE 메서드 호출을 통해서 이루어집니다.

공통설정

API URL

https://cw.apigw.ntruss.com

요청 헤더

헤더 명 설명
x-ncp-apigw-timestamp 1970년 1월 1일 00:00:00 협정 세계시(UTC)부터의 경과 시간을 밀리초(millisecond)로 나타낸 것이다.
APIGW 서버와 시간차가 5분 이상 나는 경우 유효하지 않은 요청으로 간주
x-ncp-apigw-api-key API Gateway에서 발급받은 키
x-ncp-iam-access-key 네이버 클라우드 플랫폼에서 발급받은 API Key 또는 IAM에서 발급받은 AccessKey
x-ncp-apigw-signature-v2 위 예제의 Body를 AccessKey와 맵핑되는 SecretKey로 암호화한 서명
HMAC 암호화 알고리즘은 HmacSHA256 사용
x-ncp-dmn_cd PUB as default for ncloud, while FIN for finance ncloud

다음은 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는 NCP 상품에서 수집되는 데이터만을 처리하는 것이 아니라 고객의 application에서 발생하는 데이터도 수집할 수 있습니다.
  • 화면에서 사용자들이 NCP 상품의 데이터인지 사용자의 Custom 데이터인지 쉽게 구분할 수 있게 하기 위하여 Naming을 System/Load Balancer, System/CloudSearch, System/Server와 같이 System/상품명의 형태로 표시합니다. 사용자의 Custom Product는 Custom/MyProduct와 같은 형태로 표시됩니다.

Metric과 Dimension

  • Metric은 사용자가 취급하려는 숫자 형태의 값을 의미합니다.
  • Dimension은 특정 데이터의 속성으로서, 어떤 서버에 속하는지, 어떤 곳에 위치하는지, 무엇의 값인지 등을 의미합니다.
  • 상품을 등록할 때에는 상품이 갖는 항목들 별로 그것이 Metric인지 Dimension인지 지정해야 합니다. NCP 상품의 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값이 생성됩니다.

오퍼레이션