- Print
- PDF
Cluster Monitoring
- Print
- PDF
Available in VPC
Cluster Monitoring is provided in Kubernetes version 1.23 or later.
To use clusters in earlier versions than 1.23, you must install the required version using the upgrade feature.
Cluster Monitoring collects the usage of resources in a Kubernetes cluster and sends the data to the Cloud Insight product. The collected data can be seen on the Grafana dashboard or Cloud Insight dashboard in Ncloud Kubernetes Service on the NAVER Cloud Platform console. You can see the usage amount without a separate resource monitoring tool through them.
Supported versions
Feature\Kubernetes Version | 1.22 | 1.23+ |
---|---|---|
Kubernetes Cluster Monitoring | Not supported | Supported |
Usage fee
This service offers the same pricing plan as Cloud Insight.
For more details about the Cloud Insight pricing plan, see Service > Cloud Insight on the NAVER Cloud Platform portal.
Collection target
Monitoring for pods within the kube-system namespace is not supported.
Kubernetes cluster monitoring collects resources corresponding to the types defined below.
Type | Description |
---|---|
CpuMem | The pod's CPU/MEM resource usage |
Network | The pod's network in/out rate |
Disk | The pod's Block Storage resource usage |
NodeAvailability | Available node capacity within the cluster |
PodStatus | Status of pods |
Type: CpuMem
Dimensions
Dimensions | Description |
---|---|
type | Defined as CpuMem |
clusterUUID | cluster UUID |
nodeInstanceNo | The instance number of the node where the pod is located |
namespace | The namespace where the pod is located |
controller | The controller that created the pod |
pod | The pod's name |
Metrics
Metrics | Description |
---|---|
real_cpu | The pod's CPU usage |
real_mem | The pod's memory usage |
Type: Network
Dimensions
Dimenions | Description |
---|---|
type | Defined as Network |
clusterUUID | cluster UUID |
nodeInstanceNo | The instance ID of the node where the pod is located |
namespace | The namespace where the pod is located |
controller | The controller that created the pod |
pod | The pod's name |
interface | The interface where the network in/out occurred |
Metrics
Metrics | Description |
---|---|
network_rx_bytes | The amount of bytes received |
network_tx_bytes | The amount of bytes sent |
Type: Disk
Dimensions
Dimensions | Description |
---|---|
type | Defined as Disk |
clusterUUID | cluster UUID |
nodeInstanceNo | The instance number of the node where the pod is located |
namespace | The namespace where the pod is located |
controller | The controller that created the pod |
pod | The pod's name |
pvc | The pvc's name |
Metrics
Metrics | Description |
---|---|
available_bytes | The amount of disk available in bytes |
capacity_bytes | The total disk capacity in bytes |
used_bytes | The amount of disk used in bytes |
disk_used_ratio | Ratio of the available disk, between 0 and 1 |
Type: NodeAvailability
Dimensions
Dimensions | Description |
---|---|
type | Defined as NodeAvailability |
clusterUUID | cluster UUID |
Metrics
Metrics | Description |
---|---|
node_total_count | Total number of the in-cluster nodes |
node_ready_count | Number of in-cluster nodes that are ready |
node_not_ready_count | Number of in-cluster nodes that are not ready |
node_available_ratio | node_ready_count / node_total_count, between 0 and 1 |
Type: PodStatus
Dimensions
Dimensions | Description |
---|---|
type | Defined as PodStatus |
clusterUUID | cluster UUID |
namespace | The namespace where the pod is located |
controller | The controller that created the pod |
Metrics
Metrics | Description |
---|---|
pod_phase_pending | The number of pods with a phase of pending within the controller |
pod_phase_running | The number of pods with a phase of running within the controller |
pod_phase_succeeded | The number of pods with a phase of succeeded within the controller |
pod_phase_failed | The number of pods with a phase of failed within the controller |
pod_available_ratio | The ratio of available pods belonging to the controller, between 0 and 1, supports ReplicaSet , DaemonSet , and StatefulSet |
pod_restart_count | The sum of restart counts for pods belonging to the controller |
Grafana
Grafana is a tool which provides visualization of time series data. You can view data transmitted through Cloud Insight on your Grafana dashboard.
You can find the Grafana link from the Monitoring section of the Cluster sub-list within Ncloud Kubernetes Service on the NAVER Cloud Platform console.
Overview
You can check the list of clusters you have. You can monitor resources within the cluster using the following buttons.
- Nodes: you can view the availability of in-cluster worker nodes and resource usage of CPU, memory, disk, and network.
- Pods: you can view the resource usage of CPU, memory, disk, and network for in-cluster pods.
Alerts
You can set thresholds for resources within the cluster and configure event rules to receive alerts when specific conditions are met. The configured values are stored in the Cloud Insight service and can also be viewed in the event rules of the Cloud Insight service.
In the Alerts tab, you can find the following information.
- Cloud Insight Event Rule Group
- You can create, delete, or view event rule groups for the selected cluster.
- You can set threshold conditions for metrics under the event rule group.
- The following product types are supported.
- Ncloud kubernetes service
Click the created Cloud Insight event rule group to view the following sub-groups.
- Monitor Group
- This is a resource group where metrics for monitoring are generated.
- Metric Group
- These are values for setting conditions for triggering an alert for the metrics generated in the monitor group.
- You can click the
New Metric
button to add conditions.
- Notification Group
- A group of recipients to be notified when an alert set in the metric group is triggered.
- You can click the
New Recipient
button to register notification recipients.
The recipients in the notification group can be managed in the Notification Recipient menu within the Cloud Insight service. This feature is not supported in the Alerts menu of the Ncloud Kubernetes Service.
The following is the considerations for metrics you can register in your metric group.
Metrics examples
- Controllers, such as deployment, requests scheduling a specific number of pods, but due to the impact of admission controllers, etc., if fewer pods than the expected ratio are running
- Set pod_available_ratio < 0.7 to trigger a notification if the ratio of available pods to the desired pods is less than 70%
- If the number of pods requested to be generated by a controller, such as deployment, but not Running is increasing
- Set pod_available_ratio < 0.7 to trigger a notification if the ratio of available pods to the desired pods is less than 70%
- Set pod_phase_pending >= 1 to trigger an alert if there is at least one pod in the Pending phase
- If the node is not Ready
- Set node_available_ratio < 0.8 to trigger an alert if the ratio of Ready nodes to the total nodes is less than 80%
- Set node_not_ready_count >= 1 to trigger an alert if there is at least one node that is not Ready
- If the number of pods in the Crash phase is increasing
- Set pod_restart_count >= 10 to trigger an alert if a pod restarts more than a specific number of times by kubelet or others
- If a job like Cronjob fails and results in Failed phase
- Set pod_phase_failed >= 1 to trigger an alert if a job fails