Kubernetes Monitoring Technical Reference
The end of life (EOL) date for this integration is 30 September 2020. This documentation is now archived and is no longer updated. The Collection Agent plugin for Kubernetes now replaces this integration, see Installation in a or environment.
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. |
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-Nodes-Info
This dataview lists cluster and machines that host the compartmentalized environment.
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-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-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.