ClusterWatch Official Launch
Introduction
Kubernetes clusters have become the go-to container orchestration tool for modern cloud-native applications. However, as the size of a cluster grows, so do the challenges associated with monitoring its health and performance. In order to ensure a successful deployment, it is essential to be able to monitor the state of the cluster, detect issues, and take corrective actions in real-time. Without adequate monitoring tools, cluster administrators are unable to effectively manage their clusters, leading to outages, application downtime, and other critical issues.
If you have deployed and managed a Kubernetes cluster, you have probably seen something like this before:
This is without question the fastest, simplest way to capture basic cluster metrics in real time. But in a world where container orchestration can be the focus of an entire career, these basic statistics could never be enough to satisfy the relentless quest for optimization.
As the containers grow, and pods and services become more clustered, the inter-relationship of these individual deployable units within the cluster can get pretty convoluted very quickly. This would inevitably cause tremendous headache when it comes to troubleshoot, debug, optimize and scale your application. To solve this problem, our team of developers have created our own solution, ClusterWatch.
Solution
ClusterWatch is an OpenSource Product that provides a comprehensive solution to the challenges associated with Kubernetes cluster monitoring. By leveraging Kubernetes orchestration for optimal scalability and efficiency, ClusterWatch is able to provide real-time monitoring of the various architectural layers of the cluster. This includes information on nodes, pods, services, and other critical components of the cluster. With this information, administrators can quickly detect and respond to any issues, such as node or pod failures, before they cause major problems.
In addition to its comprehensive monitoring capabilities, ClusterWatch also provides an automated configuration process for Prometheus and Grafana, incorporating them into the Kubernetes cluster. With just a few clicks, users can set up their Prometheus and Grafana instances, and seamlessly integrate them into their Kubernetes cluster, making it easy to monitor and optimize the performance of their applications.
Users can also set up custom alerts for any metrics they are interested in tracking, and these alerts can be viewed on the Alert Manager page view. This makes it easy for administrators to stay on top of any issues that may arise and take corrective action in real-time.
Built upon these powerful features, ClusterWatch provides a single view point for users to access all the information they need about their cluster’s health and performance. The interactive and responsive dashboard provides a comprehensive overview of the cluster, including real-time metrics on nodes, pods, services, and other critical components.
To summarize, ClusterWatch is a powerful open-source tool that provides real-time monitoring and management of Kubernetes clusters. With its automated configuration process, comprehensive monitoring capabilities, and user-friendly dashboard, ClusterWatch is an ideal solution for organizations that want to ensure the health and performance of their Kubernetes-based applications.
Get Started with ClusterWatch
STEP 1: CLONE THE REPO:
git clone https://github.com/oslabs-beta/ClusterWatch.gitSTEP 2: INSTALL DEPENDENCIES:
npm installSTEP 3: START A KUBERNETES CLUSTER:
- Be sure to have your Kubernetes cluster up and running before the start of the application.
- If you don’t have a cluster and would like test the application, install docker and use Minikube to get started. https://kubernetes.io/docs/tutorials/kubernetes-basics/create-cluster/cluster-intro/
STEP 4: START THE APPLICATION:
npm run devSTEP 5: INSTALL REDIS GLOBALLY:
Get Sheng Li’s stories in your inbox
Join Medium for free to get updates from this writer.
We use Redis as our caching middleware to improve data retrieving speed, resulting in better real-time monitoring experience.
brew install redisSTEP 6: Navigate to : ‘http:/localhost8080’:
You should now be redirected to the setup page of the web app. If it’s your first time configuring your cluster, do the following setup steps:
- If you do not have the prometheus-kube-stack helm chart, (which inlcudes kube-state-metrics, node-exporter, and grafana), utilize the Setup Prometheus button to download, update, and install the repos. Note: this step can take a moment, don’t worry.
- To deploy Grafana in your cluster, use the Setup Grafana button to apply our custom Grafana configurations.
- If you have used our application before, press the Start Port Forwarding button and monitor away!
- Keep in mind that the application utilizes local ports which must not be occupied on your machine:
— 3000: API Server
— 8080: Client Server
— 3001: Grafana
— 9090: Prometheus
— 9093: Alert Manager
— 6379: Redis
Get Involved
You can check out ClusterWatch on our Github or by visiting our website where you’ll find everything you need to get it up and running. Feel free to submit any issues or contribute as a fellow developer to the open source product on Github.
Follow or check in with the ClusterWatch creators:







