Kubernetes Monitoring Technical Reference

Overview

Kubernetes is an extensible open-source platform for managing containerized workloads and services. It provides a container-centric management environment.

This integration provides a Gateway configuration file that enables monitoring of Kubernetes environment through a set of pre-configured Toolkit samplers.

You can query the services of your Kubernetes running environment, see the number of pods, you have the ability to describe builds and tail logs from a pod or from a container.

This technical reference provides information on the metrics and dataviews for the samplers available through the Kubernetes monitoring integration. If you are setting up the integration for the first time, see the Kubernetes Monitoring User Guide.

Intended audience

This technical reference is intended for users who are monitoring data from the Kubernetes environment. If you are setting up the integration for the first time, see the Kubernetes Monitoring User Guide.

Environment variables

The kubernetesMonitoring.xml script provides the variables that are set in the Environments section. They need to be configured to ensure that the integration monitors your target Kubernetes environment.

Variable Type Description
PYTHON_PATH String Path of the Python library located on the machine where the Netprobeis running.
KUBECTL_PATH String

Path of the kubectl client used to connect to a cluster,

KUBE_MANUAL_SAMPLE Integer Frequency of sampling. If checks are executed manually, the value is 0.
KUBE_LABEL String Used to assign a name to a group of samplers.

You can also use environment variables when configuring the samplers. The available environment variables are:

Variable Type Description
KUBECTL_GET_ALL_SPACES String Get a list of all name spaces. This is used by administrators to get access to everything in the Kubernetes environment.
KUBECTL_GET_AUTH String Get a list of authorize tokens and their expiration.
KUBECTL_GET_ROUTE String

Get a list of routes and their target ports.

KUBECTL_GET_PROJECTS String Get a list of associated projects.
KUBECTL_GET_QUOTAS String Get a list of quotas and limits.
KUBECTL_GET_PODS_METADATA String Get a list of pods and their metadata.
KUBECTL_GET_PODS_SPECDATA String Get a list of pods and their specdata.
KUBECTL_GET_PODS_HEALTH String Get a list of pod's health conditions. You must provide pod's name or uid.
KUBECTL_GET_POD_CONTAINERS String Get a list of a pod's containers and their statuses. You must provide pod's name or uid.
KUBECTL_GET_SERVICES String Get a list of services and their port info.
KUBECTL_GET_EVENTS String Get a list of recent events and their descriptions.
KUBECTL_GET_NODES_METADATA String Get a list of nodes and their associated metadata.
KUBECTL_GET_NODES_STATUS String Get a list of nodes and their hardware status.
KUBECTL_GET_NODES_INFO String Get a list of nodes and their hardware info (for example, OS, Arch, etc).
KUBECTL_GET_NODE_HEALTH String Get a list of node's health conditions. You must provide node's name or uid.

Below you can see an example of sampler configuration using some of the environment variables.

Metrics and dataviews

The Kubernetes monitoring integration provides a number of samplers each with a default dataview. The sections below show example dataviews.

Note: Your access to the dataviews in Geneos depends on your permission levels in Kubernetes. If you do not have permission to view a certain pod, you cannot see applicable dataviews in Geneos.

Kube-Events

This dataview displays a list of events and the number of times the events occurred along with their details.

Kube-NodeHealth

This dataview retrieves data about the condition and state of your Kubernetes node.

Kube-Nodes-Info

This dataview lists cluster and machines that host the compartmentalized environment.

Kube-Nodes-MetaData

This dataview displays a list of connected cluster nodes and their metadata.

Kube-Nodes-Status

This dataview displays a high level overview of all nodes, capacity, and where they are located.

Kube-OAuthTokens

This dataview displays a list of access tokens to accounts that logged into your Kubernetes project. You can check if users logged through the client or the web console, how many successful logins there were, and how much time the person has in their session.

Kube-PodContainers

This dataview displays a list of containers in a specific pod, it also shows the state of the containers.

Kube-PodHealth

This dataview displays condition and state of a specific pod.

Kube-Pods-MetaData

This dataview displays an overview of all pods running in your environment. Kubernetes uses the labelling system as a way to identify and add properties to these pods. This information is stored in the labels.

Kube-Pods-SpecData

This dataview displays specification of the pods and how many containers there are. For example, if you forget which node your pod is running on, you can check it here. You can also check how long it takes for the pod to terminate.

Kube-Projects

This dataview displays a list of projects, their details and current running state.

Kube-Quotas

This dataview displays a list of quota limits and current consumption on pods, secrets and other resources.

Kube-Routes

This dataview displays a list of services showing their route and port information (for example, available ports).

Kube-Services

This dataview displays a list of services available in your Kubernetes environment and their current status.

Further reading

To learn more about setting up the Kubernetes monitoring samplers on a Gateway, see the Kubernetes Monitoring User Guide.