Metrics Exporter
    • PDF

    Metrics Exporter

    • PDF

    Article Summary

    VPC 환경에서 이용 가능합니다.

    주의

    Metrics Exporter 종료 안내

    Metrics Exporter에 대한 기술 지원 및 업데이트가 종료됩니다.
    Kubernetes 1.23 버전의 클러스터 부터 클러스터 모니터링 기능이 제공되며, 해당 기능은 Metrics Exporter를 대체할 수 있습니다.

    네이버 클라우드 플랫폼의 Ncloud Kubernetes Service는 Kubelet으로 부터 리소스의 메트릭을 수집하고, 이를 Kubernete Apiserver에 노출하는 Metrics Server를 내장하고 있습니다. 해당 플랫폼에 대한 정보는 아래의 링크에서 확인할 수 있습니다.

    Metrics Server를 통해 일정기간의 평균 CPU 사용량과 순간 메모리 사용량을 조회할 수 있습니다. 단, 과거 시간대의 사용량은 조회할 수 없습니다. 따라서 과거 데이터를 조회하기 위해서는 일정 주기마다 리소스 사용량을 저장하는 것이 필요합니다.
    네이버 클라우드 플랫폼의 쿠버네티스는 일정 주기마다 Metrics Server의 데이터를 Cloud Insight로 전송하는 Metric Exporter를 제공합니다.
    수집된 데이터는 Cloud Insight 대시 보드 혹은 Grafana를 통해 시각화되며, 사용자는 이를 통해 리스소 사용량 추이를 손쉽게 확인할 수 있습니다.

    Metrics Exporter 및 Grafana를 이용하기 위해선 아래의 값이 필요합니다.

    • 인증키
      • Agent가 네이버 클라우드 플랫폼의 Cloud Insight와 연동하고, 서버 정보를 획득할 수 있도록 인증키(Auth Key)를 입력해야합니다.
      • 인증키는 포털 > 마이페이지 > 인증키 관리에서 생성 및 조회할 수 있습니다.
      • Sub Account 계정의 경우 아래의 권한이 요구됩니다
        • Server - getServerInstanceList, getServerInstanceDetail
        • Cloud Insight - All(Full)
    • NRN
      • Ncloud Kubernetes Service에서 생성한 클러스터의 NRN을 입력해야합니다.
      • Resource Manager의 Resource에서 NRN을 조회할 수 있습니다.
      • 상품(Product) 항목에서 Ncloud Kubernetes Service(VPC) 을 선택하고, Resource Type으로 Cluster를 조회합니다.
      • 조회된 결과값을 클릭하여, NRN을 획득합니다.
    참고
    • Ncloud Kubernetes Service(VPC) 전용으로 제공됩니다.
    • 일부 지표에 대해서는, 상세 모니터링 신청이 필요합니다. 자세한 사항은 Cloud Insight 가이드를 참조해 주십시오.

    이용 요금

    Cloud Insight에서 발생하는 이용 요금을 따릅니다.
    Cloud Insight의 이용 요금에 대한 자세한 기준은 포털 > 서비스 > Cloud Insight 페이지를 참조해 주십시오.

    Metrics Exporter

    네이버 클라우드 플랫폼의 Ncloud Kubernetes Service에서 생성한 클러스터에 Metrics Server로 부터 리소스 사용량을 수집하기 위한,
    Agent를 배포하는것이 필요합니다. 이 Agent은 일정주기마다 Metrics Server로 부터, Pod의 리소스 사용량을 수집하여, Cloud Insight로 전송합니다.

    배포

    Metrics Exporter에서 사용할 설정값을 Kubernetes의 Configmap으로 생성해 주십시오.

    1. 아래의 파일을 nks-insight-cm.yml로 저장해 주십시오.
    apiVersion: v1
    kind: ConfigMap
    metadata:
      name: nks-metrics-exporter
    data:
      baseurl: https://cw.apigw.ntruss.com
      basepath: /cw_collector/real/data
      dmn_cd: PUB
      prodkey: "526115048926613504"
      nrn: nrn:PUB:VPCKubernetesService:KR:NUM:Cluster/cluster-id-fix-me
      accesskey: 2M1ACCESSKEYFIXME63rX7
      secretkey: z3feSECRETKEYFIXMEhR6mTyl
      ignore_namespaces: kube-system
    
    1. 아래 내용을 참조하여 저장한 내용을 수정해 주십시오.

      • nrn: Resource Manager에서 획득한 Ncloud Kubernetes Service(VPC) 클러스터의 nrn 입력
      • accesskey: 인증키에서 획득한 Access Key 입력
      • secretkey: 인증키에서 획득한 Secret Key 입력
      • ignore_namespaces: 특정 네임스페이스내 pod의 자원사용량을 집계하지 않으려면, 해당 필드에 네임스페이스 이름 입력. 복수의 값 입력 시 콤마(,)로 분리하여 기술 가능
    2. 아래의 명령어를 입력하여 Ncloud Kubernetes Service 클러스터에 설정파일을 배포해 주십시오.

    kubectl --kubeconfig $KUBE_CONFIG apply -f ./nks-insight-cm.yml
    
    1. Ncloud Kubernetes Service에서 생성한 클러스터에 아래의 파일을 이용하여 Metrics Exporter를 배포해 주십시오.
    # Korea Region
    kubectl --kubeconfig $KUBE_CONFIG apply -f https://nks.apigw.ntruss.com/static/v1/metrics-exporter/latest/nks-pub-kr-insight.yml
    
    # Singapore Region
    kubectl --kubeconfig $KUBE_CONFIG apply -f https://nks.apigw.ntruss.com/static/sgn-v1/metrics-exporter/latest/nks-pub-sg-insight.yml
    
    1. 아래의 명령어를 입력하여 네임스페이스내 배포된 파드를 확인해 주십시오.
      kubectl --kubeconfig $KUBE_CONFIG get pod
      NAME                                   READY   STATUS    RESTARTS   AGE
      nks-metrics-exporter-96687bdc-6kqlx   1/1     Running   0          128m
      

    Grafana

    Grafana는 시계열 데이터에 대한 시각화를 제공해주는 도구입니다.
    앞서 Metrics Exporter가 Cloud Insight로 전송한 데이터를 Grafana 대시보드에서 확인할 수 있습니다.

    배포

    1. 아래의 명령어를 입력하여 Grafana를 배포해 주십시오.
    # Korea Region
    kubectl --kubeconfig $KUBE_CONFIG apply -f https://nks.apigw.ntruss.com/static/v1/metrics-exporter/latest/nks-pub-kr-grafana.yml
    
    # Singapore Region
    kubectl --kubeconfig $KUBE_CONFIG apply -f https://nks.apigw.ntruss.com/static/sgn-v1/metrics-exporter/latest/nks-pub-sg-grafana.yml
    
    1. Grafana 대시보드에 접속하려면 초기 비밀번호를 획득하기 위해 아래의 명령어를 입력해 주십시오.
    kubectl --kubeconfig $KUBE_CONFIG get secret grafana -o jsonpath="{.data.admin-password}" | base64 --decode ; echo
    

    대시보드 접속

    배포한 Grafana의 Pod가 Running 상태가되면, 아래의 명령어를 통해 대시보드에 접속합니다.

    1. 로컬 PC에서 아래의 명령어를 입력해 주십시오.
    kubectl --kubeconfig $KUBE_CONFIG port-forward svc/grafana 3000:80
    
    1. 로컬 PC의 웹 브라우저에서 http://localhost:3000 를 입력해 주십시오.

      • Grafana 대시보드에 접속할 수 있습니다.
    2. 대시보드 로그인 화면에서 아이디와 비밀번호를 입력하여 로그인해 주십시오.

      • 초기 아이디와 비밀번호는 다음과 같습니다.
        • 아이디: admin
        • 비밀번호: 위 배포절에서 획득한, 초기 비밀번호를 입력
    참고

    Server Admin 메뉴에서 아이디와 비밀번호를 변경하여 사용하시는것을 권장합니다.

    대시보드 설정

    Cloud Insight에 저장된 Metrics Server의 데이터를 시각화하는 방법은 다음과 같습니다.

    1. Configuration > Data Sources 메뉴를 차례대로 클릭해 주십시오.

      insight-1_ko

    2. [Data Source] 탭에서 [Add Data Source] 버튼을 클릭해 주십시오.

      insight-2_ko

    3. Data Source 목록에서 naver-cloud-insight-k8s를 클릭해 주십시오.

      insight-3_ko

    4. [Settings] 탭에서 아래의 설정 정보를 입력한 후 [Save & Test] 버튼을 클릭해 주십시오.

      • Domain Code : PUB
      • regionCode: KR
      • NRN: Ncloud Kubernetes Service(VPC)의 nrn입력
      • AccessKey, SecretKey: 인증키 입력

      insight-4_ko

    5. 대시보드를 불러오려면 Create > Import 메뉴를 차례대로 클릭해 주십시오.

      insight-5_ko

    6. 아래 링크를 클릭하여 json 데이터를 다운로드한 후 파일의 내용을 복사해 주십시오.

    1. 6번 단계에서 복사한 json 데이터를 Import via panel json 영역에 붙여 넣은 후 [Load] 버튼을 클릭해 주십시오.

      • 대시보드가 추가됩니다.

      insight-6_ko

    2. 대시보드에서 내용을 확인해 주십시오.

      • 대시보드 생성 후 데이터 수집이 완료되면 데이터를 확인할 수 있습니다.

      insight-7_ko


    이 문서가 도움이 되었습니까?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.