How does eG Enterprise Monitor Kubernetes Worker?
eG Enterprise monitors target Kubernetes worker component using the agent based approach. eG Enterprise Kubernetes monitoring model provides an integrated approach for full stack monitoring of entire Kubernetes environment, covering clusters, nodes, and containerized applications. It also offers selective monitoring which allows users to focus on monitoring specific Kubernetes components such as clusters, nodes, or individual namespaces separately. Users can choose either approach based on their preference and monitoring focus. The Kubernetes cluster and its associated nodes will each consume one Premium License, while container applications will consume a separate Container App License.
eG Enterprise auto-discovers and auto-manages Kubernetes components including Cluster, nodes and applications.
Prerequisites for monitoring Kubernetes Cluster
Before setting up the Kubernetes Cluster for monitoring, make sure that discovery is enabled for Kubernetes cluster.
-
From the eG manager console, go to Admin->Discovery->General, make sure that all the Kubernetes components,(Cluster, Nodes and Container applications) are enabled for discovery. These components will be enabled by default. To know more about the discovery process, refer Discovering Containerized Applications Using the eG Agents.
-
Then, go to the Auto manage section, confirm that the clusters, nodes, and container applications are included to be auto managed after discovery. These components will be enabled by default. To know detailed steps, refer Auto-management of Discovered Containerized Applications
-
Now, navigate to Auto delete section and verify the auto delete durations for the Kubernetes entities. By default, the auto delete durations are set to 8 days for clusters, 4 hours for nodes and 15 minutes for container applications. If needed, you can edit these durations based on your environment. For detailed discussion, referAuto-unmanaging or Deleting Kubernetes Nodes and Auto-unmanaging or Deleting Containerized Applications
Setting up auto discovery for Kubernetes Cluster
If you want to monitor entire Kubernetes stack then select Full Stack Monitoring, below steps describe how to set up Full Stack Monitoring.
Follow the steps below to set the full stack monitoring:
-
Go to Admin Dashboard -> Discover/Monitor.
-
From the page titled What would you like to Discover/Monitor?, Select Kubernetes and Containers.
-
From next page select Kubernetes, Rancher, Openshift, EKS, AKS, Tanzu, Google, you will land on below page as shown in Figure 1
:
-
Choose FULL STACK MONITORING option - Kubernetes Cluster, Nodes, Applications. Next you'll get the options to specify the cluster and cluster type as shown in Figure 2.
Figure 2 : Adding Kubernetes Cluster
-
In What do you want to monitor section, select all three option if you want to set up full stack monitoring as shown in Figure 2
-
If you want to monitor only nodes, select Container Engine - Master/Worker Node.
-
Select Containerized Application if you want to monitor apps. Also, select Auto Instrument APM if you want to monitor business transactions of the containerized applications being monitored. This is shown in Figure 2
-
Click Next.
-
-
In Kubernetes preferences for Kubernetes cluster, provide the cluster name, and select Worker and Master if you want to monitor worker and master nodes. This is shown in Figure 3.
-
In Application Monitoring and Instrumentation section, provide the details as shown inFigure 4 and described below.
Figure 4 : Monitoring and Instrumentation details
-
Namespaces to be considered: Specify the name of the one or namespaces separated by comma. You can also provide wildcard patterns.
-
Namespaces to be ignored: Specify the names of namespaces to be ignored separated by commas. You can also provide wildcard patterns.
-
Manage process patterns: Click the hand icon to check the process patterns, and ensure the pattern for process you want to monitor is there in the list. If not you can add/update the pattern.
Figure 5 : Process patterns for container application monitoring
-
Auto Instrumentation rules: Configure the rules by clicking edit icon.
-
On Auto Instrument Rules prompt, click on Add Rules. Specify the Rule Name, Pod label details of the pod where you want the instrumentation to run, and select container from Container Selection list. This is shown in Figure 6
-
Click Add to add the rule to the list as shown in Figure 7.
-
Click on Update to update the list of instrumentation rules.
-
-
-
In Container Image details section, provide the details as shown in the Figure 8, and described below.
Figure 8 : Specifying the details for images
-
Registry URL: Provide the URL of image registry from where the images will be pulled. It can be public or private registry,
-
eG Universal agent operator image: Provide the name and version of eg agent image.
-
Helm Chart Version: Helm chart is a package manager which bundles all Kubernetes resources, Specify the version of Helm chart being used.
-
Container agent image: Specify the name of image for container agent.
-
Java profiler image: Java profiler will be used for Java based application instrumentation. Specify the name of Java profiler.
-
NodeJS profiler image: NodeJS profiler will be used for NodeJS based application instrumentation. Specify the name of NodeJS profiler.
-
Agent JVM memory: Specify the amount of memory which will be available for use for Agent JVM.
-
Agent memory request: Specify the amount of memory agent can use for storing requests,
-
Agent memory limit: Specify the limit for memory which agent can use from pod.
-
Agent CPU request: Specify how much CPU time, the agent can consume for request processing.
-
Agent CPU limit: Specify the limit of CPU usage for agent.
-
Types of workload to auto instrument: Specify what kind of workloads you want to monitor through auto instrumentation, select Replicaset, or Statefulset or both.
-
-
Click Next, from the next screen copy the auto generated command text as shown in and run to install eG agent. You can choose either of two approaches, Helm or operator manifest.
Figure 9 : eG agent installation
If you want to monitor only Worker/Master node then select Selective Monitoring, below steps describe how to set up Selective Monitoring.
To set up Selective Monitoring, follow the steps below (For example we are taking Container Applications):
-
On the next page, choose installation method and Kubernetes in Platform. This is shown in Figure 10.
-
Review the container details and specify the cluster and namespace details.
-
Go to Deploy container agent as shown in Figure 11 and run the command to deploy the agent on worker nodes.