Naver Cloud Platform Exporter 설정
Cloud Insight API 호출량 안내
Cloud Insight API 호출량은 수집 메트릭 수 × 인스턴스 수에 비례해 증가합니다. 필요한 메트릭만 선택해 수집하시기 바랍니다. 설정 방법은 config.yml 파일 설정을 참고하세요.
사전 준비 사항
NCP 계정 및 권한 요구사항
Exporter는 아래 두 종류의 API를 호출합니다. 사용하는 API 키에 두 권한이 모두 있어야 합니다.
| 대상 API | 엔드포인트 | 용도 |
|---|---|---|
| Cloud Insight | cw.apigw.ntruss.com | 제품 키(cw_key) 조회, 메트릭 정의 조회, 메트릭 데이터 조회 |
| NCloud API Gateway | ncloud.apigw.ntruss.com | 리전 목록 조회, 서비스별 인스턴스 목록 조회 |
Exporter가 사용하는 NCP API는 모두 조회(읽기) 작업만 수행합니다.
서브 계정의 API 키를 사용하는 경우 해당 서브 계정 또는 소속 그룹에 NCP_CLOUD_INSIGHT_VIEWER와 NCP_VPC_SERVER_VIEWER 정책을 모두 부여하고, API Gateway 접근을 허용하세요. 두 정책 중 하나라도 누락되면 Cloud Insight 메트릭 또는 VPC Server 인스턴스 목록을 조회하지 못해 수집이 실패할 수 있습니다.
필수 정보 수집
Exporter 설정에 필요한 정보를 미리 수집합니다.
| 항목 | 설명 | 발급 위치 |
|---|---|---|
| Access Key | NCP API 인증 키 | 마이페이지 → 계정 관리 → 인증키 관리 |
| Secret Key | NCP API 인증 시크릿 | 위와 동일(발급 시점에만 확인 가능) |
| 리전 코드 | 수집 대상 리전(예: KR) | 미지정 시 전체 리전 자동 조회 |
서브 계정(IAM)을 사용하는 경우 ncp_iam_으로 시작하는 키가 발급됩니다.
NCloud Exporter 설치
Exporter 다운로드
시스템 아키텍처에 맞는 바이너리를 내려받습니다.
# linux/amd64
wget https://repo.whatap.io/exporter/ncloud_exporter/latest/amd64/ncloud_exporter
# linux/arm64
wget https://repo.whatap.io/exporter/ncloud_exporter/latest/arm64/ncloud_exporter
특정 버전을 지정하려면 latest 대신 버전을 입력합니다.
wget https://repo.whatap.io/exporter/ncloud_exporter/1.0.0/amd64/ncloud_exporter
실행 권한 부여 및 설치
chmod +x ncloud_exporter
sudo mv ncloud_exporter /usr/local/bin/
sudo mkdir -p /etc/ncloud_exporter
config.yml 파일 설정
지원 서비스 목록
| Namespace | NCP 서비스 |
|---|---|
ncloud.vserver | VPC Server |
ncloud.vloadbalancer | VPC Load Balancer |
ncloud.vautoscaling | VPC Auto Scaling |
ncloud.vmysql | Cloud DB for MySQL |
ncloud.vpostgresql | Cloud DB for PostgreSQL |
ncloud.vredis | Cloud DB for Redis |
ncloud.vmongodb | Cloud DB for MongoDB |
ncloud.vmssql | Cloud DB for MSSQL |
ncloud.vnks | Ncloud Kubernetes Service |
ncloud.vsearchengine | Search Engine Service |
ncloud.vhadoop | Cloud Hadoop |
config.yml 예시 파일
/etc/ncloud_exporter/config.yml 경로에 설정 파일을 생성합니다. 아래는 VPC Server를 수집하는 기본 구성입니다.
ncloud:
access_key: "YOUR_ACCESS_KEY"
secret_key: "YOUR_SECRET_KEY"
namespaces:
- name: "ncloud.vserver"
enabled: true
regions: ["KR"] # 빈 배열이면 전체 리전
interval: "Min5" # Min1 | Min5 | Min30 | Hour2 | Day1
aggregations: ["AVG"] # 아래 metrics의 기본 aggregation
metrics:
# CPU
- name: "avg_cpu_used_rto" # CPU 사용률(%)
- name: "max_cpu_used_rto" # CPU 사용률 피크(%)
aggregations: ["MAX"]
- name: "load_average_1m"
- name: "load_average_5m"
- name: "load_average_15m"
# 메모리
- name: "mem_usert" # 메모리 사용률(%)
aggregations: ["AVG", "MAX"]
- name: "swap_usert" # swap 사용률(%)
# 파일시스템
- name: "avg_fs_usert"
- name: "max_fs_usert"
aggregations: ["MAX"]
# 네트워크
- name: "avg_rcv_bps" # 수신(bits/sec)
- name: "avg_snd_bps" # 송신(bits/sec)
# 디스크 I/O
- name: "avg_read_byt_cnt"
- name: "avg_write_byt_cnt"
- name: "avg_read_cnt"
- name: "avg_write_cnt"
- name: "ncloud.vloadbalancer"
enabled: false
regions: []
설정 항목
| 항목 | 설명 | 기본값 |
|---|---|---|
ncloud.access_key | NCP API Access Key | (필수) |
ncloud.secret_key | NCP API Secret Key | (필수) |
namespaces[].name | 수집할 서비스 네임스페이스 | - |
namespaces[].enabled | 수집 활성화 여부 | false |
namespaces[].regions | 대상 리전(빈 배열이면 전체) | [] |
namespaces[].interval | 조회 간격(Min1~Day1) | Min5 |
namespaces[].aggregations | 네임스페이스 기본 aggregation | (API 제공 전체) |
namespaces[].metrics | 수집할 메트릭 목록 | (생략 시 전체) |
metrics를 지정하지 않으면 해당 서비스의 모든 메트릭 × 모든 aggregation을 수집합니다. VPC Server의 경우 인스턴스 한 대당 125개 시리즈가 생성되므로, 필요한 메트릭만 지정하시기 바랍니다. 위 예시 설정은 인스턴스당 16개 시리즈를 수집합니다.
- 서비스별 메트릭 목록은 VPC Server 기본 메트릭을 참고하세요.
자격증명을 환경변수로 주입
설정 파일에 키를 평문으로 저장하지 않으려면 환경변수를 사용합니다. 환경변수가 설정 파일 값보다 우선 적용됩니다.
| 환경변수 | 설명 |
|---|---|
NCLOUD_ACCESS_KEY | ncloud.access_key를 덮어씀 |
NCLOUD_SECRET_KEY | ncloud.secret_key를 덮어씀 |
NCLOUD_CW_API_GW | Cloud Insight 엔드포인트(기본 https://cw.apigw.ntruss.com) |
NCLOUD_API_GW | NCloud API GW 엔드포인트(기본 https://ncloud.apigw.ntruss.com) |