You are here

Kubernetes Node Monitoring

Requires Opsview Cloud or Opsview Monitor 6.3

This Host Template is part of the Kubernetes Node Monitoring Opspack

check_circle
Opsview Supported

Host Template: Application - Kubernetes - Node

Monitor your Kubernetes node with detailed metrics.

This Host Template includes the following Service Checks:

Service Check Name Description Default Thresholds (Warning, Critical) UOM
Kubernetes - Node - CPU Usage The amount of CPU resources currently being used by the node. cpu_usage=70,90 %
Kubernetes - Node - Memory Usage The current memory usage of the node. memory_usage=70,90 %
Kubernetes - Node - Pods The number of pods and their current state. pods_not_ready=0,0pods_total=1:, N/A
Kubernetes - Node - Allocatable Storage The current ephemeral storage usage for the node and volume usage, if used. N/A B
Kubernetes - Node - Pod Capacity The maximum number of pods that can be created on this node. N/A N/A
Kubernetes - Node - Ready Check if the node is healthy and ready to accept pods. node_ready=0,0 N/A
Kubernetes - Node - PID Pressure Check if pressure exists on the processes - that is, if there are too many processes on the node. node_pid_pressure=0,0 N/A
Kubernetes - Node - Disk Pressure Check if pressure exists on the disk - that is, if the disk capacity is low. node_disk_pressure=0,0 N/A
Kubernetes - Node - Memory Pressure Check if pressure exists on the node memory - that is, if the node memory is low. node_memory_pressure=0,0 N/A

Usage Instructions

This host template requires the Opsview READ-ONLY service account to be added to your cluster.

To access live usage metrics, you will need to install metrics-server on your cluster.

Step 1: Add this Host Template

Add the Application - Kubernetes - Node Host Template to your Opsview Monitor host. If the resource you're monitoring has no hostname or public IP, then open the Advanced settings pane and change Host Check Command to Always assumed to be UP.

For more information, refer to Opsview Knowledge Center - Adding Host Templates to Hosts.

Step 2: Add and configure variables required for this Host Template

The Service Checks in this Host Template use the following variables, and they will be added to your Opsview Monitor instance when you import the Opspack:

Authentication variables

This Host Template supports client authentication using bearer tokens and X509 client certificates.

Authentication using bearer tokens

If authenticating using bearer tokens, specify the Kubernetes API Bearer Token argument in the KUBERNETES_CLUSTER_DETAILS variable. Optionally, to enable server certificate validation, provide the CA Certificate Path argument in the KUBERNETES_CERTIFICATES variable.

Authentication using X509 client certificates

If authenticating using client certificates, specify the Client Certificate Path and Client Key Path arguments in the KUBERNETES_CERTIFICATES variable. When authenticating using client certificates, server certificate validation is required. To enable this, provide the CA Certificate Path argument in the KUBERNETES_CERTIFICATES variable.

KUBERNETES_CLUSTER_DETAILS

The Value is not used and therefore can be set to anything. Override the arguments with your Cluster Details.Run kubectl config view from your master node shell to see the API server address.The bearer token is created when creating the Opsview read-only service account, see the 'Installing Metrics Server' section for more information.

Parameter Position in Variable Name Description
--api-server-address Arg1 Kubernetes API Server Address Server address and port number of your Kubernetes API server.This will consist of https://your.server.address.number:port-number
--bearer-token Arg2 Kubernetes API Bearer Token Bearer token of your READ-ONLY service account.

KUBERNETES_NODE_NAME

The Value is not used and therefore can be set to anything. Override the argument with the name of your node.Run kubectl get nodes --all-namespaces from your cluster master to see available nodes.

Parameter Position in Variable Name Description
--node-name Arg1 Kubernetes Node Name The name of the individual node you wish to monitor inside your Kubernetes cluster.

For more information, refer to Opsview Knowledge Center - Adding Variables to Hosts.

For mode-specific help, run the plugin with the -h -m <mode> flags. This will list the required and optional Variable Arguments for that mode. The appropriate mode for each Service Check is listed here:

Service Check Name Mode
Kubernetes - Node - CPU Usage K8.Node.CPU
Kubernetes - Node - Memory Usage K8.Node.Memory
Kubernetes - Node - Pods K8.Node.Pods
Kubernetes - Node - Allocatable Storage K8.Node.Storage
Kubernetes - Node - Pod Capacity K8.Node.PodCapacity
Kubernetes - Node - Ready K8.Node.Ready
Kubernetes - Node - PID Pressure K8.Node.PIDPressure
Kubernetes - Node - Disk Pressure K8.Node.DiskPressure
Kubernetes - Node - Memory Pressure K8.Node.MemoryPressure

SSL Certificates

Additionally, if ssl verification is required, you can use the following variable to pass in your SSL certificates for use when connecting to the service provider to gather metrics:

KUBERNETES_CERTIFICATES

The Value is not used and therefore can be set to anything. Override the arguments with your certificate details. If you are using these certificates on a system that uses multiple clusters you can import your files by running as the opsview user /opt/opsview/orchestrator/bin/orchestratorimportscripts etc-certs /path/to/cert followed by an Apply Changes, which will set them up with the correct permissions in /opt/opsview/monitoringscripts/etc/certs on all Opsview collectors.

Parameter Position in Variable Name Description
--ca-path Arg1 CA Certificate Path Path to the CA Certificate. Optional, only required if server verification is needed.
--client-cert Arg2 Client Certificate Path Path to the Client Certificate. Optional, only required when using client certificates for authentication.
--client-key Arg3 Client Key Path Path to the Client Key. Optional, only required when using client certificates for authentication.

Step 3: Apply changes and the system will now be monitored

Kubernetes Node Service Checks