Skip to content

Latest commit

 

History

History
57 lines (36 loc) · 1.73 KB

File metadata and controls

57 lines (36 loc) · 1.73 KB

checkmk-agent-plugin-kubernetes

Overview

This project provides a Checkmk agent plugin for monitoring Kubernetes namespaces and their resources. It includes server-side WATO settings for configuring some monitoring parameters.

Only Checkmk agent plugin will be installed on the Kubernetes nodes. The plugin will collect the data and deliver it to the Checkmk server. The collected data are retrieved from local kubectl commands, so nothing needs to be installed on the Kubernetes cluster.

Features

  • Monitor Kubernetes namespaces and these resources:
    • CronJobs
    • DaemonSets
    • Deployments
    • PersistentVolumes
      • 🥳 special feature: monitor the capacity of persistent volumes
    • Pods
    • ReplicaSets
  • Set percentage thresholds for PersistentVolume usage
  • Set thresholds for CronJob counts
  • No extra agent needed on the Kubernetes nodes

Development

For local development the included docker-compose.yml file might help.

Building

To build the package manually, run:

docker run -it --rm --volume $PWD:/source --workdir /source checkmk-kubernetes_namespaces build-mkp.sh

Usage

Upload the .mkp file to your Checkmk instance.

The plugin will be available in the agent bakery.

The resulting services in Checkmk will look like this:

Checkmk Kubernetes Namespaces Plugin

If just some cluster resources should be monitored, the WATO rule can be used to customize some namespaces:

Checkmk Kubernetes Namespaces Plugin WATO

Agent settings like the kubectl binary path can be configured in the agent bakery:

Checkmk Kubernetes Namespaces Plugin Bakery

License

This project is licensed under the GPL3 license.