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.

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:

  1. Go to Admin Dashboard -> Discover/Monitor.

  2. From the page titled What would you like to Discover/Monitor?, Select Kubernetes and Containers.

  3. From next page select Kubernetes, Rancher, Openshift, EKS, AKS, Tanzu, Google, you will land on below page as shown in Figure 1

    :

    Figure 1 : Monitoring Kubernetes Cluster

  4. 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.

  5. 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.

    Figure 3 : Specifying the cluster details

  6. 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

        Figure 6 : Auto instrumentation rules list

      • Click Add to add the rule to the list as shown in Figure 7.

        Figure 7 : Adding auto instrumentation rules

      • Click on Update to update the list of instrumentation rules.

  7. 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.

  8. 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):

  1. Select Container Applications from in step 3 above.

  2. On the next page, choose installation method and Kubernetes in Platform. This is shown in Figure 10.

    Figure 10 : Selective monitoring

  3. Review the container details and specify the cluster and namespace details.

  4. Go to Deploy container agent as shown in Figure 11 and run the command to deploy the agent on worker nodes.

    Figure 11 : Deploying the agent