Naver Cloud Platform Exporter 設定
Cloud Insight API 呼び出し量に関する案内
Cloud Insight API の呼び出し量は 収集メトリクス数 × インスタンス数 に比例して増加します。必要なメトリクスのみを選択して収集してください。設定方法は config.yml ファイル設定 をご参照ください。
事前準備
NCP アカウントおよび権限要件
Exporter は以下の 2 種類の 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 へのアクセスを許可してください。2 つのポリシーのいずれかが欠けていると、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.vloadbalancertargetgroup | Load Balancer Target Group |
ncloud.vmysql | Cloud DB for MySQL |
ncloud.vpostgresql | Cloud DB for PostgreSQL |
ncloud.vredis | Cloud DB for Cache |
ncloud.vmongodb | Cloud DB for MongoDB |
ncloud.vmssql | Cloud DB for MSSQL |
ncloud.vautoscaling | Auto Scaling (VPC) |
ncloud.vnks | Ncloud Kubernetes Service (New) |
ncloud.vsearchengine | Search Engine Service |
ncloud.vhadoop | Cloud Hadoop |
12のサービスすべてにメトリクスカタログを提供しており、カタログに含まれるメトリクスは全部で283個です。実際に照会できる指標は、リソースの種類、ノードの役割、サービス設定によって異なります。
サービス名の表記
ncloud.vredisはNCPコンソールのCloud DB for Cacheに対応します。エンジンに応じてcache_*またはredis_*シリーズを使用します。ncloud.vnksは新しいNcloud Kubernetes Serviceの指標を使用します。
インストール設定ビルダーでconfig.ymlを作成する
設定ファイルを直接作成せずに、製品のNCPインストールガイド画面で収集するサービスとメトリクスを選んでconfig.ymlの内容を作成できます。作成した内容をコピーするか、ファイルとしてダウンロードして/etc/ncloud_exporter/config.ymlのパスに配置してください。
| 操作 | 結果 |
|---|---|
| ビルダーを開く | 12のサービスがすべてオフの状態で始まります。 |
| サービスをオンにする | そのサービスのプリセットダッシュボードが必要とするメトリクスが自動的に選択されます。VPC Serverはインスタンス1台あたり16シリーズを収集する組み合わせです。 |
| メトリクスを選ぶ | サービスを展開すると、カタログのメトリクスと集計を個別にオン・オフできます。 |
| エクスポート | 選択した内容でconfig.ymlをコピーまたはダウンロードします。 |
カタログにメトリクスがなくトグルのみを提供するサービスは、メトリクスを選ばなくてもエクスポートできます。この場合、該当サービスはconfig.ymlから省略され、収集は行われません。
ビルダーのVPC Server一覧には、VPC Serverの基本メトリクス表の27個のうち25個のみが表示されます。dev_nm(STRING型)とmnt_stat_cd(interval: Min1専用)は時系列が生成されず設定ファイルに含められないため、一覧から除外しています。
プリセットダッシュボード
対応する12のサービスごとにプリセットダッシュボードを提供します。ウィジェットを個別に配置しなくても、収集が始まればすぐに指標を確認できます。
| NCPサービス | ダッシュボードキー |
|---|---|
| VPC Server | vpc_server |
| VPC Load Balancer | load_balancer |
| Load Balancer Target Group | target_group |
| Cloud DB for MySQL | mysql |
| Cloud DB for PostgreSQL | postgresql |
| Cloud DB for Cache | cache |
| Cloud DB for MongoDB | mongodb |
| Cloud DB for MSSQL | mssql |
| Auto Scaling (VPC) | auto_scaling |
| Ncloud Kubernetes Service (New) | nks |
| Search Engine Service | search_engine |
| Cloud Hadoop | hadoop |
各ウィジェットのタイトルの横には説明アイコンがあります。アイコンにマウスを重ねると、その指標が何を意味するかを確認できます。
NCPアラートテンプレート
NCPサービス12種に対して、31個のPromQLアラートテンプレートを提供します。アラート通知 > イベント設定メニューでイベントを追加する際にテンプレートリストから選択すると、PromQL、検知条件、イベントレベル、アラートメッセージがあらかじめ入力されます。
-
NCPプラットフォームプロジェクトのイベント作成画面には、NCPテンプレートのみを表示します。
-
OpenMetricsプロジェクトでは、OpenMetricsテンプレートの後にCloudWatch、Azure、NCPテンプレートを続けて表示します。
-
複合メトリクスイベントの作成画面のテンプレートリストにも、同じテンプレートを表示します。
| Service | Template | Metric | Condition | Level |
|---|---|---|---|---|
| NCP VPC Server | High CPU | ncloud_vserver_avg_cpu_used_rto_avg | value > 80 | Warning |
| NCP VPC Server | High Memory | ncloud_vserver_mem_usert_avg | value > 90 | Warning |
| NCP VPC Server | High Filesystem Usage | ncloud_vserver_max_fs_usert_max | value > 90 | Warning |
| NCP Load Balancer | Collection Errors | ncloud_scrape_errors_total{namespace="ncloud.vloadbalancer"} | value > 0 | Warning |
| NCP Target Group | Unhealthy Targets | ncloud_vloadbalancertargetgroup_unavailable_host_count_max | value > 0 | Critical |
| NCP Target Group | No Healthy Targets | ncloud_vloadbalancertargetgroup_available_host_count_min | value < 1 | Critical |
| NCP MySQL | High Memory | ncloud_vmysql_mem_pct_avg | value > 90 | Warning |
| NCP MySQL | High CPU | ncloud_vmysql_cpu_total_avg | value > 80 | Warning |
| NCP PostgreSQL | Availability Degraded | ncloud_vpostgresql_pg_up_avg | value < 1 | Critical |
| NCP PostgreSQL | High CPU | ncloud_vpostgresql_cpu_total_avg | value > 80 | Warning |
| NCP PostgreSQL | High Memory | ncloud_vpostgresql_mem_used_avg | value > 90 | Warning |
| NCP Cache | High Cache Memory | ncloud_vredis_cache_memory_pct_avgまたはncloud_vredis_redis_memory_pct_avg | value > 80 | Warning |
| NCP Cache | High Host Memory | ncloud_vredis_mem_pct_avg | value > 90 | Warning |
| NCP Auto Scaling | High Group CPU | ncloud_vautoscaling_avg_cpu_used_rto_avg | value > 80 | Warning |
| NCP Auto Scaling | High Group Memory | ncloud_vautoscaling_mem_usert_avg | value > 90 | Warning |
| NCP MongoDB | Availability Degraded | ncloud_vmongodb_ping_avg | value < 1 | Critical |
| NCP MongoDB | High CPU | ncloud_vmongodb_cpu_total_avg | value > 80 | Warning |
| NCP MongoDB | High Memory | ncloud_vmongodb_mem_pct_avg | value > 90 | Warning |
| NCP MSSQL | Low Disk Space | ncloud_vmssql_disk_free_percent_avg | value < 10 | Warning |
| NCP MSSQL | High CPU | ncloud_vmssql_cpu_avg | value > 80 | Warning |
| NCP Kubernetes | Nodes Not Ready | ncloud_vnks_node_not_ready_count_max | value > 0 | Critical |
| NCP Kubernetes | Failed Pods | ncloud_vnks_pod_phase_failed_max{type="PodStatus"} | value > 0 | Critical |
| NCP Kubernetes | Pending Pods | ncloud_vnks_pod_phase_pending_max{type="PodStatus"} | value > 0 | Warning |
| NCP Search Engine | Process Degraded | ncloud_vsearchengine_search_engine_process_status_avg | value < 1 | Critical |
| NCP Search Engine | High Heap Usage | ncloud_vsearchengine_heap_used_percent_avg | value > 85 | Warning |
| NCP Search Engine | High CPU | ncloud_vsearchengine_cpu_total_avg | value > 80 | Warning |
| NCP Hadoop | Missing HDFS Blocks | ncloud_vhadoop_missing_blocks_avg{type="HADOOP"} | value > 0 | Critical |
| NCP Hadoop | Unhealthy YARN Nodes | ncloud_vhadoop_unhealthy_nodes_avg{type="HADOOP"} | value > 0 | Critical |
| NCP Hadoop | High HDFS Usage | ncloud_vhadoop_hdfs_utilization_avg{type="HADOOP"} | value > 85 | Warning |
| NCP Hadoop | High Node CPU | ncloud_vhadoop_avg_cpu_used_rto_avg{type="svr"} | value > 80 | Warning |
| NCP Hadoop | High Node Memory | ncloud_vhadoop_mem_usert_avg{type="memory"} | value > 90 | Warning |
すべてのテンプレートは直近10分間の範囲のデータを60秒ごとに評価し、アラートが発生すると30分間は同じイベントを再通知しません。アラートメッセージには、インスタンス名、インスタンス番号、リージョンコードと測定値(Collection Errorsは収集ネームスペースとエラー件数)が置換変数として含まれます。
しきい値は検討用の例であり、NCPの公式推奨値ではありません。保存する前にワークロードに合わせて調整してください。次の事項も併せて確認してください。
- すべての値はCloud Insightの集計値です。可用性・プロセス状態テンプレートは平均値を使用するため、
value < 1は集計区間中に異常状態が含まれていたことを意味し、現在完全に停止していることを意味するものではありません。 - Collection ErrorsテンプレートはLoad Balancerの収集エラーを通知するもので、Load Balancerの障害を意味するものではありません。エラーが発生した場合は、ExporterのログとAPI権限を確認してください。
- デフォルトの集計区間
Min5より長い集計区間を選択した場合は、照会範囲も併せて調整してください。
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: []