Kubernetes are getting more pivotal in this era of cloud computing due to the efficiency they provide to developers who can now build and deploy application environments more easily using containerization.
Monitoring and securing these containers is a lot more difficult than managing databases and the whole process can sound more daunting than it should be. Especially since their clusters can be hazardous if they’re not properly managed.
Today’s article brings you a list of several free and open-source Kubernetes tools with which, mixed with professional insight, efficient monitoring, and sufficient resources, your work can be a walk in the park.
1. Weave Scope
Weave Scope is a management tool for container monitoring and visualization. With it, you can better understand containerized microservices-based applications.
2. Kube-Prometheus
Kube-Prometheus is designed for monitoring Kubernetes applications. It is written in jsonnet and features Grafana dashboards, the option to collect Kubernetes manifests, and Prometheus rules in combination with scripts to develop an easy-to-operate Kubernetes cluster monitoring and documentation.
3. Kube-state-metrics (KSM)
Kube-state-metrics enables users to assess the Kubernetes API server to produce accurate metrics without the need to modify the state of objects like pods, nodes, and deployment.
Its main selling point is its ability to show the same stability grade as the Kubernetes API objects by providing raw, unmodified data.
4. Goldpinger
Goldpinger is a debugging tool for monitoring the connectivity of nodes in Kubernetes clusters. With it, you can troubleshoot, visualize and create alerts for network issues.
Its main selling point is running as a DaemonSet on Kubernetes and producing Prometheus metrics.
5. Kube-ops-view
Kube-ops-view is designed for generating an operational picture for multiple Kubernetes clusters. It does not allow any interaction so it can’t replace your Kubernetes dashboard. It works to simply render pictorial views indicating nodes and their status, individual pods, resource usage, code capacity, and tooltips.
6. Zabbix-docker-monitoring
Zabbix-docker-monitoring is designed for monitoring Docker containers. It features components including bilkio, containers config details, and net container metrics.
It also has offers native support for Docker containers and other container types like Linux containers.
7. Kube-bench
Kube-bench, is an open-source tool designed by the Center for Internet Security (a semi-regulatory industry body that provides guidelines and benchmarking tests for writing secure code) to check if selected Kubernetes clusters and nodes meet CIS’s benchmarks.
Its features are worthwhile because they enable the assurance of authorization and authentication by highlighting non-compliant areas of a Kubernetes environment.
8. BotKube
BotKube is designed for monitoring Kubernetes clusters, debugging critical deployments, and giving recommendations for best practices. It supports integration with Microsoft Teams, Mattermost, and Slack.
With BotKube, you can execute Kubectl commands on the Kubernetes cluster for debugging and make use of its components among which are bot interface, executor, event manager, notifier, and informer controller.
9. SPEKT8
SPEKT8 is a Kubernetes cluster visualization tool for automatically building app and infrastructure topologies. With it, you can monitor and control microservices-based applications.
SPEKT8 has a dashboard that displays the status of pods, a list of container images, and details on ingress and services. There is also the option to represent nodes in table or graph mode.
10. Prometheus-Kubernetes
Prometheus-Kubernetes is designed for monitoring Kubernetes clusters on AWS, Azure, and GCP. It features a preconfigured Grafana dashboard, preconfigured alerts, a robust Prometheus manager, and in-cluster development.
11. Kayrus (Prometheus-Kubernetes)
Kayrus is the most popular example of a Prometheus deployment. Its main feature is pre-configured alerts for Kubernetes clusters.
12. Kube-Slack
Kube-Slack is a Slack-based monitoring tool built specifically for Kubernetes pods. In a situation where a pod fails, it creates alerts and sends ErrImagePull to the slack channel.
13. ELK-Kubernetes
ELK-Kubernetes is a repo for configuring EFK/ELK on top of Kubernetes. With it, you can deploy the EFK (Elasticsearch, Fluentd, and Kibana) stack with a preconfigured fluentd example.
14. Kconmon
Kconmon is a node connectivity tool for running TCP, UDP, and DNS tests. It features two components, agents and controllers, and more importantly, Prometheus metrics which displays correlation issues based on availability zones and nodes.
15. Tobs
Tobs is a monitoring tool for easily viewing stack installation in Kubernetes clusters with a command-line tool for Helm charts. It features Opentelemetry, TimescaleDB, Kube-Prometheus, Promlens, Jaeger Query components, and Promscale.
16. Kubetop
Kubetop is a popular command tool that lists all the running nodes, pods in the nodes, and containers in clusters. It displays relevant information of running nodes e.g. memory and CPU usage.
17. Kubernetes-Prometheus
Kubernetes-Prometheus is an open-source repository of Kubernetes manifest files you can use for setting up Prometheus on Kubernetes clusters.
18. Kubeaudit
Kubeaudit is a command-line tool for auditing clusters by checking them against predefined security checks. Such checks include whether the root account is disabled, whether privilege escalation is permitted in the system, and whether any Kubernetes images have been incorrectly tagged.
19. Deprek8ion
Deprek8ion is a repo comprising of rego policies for monitoring Kubernetes API depreciations.
20. X.509 Certificate Exporter
X.509 Certificate Exporter is a Go-based Prometheus exporter for exporting certificates focused on expiration monitoring. Before certificates expire, it works independently in Kubernetes clusters to notify users about TLS secrets, PEM encoded files, and Kubeconfigs.
21. ThermaKube
ThermaKube is an open-source Kubernetes web app for monitoring the health and performance of Kubernetes clusters. It features support for AWS EKS deployments and has the ability to track real-time data alerts for pod crashes. With it, you can also visualize clusters.
22. Deprek8
Deprek8 is a repository of an evergreen policy for monitoring Kubernetes API depreciation.
23. Kube-hunter
Kube-hunter is an open-source tool for systematically scanning Kubernetes clusters in order to uncover security threats. With it, admins can sniff out vulnerabilities before they can be exploited by attackers.
24. Active-Monitor
Active-Monitor works with Argo workflows to provide deep cluster monitoring and self-healing. It features a Kubernetes resource controller with the ability to run health checks, resource usage, pod thread statistics, pod storage capacity, etc.
25. K8s Security Dashboard
K8s Security Dashboard is an application for logging Kubernetes architecture. You can use it for storing and parsing audit logs. From the K8s Security Dashboard, you can run K8sCop for static or streaming analysis of logs, deploy Fluent daemon to push logs to Elasticsearch, label events, view and import the Security Dashboard in Kibana, etc.
26. Grafana Dashboard
Grafana dashboard uses Prometheus to enable Kubernetes cluster monitoring. For you to run a Grafana dashboard, your Kubernetes cluster needs to have been deployed with Prometheus.
27. KubraKai
KubraKai is a monitoring web application for Kubernetes that enables users to create a profile for storing and tracking multiple Kubernetes clusters.
Its feature highlights include metric data selection, user authorization, user authentication, a user profile for endpoint monitoring, drag-and-drop graphs that display metrics, etc.
28. KubeScrape
KubeScrape is a Kubernetes monitoring tool for tracking cluster health, metrics view, and structure. It has 5 pages with a homepage that displays vital information about the cluster at a glance. You can click on individual pods to get more details complete with a graphical representation of saturation, memory and CPU usage, etc. Its tracking is done using Prometheus.
29. K8s-sentry
K8s-sentry is an open-source Kubernetes monitoring tool configured to report operational issues to Sentry. It watches all warnings, error events, failed pods, or pod containers terminating with a non-zero exit code.
30. Kube-netc
Kube-netc is an easy-to-use eBPF network monitor for Kubernetes. It uses a Kubernetes daemonSet to generate nodes networking statics.
31. Sensu
Sensu is an open-source scalable tool for multi-cloud monitoring. It ships with several predefined APIs for external input, configuration, and data access. Its feature highlights include built-in autodiscovery and service checkers for monitoring health.
32. Istio
Istio is an open-source service mesh with which you can connect, control, and secure your Kubernetes services. Its feature highlights include automatic metrics, secure service-to-service cluster communications, log collection, auto load balancing, and traffic control.
33. Kubenurse
Kubenurse is a network monitoring service for analyzing network connections in Kubernetes clusters and exporting the metrics as Prometheus endpoint.
Kubernurse can be used to monitor pod-to-apiserver communication, service, and ingress roundtrip latencies and errors, Kube-apiserver issues, Kubelet-to-kubelet network latencies, errors, etc.
As might already know, Kubernetes has the ever-present need of balancing access and security. While you will need to plan ahead of time on how to sort those issues out, the applications listed in this list are freely available to support you in making managing your services significantly less cumbersome.
Are there other applications that you would like to see added to this list? Feel free to make your suggestions in the discussion box below.
What about VictoriaMetrics Stack, Graphite Stack, NetData or even TICK Stack with influxdDB?! This post looks like Prometheus promotion at all.