Host Template: Application - Kubernetes - Node
Overview Copied
Monitor your Kubernetes node with detailed metrics.
This Host Template includes the following Service Checks:
Service Check Name | Description | Default Thresholds (Metric: 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: pods_total: |
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 |
Note
See details about Monitoring Plugin thresholds here.
Usage Instructions Copied
Please review the overall Application - Kubernetes Opspack documentation for details on prerequisites, known issues, and other necessary configurations that apply to all Host Templates in the Opspack.
Add this Host Template Copied
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.
Note
For more information, refer to the documentation on Adding Host Templates to Hosts.
Add and configure Variables Copied
The Service Checks in this Host Template use the following variables, and they will be added to your Opsview Monitor instance alongside the Host Template:
Note
For more information, refer to the documentation on Adding Variables to Hosts.
Apply Changes Copied
Apply Changes and the system will now be monitored:
Additional Information Copied
This host template requires the Opsview READ-ONLY service account to be added to your cluster.
Note
To access live usage metrics, you will need to install metrics-server on your cluster.
Available Variables Copied
Authentication variables Copied
This Host Template supports client authentication using bearer tokens and X509 client certificates.
Authentication using bearer tokens Copied
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 Copied
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 Copied
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.
Plugin Parameter | Position in Variable | Name | Description |
---|---|---|---|
N/A (Opsview UI Only) | Value | Kubernetes Cluster Details | The details for your Kubernetes cluster. |
--api-server-address |
Arg1 | Kubernetes API Server Address | Server address and port number of your Kubernetes API server. This will consist of https://<api-server-ip-or-fqdn>:<port-number> |
--bearer-token |
Arg2 | Kubernetes API Bearer Token | Bearer token of your READ-ONLY service account. |
KUBERNETES_NODE_NAME Copied
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.
Plugin Parameter | Position in Variable | Name | Description |
---|---|---|---|
N/A (Opsview UI Only) | Value | Kubernetes Node Details | The details of your Kubernetes node. |
--node-name |
Arg1 | Kubernetes Node Name | The name of the individual node you wish to monitor inside your Kubernetes cluster. |
SSL Certificates: KUBERNETES_CERTIFICATES Copied
Opsview Cloud
For Opsview Cloud customers, please contact ITRS Support for assistance with setting up certificate files, as they require Orchestrator access.
Additionally, you can use the KUBERNETES_CERTIFICATES variable to pass in your SSL certificates for use when connecting to the service provider to gather metrics:
Parameter | Position in Variable | Name | Description |
---|---|---|---|
--ca-path |
Arg1 | CA Certificate Path | Path to the CA Certificate |
--client-cert |
Arg2 | Client Certificate Path | Path to the Client Certificate |
--client-key |
Arg3 | Client Key Path | Path to the Client Key |
Plugin help Copied
Plugin: check_k8
Secure Args
This plugin uses the Secure Args feature for argument passing.
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 |