Key Takeaways
|
|
For enterprises embracing Kubernetes, managing these intricate environments can pose significant challenges. Thankfully, monitoring of Kubernetes clusters is readily achievable using the Universal Monitoring Agent (UMA) in conjunction with DX Operational Observability (DX O2).
UMA provides comprehensive Kubernetes cluster oversight. UMA can track both the underlying infrastructure and the applications residing within the cluster. UMA empowers teams to understand their Kubernetes cluster's observability data by providing detailed insights into nodes, namespaces, and individual pods. Furthermore, by annotating (adding labels to Kubernetes objects) into application deployments, it allows for focused application monitoring, helping teams ensure optimal performance and availability.
Deploying and configuring UMA can be accomplished in about four minutes—enabling immediate visibility of the environment and facilitating proactive issue resolution and efficient resource allocation.
There are three installation options available to deploy UMA:
Teams can choose the method that best fits their needs and technical expertise. Infrastructure engineers, who often manage deployments across the organization, will likely favor Helm Charts or the Kubernetes Operator. These options integrate seamlessly into these groups’ existing DevOps workflows and enable centralized management for better consistency and control over UMA deployments.
On the other hand, application teams (especially during initial testing and development phases) may prefer using YAML files. This method provides these teams with granular control and allows for quick iterations and adjustments to the UMA configuration. Using YAML directly can be particularly beneficial in sandbox or pre-production environments where agility and flexibility are prioritized over large-scale, automated deployments. However, once the configuration is finalized and ready for production, transitioning to Helm Charts or the Kubernetes Operator is recommended for streamlined and manageable deployments.
In this section, I will demonstrate the process of utilizing Helm Charts.
Download the UMA Helm package configuration using this link and untar the package (where Helm is installed and configured, which is required for any Helm Charts deployment).
Within the package, find and open the helm-chart with:
helm show values /uma/ > uma-values-file.yaml
you edit the uma-values-file.yaml and override the helm-chart provided one with:
--values=uma-values-file.yamlvalues.yaml file.
The values of this file should be updated as follows.
Create a name space in the cluster. In this example, I use “dx-uma”.
Your Helm Chart is now ready. Install the Helm Chart for UMA using the command below.
helm install uma <path to folder of helmchart>/helm-chart/uma \
--set agentManager.url=<URL> \
--set agentManager.credential=<TOKEN> \
--set clusterName=<ClusterName> \
-n dx-uma
Release "uma" has been installed. Happy Helming!
With UMA installed, it will start monitoring your cluster along with nodes, namespaces, pods, etc. If you want UMA to monitor the applications deployed within the pods, it can do so for compatible applications (Java, Nodejs, .NET, PHP). Check the documentation here for details.
DX O2 empowers users to quickly gain insights of the cluster with out-of-the-box dashboards. These dashboards are designed to provide immediate value, allowing for efficient monitoring and analysis of system performance and health.
To leverage these dashboards, users need to log into their DX tenant. Once logged in, locate and select the "Dashboard" option, which is typically available from the landing page or main menu.
Let's take a deeper dive into this Kubernetes cluster information displayed across the dashboard categories.
Within this comprehensive view, users gain access to a wealth of critical data concerning their cluster, organized within three distinct dashboard categories. This categorization is designed to provide a streamlined and efficient means of monitoring and managing the cluster's performance, health, and resource utilization. Each of the three dashboards offers a unique perspective by highlighting specific aspects of the environment. Each provides administrators with a holistic understanding of their cluster's status. The detailed information presented supports proactive decision-making and faster resolution of emerging issues so the Kubernetes deployment remains stable and functions optimally.
Navigate to the directory containing the out-of-the-box dashboard. Upon opening, you'll be presented with comprehensive data, similar to the illustration provided below.
Below is an out-of-the-box dashboard example that shows the health and status of multiple Kubernetes clusters.
This dashboard presents an overview of the cluster and details the total number of nodes, the quantity of active containers, and a list of failed pods within the namespaces.
In addition to the core dashboards highlighted above, the supplementary out-of-the-box dashboards offer in-depth visibility at multiple granularities. Specifically, they provide detailed insights into the individual nodes within the cluster, allowing for performance analysis and resource utilization tracking at the physical server level. Dedicated dashboards also support namespace-level monitoring, enabling administrators to isolate and assess the behavior of distinct application environments or teams operating within the shared cluster. Finally, comprehensive pod-level dashboards are included, offering real-time metrics and diagnostics for the smallest deployable units of the Kubernetes environment. These layers of monitoring collectively ensure a holistic view of your cluster's health and performance.
To perform an upgrade of UMA, begin by having the most recent version of the software package. You can initiate the upgrade process by executing the specific command line instruction designed for this purpose. This command will apply the new UMA version and incorporate the settings from the configuration file, effectively bringing your UMA installation up to date.
helm upgrade uma <Path to folder of helmcharts>/helm-chart/uma -n dx-uma
For additional information on monitoring containers, dashboards, and UMA, refer to TechDocs: