--- title: "Cluster Monitoring" slug: "cluster-monitoring-1" tags: ["Ncloud Kubernetes Service(VPC)"] updated: 2026-09-17T09:07:35Z published: 2026-09-17T09:07:35Z canonical: "guide.ncloud-docs.com/cluster-monitoring-1" --- > ## Documentation Index > Fetch the complete documentation index at: https://guide.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Cluster Monitoring VPC 환경에서 이용 가능합니다. 참고 - Cluster Monitoring은 Kubernetes 1.23 버전 이상부터 제공합니다. - 1.23 이전 버전의 클러스터는 업그레이드 기능을 이용하여 요구되는 버전을 충족 후 사용할 수 있습니다. - Sub Account가 Cluster Monitoring을 사용하려면 액션 `View/getClusterDetail`에 대해 리소스 유형 `Cluster/*` 권한이 필요합니다. Cluster Monitoring은 Kubernetes 클러스터내 리소스들에 대한 사용량을 수집하여 Cloud Insight 상품으로 전달합니다. 수집된 데이터는 네이버 클라우드 플랫폼 콘솔의 Ncloud Kubernetes Service 내 Grafana 대시 보드 혹은 Cloud Insight 대시 보드에서 확인할 수 있습니다. 이를 통해 별도의 리소스 모니터링 도구 없이도 사용량을 확인할 수 있습니다. ## 지원되는 버전 | Feature\Kubernetes Version | 1.22 | 1.23+ | | --- | --- | --- | | Kubernetes Cluster Monitoring | 미지원 | 지원 | ## 이용 요금 Cloud Insight에서 발생하는 이용 요금을 따릅니다. Cloud Insight의 이용 요금에 대한 자세한 기준은 네이버 클라우드 플랫폼 포털의 **[서비스 > Cloud Insight](https://www.ncloud.com/product/management/cloudInsight)** 를 참조해 주십시오. ## 데이터 보관 기간 Cloud Insight의 데이터 보관 기간을 따릅니다. 데이터 보관 기간에 대한 자세한 내용은 [Cloud Insight 사용준비](/docs/cloudinsight-spec)의 **데이터 보관 기간** 을 참조해 주십시오. | 집계주기 (Interval) | 데이터 보관기간 (오늘로부터) | 권장 데이터 조회 기간 | | --- | --- | --- | | Min1 | 8일 이내 | 1일 | | Min5 | 1개월 이내 | 1주일 | | Min30 | 3개월 이내 | 1개월 | | Hour2 | 6개월 이내 | 1개월 | | Day1 | 1년 이내 | 1개월 | ## 수집 대상 참고 kube-system 네임스페이스 내 pod들에 대한 모니터링은 지원하지 않습니다. Kubernetes Cluster Monitoring는 아래 정의된 type에 해당하는 리소스들을 수집합니다. | 타입 | 설명 | | --- | --- | | CpuMem | pod의 CPU/MEM 리소스 사용량 | | Network | pod의 Network In/Out rate | | Disk | pod의 Blockstorage 리소스 사용량 | | NodeAvailability | 클러스터내 노드 가용량 | | PodStatus | pod의 상태 | ### Type: CpuMem #### Dimensions | Dimensions | Description | | --- | --- | | type | CpuMem으로 정의 | | clusterUUID | cluster UUID | | nodeInstanceNo | pod가 위치한 node의 instanceNo | | namespace | pod가 위치한 namespace | | controller | pod를 생성한 controller | | pod | pod 이름 | #### Metrics | Metrics | Description | | --- | --- | | real_cpu | pod cpu 사용량 | | real_mem | pod mem 사용량 | ### Type: Network #### Dimensions | Dimenions | Description | | --- | --- | | type | Network로 정의 | | clusterUUID | cluster UUID | | nodeInstanceNo | pod가 위치한 node의 instance id | | namespace | pod가 위치한 namespace | | controller | pod를 생성한 controller | | pod | pod 이름 | | interface | 네트워크 In/Out 이 발생한 interface | #### Metrics | Metrics | Description | | --- | --- | | network_rx_bytes | 수신한 바이트 수 | | network_tx_bytes | 송신한 바이트 수 | ### Type: Disk #### Dimensions | Dimensions | Description | | --- | --- | | type | Disk로 정의 | | clusterUUID | cluster UUID | | nodeInstanceNo | pod가 위치한 node의 instanceNo | | namespace | pod가 위치한 namespace | | controller | pod를 생성한 controller | | pod | pod 이름 | | pvc | pvc 이름 | #### Metrics | Metrics | Description | | --- | --- | | available_bytes | 가용한 디스크 바이트 수 | | capacity_bytes | 총 디스크 바이트 수 | | used_bytes | 사용한 디스크 바이트 수 | | disk_used_ratio | 가용한 디스크 비율, 0~1사이의 값 | ### Type: NodeAvailability #### Dimensions | Dimensions | Description | | --- | --- | | type | NodeAvailability로 정의 | | clusterUUID | cluster UUID | #### Metrics | Metrics | Description | | --- | --- | | node_total_count | 클러스터 내 노드의 총 개수 | | node_ready_count | 클러스터 내 ready인 노드의 수 | | node_not_ready_count | 클러스터 내 not ready인 노드의 수 | | node_available_ratio | node_ready_count / node_total_count, 0~1사이의 값 | ### Type: PodStatus #### Dimensions | Dimensions | Description | | --- | --- | | type | PodStatus로 정의 | | clusterUUID | cluster UUID | | namespace | pod가 위치한 namespace | | controller | pod를 생성한 controller | #### Metrics | Metrics | Description | | --- | --- | | pod_phase_pending | controller에 속한 pod들 중 phase가 `pending`인 개수 | | pod_phase_running | controller에 속한 pod들 중 phase가 `running`인 개수 | | pod_phase_succeeded | controller에 속한 pod들 중 phase가 `succeeded`인 개수 | | pod_phase_failed | controller에 속한 pod들 중 phase가 `failed`인 개수 | | pod_available_ratio | controller에 속한 pod들 중 이용 가능한 Pod의 비율, 0~1사이의 값, `ReplicaSet`, `DaemonSet`, `StatefulSet` 지원 | | pod_restart_count | controller에 속한 pod들의 restart count 수의 총합 | ## Grafana Grafana는 시계열 데이터에 대한 시각화를 제공해주는 도구입니다. Cloud Insight로 전송된 데이터를 Grafana 대시보드에서 확인할 수 있습니다. 네이버 클라우드 플랫폼 콘솔의 Ncloud Kubernetes Service 서비스 내 클러스터 하위 목록의 Monitoring 항목에서 Grafana 링크를 확인할 수 있습니다. 참고 Grafana 대시보드 이용에 대한 요금은 발생하지 않습니다. ### Overview 보유하고 있는 클러스터의 목록을 확인할 수 있습니다. 다음의 버튼으로 클러스터 내 리소스를 모니터링할 수 있습니다. - Nodes: 클러스터 내 워커노드들에 대한 Availability와 CPU/Memory/Disk/Network 리소스 사용량을 조회할 수 있습니다. - Pods: 클러스터 내 Pod들에 대한 CPU/Memory/Disk/Network 리소스 사용량을 조회할 수 있습니다. ### Alerts 클러스터 내 리소스들에 대한 임계치를 설정하고, 조건이 충족하였을 때 알람을 수신할 수 있도록 Event Rule을 설정할 수 있습니다. 설정한 값은 Cloud Insight 서비스에 저장되며, Cloud Insight 서비스의 Event Rule에서도 확인할 수 있습니다. **Alerts** 탭에서 다음 내용을 확인할 수 있습니다. - **Cloud Insight Event Rule Group** - 선택된 Cluster에 대한 Event Rule Group을 생성/삭제/조회할 수 있습니다. - Event Rule Group 하위에 Metric에 대한 임계치 조건들을 설정할 수 있습니다. - 아래의 Product Type을 지원합니다. - Ncloud kubernetes service 생성된 Cloud Insight Event Rule Group을 클릭하면 다음의 세부 그룹들을 확인할 수 있습니다. - **Monitor Group** - 모니터링 하기 위한 지표들이 생성되는 리소스 그룹입니다. - **Metric Group** - Monitor Group에서 생성된 지표들에 대해 알람 발생을 위한 조건들을 설정한 값들 입니다. - `New Metric` 버튼을 클릭하여, 조건을 등록할 수 있습니다. - **Notification Group** - Metric Group에서 설정한 알람이 발생한 경우, 이를 통보할 대상자 그룹입니다. - `New Recipient` 버튼을 클릭하여, 통보 대상자를 등록할 수 있습니다. 참고 Notification Group 내 통보 대상자는 네이버 클라우드 플랫폼 콘솔 내 **Notification Recipient** 서비스에서 관리할 수 있습니다. Ncloud Kubernetes Service의 **Alerts** 메뉴에서는 지원하지 않습니다. Metric Group 내 등록할 수 있는 지표들로 다음 사항을 고려할 수 있습니다. **지표 예시** - Deployment와 같은 Controller가 특정 개수의 Pod를 스케쥴링을 요청하였으나, admission controller 등의 영향으로 수행되지 않아 기대 비율 이하의 Pod 수가 구동되는 경우 - pod_available_ratio < 0.7 로 설정하여, desired pod 개수 대비 available pod 개수의 비율이 70%미만이면 알람이 발생하도록 설정 - Deployment와 같은 Controller가 생성 요청한 Pod들 중 Running 상태가 아닌 것의 개수가 증가하는 경우 - pod_available_ratio < 0.7 로 설정하여, desired pod 개수 대비 available pod 개수의 비율이 70%미만이면 알람이 발생하도록 설정 - pod_phase_pending >=1 로 설정하여, phase가 Pending인 pod가 하나 이상 있는 경우 알람을 발생하도록 설정 - 노드의 상태가 Ready가 아닌 경우 - node_available_ratio < 0.8 로 설정하여, 전체 노드 중 Ready인 노드의 비율이 80% 미만이면 알람을 발생하도록 설정 - node_not_ready_count >=1 로 설정하여, 전체 노드 중 Ready가 아닌 노드가 있다면 알람을 발생하도록 설정 - Crash 상태의 Pod수가 증가하는 경우 - pod_restart_count >= 10 으로 설정하여, pod가 특정 횟수 이상 kubelet 등에 의해 재시작 되었다면 알람을 발생하도록 설정 - Cronjob 등의 작업이 실패하여 Pod의 Phase가 Failed인 것이 발생한 경우 - pod_phase_failed >=1 으로 설정하여, Job 등이 실패한 경우 알람을 발생하도록 설정