save up to $754 USD (2).png

Kubernetes Monitoring: Top 28 Open Source Tools

in Kubernetes

New TCIO June 14 2021 (1).png

This article has discussed top open source projects that can help in Kubernetes cluster monitoring. Their order has been arranged according to their stars on GitHub, from the most starred to the less starred.


    Kubernetes clusters can turn into a disaster if not properly monitored, which can cause setbacks while developing. But if K8s clusters are appropriately monitored, it will give good insights into managing its infrastructure, utilization of resources, uptime, and more. The top open source projects that can help you successfully monitor your K8s cluster have been discussed briefly and arranged in descending order regarding their stars on GitHub.

    Weave Scope

    Weave Scope is a monitoring, visualization, and management tool used to understand and monitor containerized, microservices-based application.

    Kube-Prometheus

    Kube-Prometheus is a tool used in monitoring Kubernetes applications. It uses its operator to collect Kubernetes manifests, Grafana dashboards, and Prometheus rules combined with documentation and scripts to develop an easy-to-operate Kubernetes cluster monitoring.

    Kube-Prometheus is available as a package and library, written in jsonnet.

    Kube-state-metrics (KSM)

    As its name has revealed, Kube-state-metrics is a Kubernetes tool that assesses Kubernetes API server to produce accurate metrics without modification for the state of objects like deployment, nodes, and pods. It is designed to show the same stability grade as the Kubernetes API objects, thereby providing raw, unmodified data without any heuristics performed.

    Goldpinger

    Goldpinger is a small debugging tool used to monitor nodes connectivity in the Kubernetes cluster. It is used to troubleshoot, visualize and alert in Kubernetes network issues. It runs as a DaemonSet on Kubernetes and produces Prometheus metrics.

    Kube-ops-view

    Kube-ops-view is a tool for generating an operational picture for multiple Kubernetes clusters. It is not a tool that allows interaction with the actual cluster and is not used to replace the Kubernetes dashboard for managing applications. It is an operations picture tool that renders nodes and indicates their overall status, renders individual pods, shows resource usage and code capacity, and provides tooltip information for nodes and pods.

    Zabbix-docker-monitoring

    Zabbix-docker-monitoring is a tool for monitoring Docker containers. It has components like containers config details, bilkio, net container metrics. Its module supports Docker containers natively and supports other container types like Linux containers.

    BotKube

    BotKube is a monitoring tool used to monitor the Kubernetes cluster, debug critical deployments, and give recommendations for best practices. It can be integrated with Slack, Microsoft Teams, and Mattermost. BotKube can also execute Kubectl commands on the Kubernetes cluster for debugging.

    It has components like informer controller, bot interface, event manager and notifier, and executor.

    SPEKT8

    SPEKT8 is a Kubernetes cluster visualization tool that automatically builds application and infrastructure topologies. It is a tool that the SRE and Ops team can leverage to monitor, control, and understand microservices-based applications. The SPEKT8 tool indicates pod's status, Lists container images specifically, and provides information on ingress and services.

    Nodes can also be represented graphically or in table mode.

    Prometheus-Kubernetes

    Prometheus-Kubernetes is an easy-to-set-up monitoring tool for Kubernetes clusters on Azure, GCP, and AWS with the aid of Grafana and Prometheus Operator.

    The tool has features like preconfigured alerts, preconfigured Grafana dashboard,  In-cluster deployment, and highly available Prometheus manager.

    Prometheus-Kubernetes (Kayrus)

    This repository is a Prometheus deployment example with alerts for Kubernetes cluster. It is the most common example of Prometheus deployment.

    Kube-Slack

    Kube-Slack is a Slack-based monitoring tool for Kubernetes pod specifically. When a pod has failed, it alerts you by sending ErrImagePull to the slack channel.

    ELK-Kubernetes

    ELK-Kubernetes is a repository for configuring EFK/ELK on top of Kubernetes.

    EFK stands for Elasticsearch, Fluentd, and Kibana. This repo deploys the EFK stack completely and already has a fluentd configuration example.

    Kconmon

    Kconmon is a node connectivity tool used for carrying out regular TCP, DNS, and UDP tests. Enriched Prometheus metrics with the node name and locality information gets exposed, thereby enabling the correlation of issues between availability zones or nodes.

    It has two components, agents and controllers.

    Tobs

    Tobs is an observability tool for making a complete observability stack installation easy in Kubernetes clusters with a command-line tool for Helm charts.

    Tobs has Kube-Prometheus, TimescaleDB, Promlens, Opentelemetry, Promscale, and Jaeger Query components.

    Kubetop

    Kubetop is a top command tool for the Kubernetes cluster. It lists all the running nodes, pods in the nodes, and containers in the pods. It shows information like CPU and memory on each running node.

    Kubernetes-Prometheus

    This repo is an open source Kubernetes manifest files that can set up Prometheus on the Kubernetes cluster.

    Deprek8ion

    This repo comprises rego policies for monitoring Kubernetes API depreciations.

    X.509 Certificate Exporter

    It is a Prometheus exporter written in Go language and used for exporting certificates that focuses on expiration monitoring. Before they expire, it notifies users about PEM encoded files, Kubeconfigs, and TLS secrets. It works independently and in Kubernetes clusters.

    Kubenurse

    Kubenurse is a network monitoring service that monitors network connections in Kubernetes clusters and exports the metrics gathered as Prometheus endpoint. This service can be used to monitor Kube-apiserver issues, service and ingress roundtrip latencies and errors, Kubelet-to-kubelet network latencies and errors, pod-to-apiserver communication, etc.

    ThermaKube

    ThermaKube is a Kubernetes web application used in monitoring Kubernetes cluster health and performance with support for AWS EKS deployments. The open source tool tracks real-time data alerts for pod crashes and renders visualization of clusters. ThermaKube needs to have the Kubernetes cluster deployed and kubectl configured before running correctly.

    Deprek8

    Deprek8 is a repository containing an evergreen policy for Kubernetes API depreciation monitoring.

    Active-Monitor

    Active-Monitor is a tool used in deep cluster monitoring and self-healing with the aid of Argo workflows. It is a Kubernetes resource controller that can be used to run health checks like verifying if pods are in critical conditions, if AWS resources are using above or below instance limits, if pod max threads have reached, if pod storage volume has reached or exceeded its capacity, etc.

    K8s Security Dashboard

    K8s Security Dashboard is a logging architecture for Kubernetes used to store and parse audit logs. The K8s Security Dashboard can be used to deploy Fluent daemon to push logs to Elasticsearch, run K8sCop for static or streaming analysis of logs and labeling events, import and view the Security Dashboard in Kibana, etc.

    Grafana Dashboard

    Grafana dashboard is used for Kubernetes cluster monitoring, using Prometheus. To use Grafana dashboard can only be run when you have a running Kubernetes cluster with deployed Prometheus.

    KubraKai

    KubraKai is an open source monitoring web application for Kubernetes. It enables users to create a profile that will store and track more than one Kubernetes cluster. Its key features are user profile for endpoint monitoring, metric data dynamic date selection, drag-and-drop graphs that display metrics, user authentication, and authorization, etc.

    KubeScrape

    KubeScrape is an open source monitoring tool used in Kubernetes health tracking, metrics view, and cluster structure.

    KubeScrape has a set of 5 pages for easy usage and tracking. There is the home page which is also the page that shows the cluster health and any vital information about the cluster.

    The node details page shows basic information about your pods for a particular node. If you click on any pod, it will take you to the pod details page with all the graphical representations of CPU usage and saturation, Memory usage, and saturation for each container of that particular pod. Then there are the alert page and the visualizer page. The alert page shows the alerts in the firing state tracked by Prometheus. The Visualizer page shows a relational diagram of your Kubernetes cluster objects.

    K8s-sentry

    K8s-sentry is a simple tool used in monitoring a Kubernetes cluster and configured to report every operational issue to Sentry. It is a tool that watches all warning and error events, pods that fail entirely, or pod containers terminating with a non-zero exit code.

    Kube-netc

    Kube-netc is an eBPF network monitor for Kubernetes. The tool uses Kubernetes daemonSet to generate your nodes networking statics.


    Get similar stories in your inbox weekly, for free



    Share this story:
    editorial
    The Chief I/O

    The team behind this website. We help IT leaders, decision-makers and IT professionals understand topics like Distributed Computing, AIOps & Cloud Native

    save up to $754 USD (2).png

    Latest stories


    Canary Release vs Blue-Green Deployments

    Choosing the right deployment strategy is crucial to the availability and quality of your services. …

    How Disaster Ready Are Your Backup Systems, Really?

    In this blog post, we’ll help you ensure that your backup systems will perform as …

    8 Best Practices to Boost Your CI/CD Performance

    This article discusses the best practices that boost your CI/CD performance and how each impacts …