Kubernetes

Kubernetes is an open-source container-orchestration system for automating deployment, scaling and management of containerized applications. It was originally designed by Google and is now maintained by the Cloud Native Computing Foundation.

Available solutions




This template is for Zabbix version: 7.0
Also available for: 6.4 6.2 6.0

Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/app/kubernetes_http?at=release/7.0

User guide to setting up Zabbix monitoring of the Kubernetes

A template set for monitoring your Kubernetes cluster via Zabbix 7.0 and higher. Zabbix provides a powerful automated solution for monitoring the Kubernetes cluster components. You need to deploy Zabbix Helm Chart with Zabbix Proxy and Zabbix agents to monitor the cluster.

Pre-requisites and installation

Zabbix is an open-source product that can be installed on a majority of Unix-like distributions at no cost - see full list of supported distributions. Alternatively, Zabbix is available on certain cloud services.

Templates for Kubernetes monitoring

Name Readme Template
Kubernetes nodes by HTTP Readme Template
Kubernetes cluster state by HTTP Readme Template
Kubernetes API server by HTTP Readme Template
Kubernetes Controller manager by HTTP Readme Template
Kubernetes Scheduler by HTTP Readme Template
Kubernetes kubelet by HTTP Readme Template

Templates are of two types:

  1. Cluster node monitoring

    Kubernetes nodes by HTTP template discovers cluster nodes, creates hosts in Zabbix based on prototypes and assigns the "Linux by Zabbix agent" template to them. The template collects basic node metrics via the Kubernetes API.

  2. Main cluster components monitoring

    Kubernetes cluster state by HTTP discovers cluster components and control plane nodes, creates Zabbix hosts and assigns the required templates to them.

Zabbix set up

  • Install Zabbix Helm chart according to the instructions.
  • Import all templates into Zabbix.
  • Get the token automatically created when you install Zabbix Helm Chart.
kubectl get secret zabbix-service-account -n monitoring -o jsonpath={.data.token} | base64 -d
  • Create a generic host for the nodes and assign to it the "Kubernetes nodes by HTTP" template.
  • Set macros according to the template instructions.
  • Create a cluster state host and assign the "Kubernetes cluster state by HTTP" template to it.
  • Specify a dummy host interface required for HTTP items.
  • Set macros according to the template instructions.

It is strongly recommended to use filtering macros when configuring templates, as on a large cluster the number of discoverable objects can reduce the performance of the monitoring system.

Didn't find what you are looking for?