Kubernetes is a popular container orchestration technology with a number of tools and frameworks in the open-source community. Kubewatch, a popular open-source tool for watching Kubernetes events, is one such tool. In this post, we’ll take a look at what Kubewatch is and how it can make your life easier when it comes to Kubernetes monitoring.
How Does Kubewatch Work?
To understand how Kubewatch works, let’s first look at the concept of Kubernetes events. Kubernetes events are objects that help you know what’s happening inside your resources (pods, nodes, clusters, and so on). These objects are usually generated in response to changes happening within these resources. By collecting and analyzing these events, you can sneak a peek into the performance and health of your Kubernetes cluster.
Kubewatch is an open-source events watcher for Kubernetes. You can configure it to watch your Kubernetes clusters for events, collect them, and stream relevant notifications to external services such as Slack. With Kubewatch, you can set up a Slack bot that sends a message in your team channel whenever one of your resources goes down.
Internally, a <terminal inline>kubewatch<terminal inline> container is created whenever you run the tool, alongside the <terminal inline>kubectl<terminal inline> sidecar for communicating with the API server.
The most striking characteristic of this tool is its simplicity. It is completely open-source, which means there’s a large community of developers who use the tool and can help you with any issues you might encounter.
However, Kubewatch is only a watcher too, so you need to pair it with another logging or visualization tool such as Grafana or ContainIQ to get the full picture.
Installation & Support
Installing the tool is a fairly simple process. You can do it using either <terminal inline>helm<terminal inline> or <terminal inline>kubectl<terminal inline>. It does not take long to get up and running. There are no external API tokens or keys that you need to plug into the configuration; the tool resides entirely locally.
You do need to provide a Slack token, though, for sending updates to your Slack channel. Since Kubewatch is an open-source tool, it does not have a dedicated support team. However, there’s a large community of users that you can tap into when you’re looking for help.
User Interface & Ease of Use
Since Kubewatch is simply an events watcher, it does not have a dedicated user interface. You can view the events only in the platform you’re sending it to, which can be anything from Slack to ServiceNow.
Kubewatch relies heavily on third-party integrations. You can connect it with most third-party services that support input via webhooks. Slack is one of the most frequently used platforms alongside Kubewatch. You can also integrate with tools like HipChat, Mattermost, Flock, and ServiceNow easily.
However, the integration process is quite primitive. You don’t get to experience one-click processes that automatically sync multiple services together; you have to manually configure the webhooks.
As an open-source tool, Kubewatch is completely free to use. However, since Kubewatch is a self-hosted tool, you do need to factor in the resource requirements and costs associated with self-hosting it for your Kubernetes infrastructure. While this cost may not be substantial, it will still make a difference in your monthly infrastructure bill.
Why Should You Use Kubewatch?
There are multiple reasons why you’d want to use Kubewatch with your K8s clusters:
- Open-source: This is the biggest selling point for Kubewatch. It is open-source, has a large community backing it, and will never ask you to pay for its services. If you are skilled enough, you can dive into its internals and understand how it works, since its source code is available publicly.
- Easy to start with: The tool is quite easy to get started with. All you need to do is install it, configure a third-party receiver for your data, and start the watcher!
- Can push to multiple endpoints easily: You can configure Kubewatch to push data to multiple data stores easily. This is a feature that is rarely provided by Kubernetes watchers.
Downsides of Using Kubewatch
One of the biggest downsides to using Kubewatch is that its abilities are quite limited. There’s little to no scope for its growth in terms of features that it offers, and its primitive interface does not help much in cases where detailed logging and monitoring are needed.
Moreover, Kubewatch is not actively maintained by VMware anymore. This means that there will be no official releases for the tool in the future, and you should also not expect support from its creators with any issues you might encounter while using it. Robust took over the future development of this project, but there is little to no chance that these updates will be incorporated in the official Kubewatch project. All in all, the tool may be past its sell-by date, and you should be careful when using it in production.
Alternatives to Kubewatch
While Kubewatch is a great little open-source tool, it might not always serve your needs. Here are a few alternatives to Kubewatch that are worth taking a look at.
ContainIQ | SaaS or On-Prem
ContainIQ is a native Kubernetes monitoring platform. It offers a wide variety of tools for watching, logging, and monitoring your Kubernetes clusters’ health.
ContainIQ offers an integrated dashboard with a Kubernetes events feed and other alerts. Users can set up alerts and correlations to get the most out of their events data.
ContainIQ ties events and logs together and offers powerful search and querying capabilities. ContainIQ brings events and troubleshooting together, providing you with a one-stop solution for all your Kubernetes woes.
ContainIQ offers a slick user interface that’s easy to understand and get started with. The installation experience is quite simple, and you can make use of the free trial to test the tool in your Kubernetes clusters.
Komodor’s K8s Watcher | SaaS
Komodor is a Kubernetes-native troubleshooting tool. Once installed on a K8s cluster, the Komodor agent collects events data and compiles it on the Komodor dashboard. While Komodor’s main objective is helping you debug K8s clusters, it has done a great job with its events watcher.
The Komodor K8s watcher collects detailed information about the events happening in your K8s cluster. In the event of errors, it links logs with events and even shows the possible cause in the source code side by side.
Installation is simple; however, the UI can be a little difficult at times. Also, the integrations list is still growing. All in all, Komodor is a great alternative if you have a fixed set of requirements.
Prometheus and Grafana | Open-Source
Using Prometheus and Grafana together is a popular choice. Prometheus can be configured to collect event data from a K8s cluster while Grafana enables teams to create graphs and charts for visualization. Grafana offers an eventhandler inegration directly. Alternatively, you can use the Kubernetes Events Exporter, another open-source project, to bridge Kubernetes events into Prometheus.
As an open-source solution with a simple installation experience, Prometheus and Grafana together are a great alternative to Kubewatch. However, because these are open-source tools, teams must self-host or subscribe to a managed offering. All in all, this pair is a great alternative if you are just starting out with Kubernetes monitoring.
Kubewatch is a popular open-source events watcher for Kubernetes. The simplicity of its setup process and its seamless integration with Slack often induce product teams to try it out during the initial phases of their development.
However, with time, you will feel the need to move to a more detailed solution for watching Kubernetes events. A tool like ContainIQ can not only gather event data from your Kubernetes clusters, but also create correlations and visualizations to help you get the most out of it. Feel free to try out ContainIQ today!