Kubernetes Monitoring: Monitor Kubernetes Clusters with Domotz

Kubernetes Monitoring is available through Domotz network monitoring software. Proactively watch over your Kubernetes Cluster status, Nodes/Pods, and other API metrics.

Kubernetes is an open-source container-orchestration system for automating software deployment, scaling, and managing containerized applications. Google is the system designer, and the Cloud Native Computing Foundation now maintains it.

Kubernetes works with Containerd and CRI-O. Initially, it interfaced exclusively with the Docker runtime through a "Dockershim." However, since November 2020, Kubernetes has deprecated the shim in favor of directly interfacing with the container through Containerd or replacing Docker with a runtime compliant with the Container Runtime Interface (CRI). (cit. Wikipedia)

Start Your Free Trial
Integration Domotz + Kubernetes monitoring

checkiconCheck the configuration of the Nodes/Pods in a Kubernetes Cluster

checkiconMonitor the API usage of each on the Kubernetes Cluster

checkiconReview information for each node, such as metadata, node limits, uptime, and more

checkiconAccess information like the number of API server requests, CPU usage, go routines, & more

How our Kubernetes Monitoring Works

Kubernetes Nodes Driver Code

Our Kubernetes Monitoring scripts use the HTTP-based API to access information. You require generating a jwt token in the Kubernetes Cluster to connect with Domotz for monitoring.

Two different Custom Integration scripts offer an initial set of variables and stats that you can monitor through Domotz:

  • kubernetes_api_metrics.js - this script dynamically creates metrics for Kubernetes API depending from the response of the service, such as Server requests, CPUs, threads, routines, etc
  • kubernetes_nodes.js - this script dynamically creates a table with columns specified in nodeTable variable and refer to the Nodes/Pods configured in the Kubernetes Cluster
  • kubernetes_scheduler.js - this script is able to extract information about the Kubernetes scheduler (such as CPU consumption, fds open and max, memory usage, etc)
  • kubernetes_cluster_state.js - this script allows the Domotz user to retrieve status data about the Kubernetes Clusters
  • kubernetes_kubelet.js - this script extracts Kubernetes kubelet metrics by HTTP agent from Prometheus metrics endpoint

You can find the Kubernetes Monitoring Cluster driver codes in our examples library. Just customize the Kubernetes Monitoring drivers to fit your needs.


Easy Kubernetes Monitoring for Nodes, Pods, Scheduler and Kubelet

Kubernetes Nodes and Pods

Thanks to our Kubernetes Monitoring, you can correctly identify the configuration for each Node/Pod, check the limits and adjust them accordingly.

You can also review information for each node, including metadata, node limits, uptime, IP addresses, CPU and memory allocation, and more.

Additionally, we enable you to access information like the number of API server requests, CPU usage, go routines and threads, errors, virtual memory use, and more.

Finally, Domotz allows you to monitor the status of the clusters as well as reviewing the scheduler configuration and the kubelet metrics.


Monitor the performance stats and info out of your Kubernetes Cluster

Kubernetes API Metrics

Extract the basic and advanced performance metrics from your Kubernetes Cluster directly from the API server. For example, you can start monitoring the following parameters:

  • Number of API Server requests per category (e.g. 2xx, 3xx, 4xx, 5xx)
  • TLS handshake errors
  • Authenticated request numbers
  • CPU and Memory usage
  • Go Threads and Routines
  • gRPCs messages sent and received
  • and more

How to enable the Kubernetes monitoring driver

Kubernetes Create New Driver Kubernetes example driver code

To enable the custom integration for Kubernetes monitoring, open the WebApp and follow these few steps:

  1. From the left menu, click on "Integration" then on the tab "Custom Integration"
  2. By clicking on “Create a new driver” will open a window where you need to choose the “Driver name” and the “Driver description”
    For example: “Kubernetes API Metrics” as a Driver name and a brief description of the purpose for this integration (e.g. “Dynamically create metrics for Kubernetes API depending from response of the service").
  3. Copy the content of the following scripts from the example in the Driver code area (the empty space for the code):
    • kubernetes_api_metrics.js
    • kubernetes_nodes.js
  4. Apply the Custom Integration to the machine hosting the Kubernetes Cluster.
  5. Note that the scripts use the HTTP based API to access the Kubernetes information. A jwt token is required to be generated in the Kubernetes Cluster to connect. Use the generated token in Domotz to authenticate against the Kubernetes Cluster.

You can find the example driver example code using the links below:

  • kubernetes_api_metrics.js - this script dynamically creates metrics for Kubernetes API depending from the response of the service, such as Server requests, CPUs, threads, routines, etc
  • kubernetes_nodes.js - this script dynamically creates a table with columns specified in nodeTable variable and refer to the Nodes/Pods configured in the Kubernetes Cluster
  • kubernetes_scheduler.js - this script is able to extract information about the Kubernetes scheduler (such as CPU consumption, fds open and max, memory usage, etc)
  • kubernetes_cluster_state.js - this script allows the Domotz user to retrieve status data about the Kubernetes Clusters
  • kubernetes_kubelet.js - this script extracts Kubernetes kubelet metrics by HTTP agent from Prometheus metrics endpoint

Want to learn more about how to set up the Kubernetes monitoring integration with Domotz?

Ready to get started with Domotz?

  • Powerful
  • Automated
  • Simple
  • Affordable
Start Your Free Trial Contact Sales