This page describes how to install Kubernetes and App Service Monitoring in Amazon Elastic Kubernetes Service (EKS) using the Cisco Cloud Observability AWS Marketplace add-ons.

Amazon EKS is a managed Kubernetes service used to run Kubernetes in the AWS cloud and on-premises data centers. Splunk AppDynamics provides two add-ons that can be added to existing EKS clusters to automatically install Kubernetes and App Service Monitoring on the cluster. This streamlined installation process does not require using Helm chart commands.

This document contains references to third-party documentation. Splunk AppDynamics does not own any rights and assumes no responsibility for the accuracy or completeness of such third-party documentation.

Before You Begin

Before installing Kubernetes and App Service Monitoring, ensure that:

  • You are using a supported Amazon EKS version (1.23-1.28).
  • You have set up and are connected to the Amazon EKS cluster that you want to monitor.

Hardware Requirements

The default hardware settings are:

ComponentCPUMemorySupported PlatformsPer cluster or node

Cisco AppDynamics Distribution of OpenTelemetry Collector*

200m1024MiB

Linux AMD64

Per node (Kubernetes DaemonSet)

Splunk AppDynamics Operator

200m128MiB

Linux AMD64

Per cluster (Kubernetes Deployment)

Cisco AppDynamics Smart Agent

350m512MiB

Linux AMD64

Per cluster (Kubernetes Deployment)
Cluster Collector1000m1000MiB

Linux AMD64

Per cluster (Kubernetes Deployment)
Infrastructure Collector350m

100MiB

Linux AMD64

Per node (Kubernetes DaemonSet)

OpenTelemetry Operator for Kubernetes**

600m256MiB

Linux AMD64

Per cluster (Kubernetes Deployment)

*For throughput-specific details, see Performance and Scaling for the Cisco AppDynamics Distribution of OpenTelemetry Collector.
**OpenTelemetry Operator manager and Kube RBAC Proxy

Software Requirements

Kubernetes and App Service Monitoring is designed to run in Linux-only clusters. Kubernetes and App Service Monitoring requires:

NameURL

Cisco AppDynamics Distribution of OpenTelemetry Collector 

appdynamics/appdynamics-cloud-otel-collector:24.2.0-1451

Splunk AppDynamics Operator

appdynamics/appdynamics-cloud-operator:24.2.0-1303

Cisco AppDynamics Smart Agent 

appdynamics/appdynamics-smartagent:24.2.0-1529
Cluster Collector

appdynamics/appdynamics-cloud-k8s-monitoring:24.2.0-1923

Infrastructure Collector
  • appdynamics/infraagent-cnao:24.2.0-5093-ecs-amd64 (for ECS)
  • appdynamics/appdynamics-cloud-k8s-monitoring:24.2.0-1923 (for Kubernetes and Cloud Infrastructure)
kube-rbac-proxygcr.io/kubebuilder/kube-rbac-proxy:v0.13.1
OpenTelemetry Operator for Kubernetesghcr.io/open-telemetry/opentelemetry-operator/opentelemetry-operator:v0.89.0
ghcr.io/open-telemetry/opentelemetry-operator/target-allocator:0.89.0

Cluster Support

Kubernetes and App Service Monitoring supports Amazon EKS 1.23-1.28.

The k8s.cluster.id attribute is required to send MELT data for Kubernetes entities. By default, Splunk AppDynamics Helm charts and Collectors attach the k8s.cluster.id attribute to data from Splunk AppDynamics sources. To send data from third-party collectors, you must enrich your data with the k8s.cluster.id attribute. The k8s.cluster.id attribute must have a value equal to the UUID of the kube-system namespace.

Install Kubernetes and App Service Monitoring Using the Cisco Cloud Observability Add-Ons

These are the high-level steps:

  1. Obtain Configuration Values
  2. Set up Kubernetes Namespace and Update Configuration Files
  3. Add Cisco Cloud Observability Add-Ons

1. Obtain Configuration Values

  1. If you have already installed Kubernetes and App Service Monitoring using Helm charts:
    1. Uninstall the collectors and operators.
    2. Skip steps 2-7 and move on to Set up Kubernetes Namespace and Update Configuration Files.
      You can use your existing operators-values.yaml and collectors-values.yaml files for the remaining sections.
  2. Log into the Cisco Cloud Observability UI.
  3. Use the left-hand navigation panel to navigate to Configure > Kubernetes and APM.
  4. Under CONFIGURE DATA COLLECTORS, enter your Credential set name and Kubernetes cluster name.

    For the Kubernetes cluster name, we recommend using the actual name of your EKS cluster to make it easy to identity your deployment. You can also use your EKS cluster name for the Credential set name.

  5. Under ENABLE ADDITIONAL CONFIGURATIONS, check the boxes for Cluster Collector and Infrastructure Collector. Specify your operating system for each collector.
  6. Click Generate configuration file. This step generates the operators-values.yaml and collectors-values.yaml files.
  7. Download both files. You'll need to edit these files and provide them in the AWS Marketplace. 

A Cisco Cloud Observability account is required to use the Cisco Cloud Observability add-ons.

If you are a new customer:

  1. Sign up for a free trial of Cisco Cloud Observability. Customer support will contact you shortly to help you set up your account. Once you have access to Cisco Cloud Observability, continue with the steps below to obtain the configuration values required to configure the add-ons. 
  2. Log into the Cisco Cloud Observability UI.
  3. Use the left-hand navigation panel to navigate to Configure > Kubernetes and APM.
  4. Under CONFIGURE DATA COLLECTORS, enter your Credential set name and Kubernetes cluster name.

    For the Kubernetes cluster name, we recommend using the actual name of your EKS cluster to make it easy to identity your deployment. You can also use your EKS cluster name for the Credential set name.

  5. Under ENABLE ADDITIONAL CONFIGURATIONS, check the boxes for Cluster Collector and Infrastructure Collector. Specify your operating system for each collector.
  6. Click Generate configuration file. This step generates the operators-values.yaml and collectors-values.yaml files.
  7. Download both files. You'll need to edit these  file and provide them in the AWS Marketplace. 

2. Set up Kubernetes Namespace and Update Configuration Files

If you are an existing customer who has previously installed Kubernetes and App Service Monitoring, skip steps 1 and 2.

  1. In your Kubernetes cluster, create the Splunk AppDynamics namespace where Kubernetes and App Service Monitoring will be installed:

    kubectl create ns appdynamics
    BASH
  2. Install cert-manager:

    kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.8.0/cert-manager.yaml
    BASH
  3. Open the operators-values.yaml file and copy the clientSecret. Paste the clientSecret in the following command to create a secret in the Splunk AppDynamics namespace:

    kubectl create secret generic oauth-client-secret --from-literal=secret=<clientSecret> -n appdynamics
    CODE
  4. Fetch the cluster ID:

    kubectl get ns kube-system -o yaml
    CODE

    The cluster ID is returned in the metadata.uid key of the response. Copy the cluster ID, as you'll need to provide it for the next step.

  5. Update the operators-values.yaml file:
    1. Add a global.clusterId key. Set the value to the cluster ID you obtained in the previous step.
    2. Remove the appdynamics-smartagent.oauth.clientSecret key and replace it with:

          clientSecretEnvVar:
            valueFrom:
              secretKeyRef:
                name: "oauth-client-secret"
                key: "secret"
      YML
    3. Save the file. Your final operators-values.yaml should look like this:

      operators-values.yaml

      global:
        clusterName: <clusterName>
        clusterId: <clusterId>
      
      appdynamics-smartagent:
        solution:
          endpoint: <endpoint>
        oauth:
          clientId: <clientId>
          clientSecretEnvVar:
            valueFrom:
              secretKeyRef:
                name: "oauth-client-secret"
                key: "secret"
          tokenUrl: <tokenUrl>
          tenantId: <tenantId>
      YML
  6. Update the collectors-values.yaml file:
    1. Add a global.clusterId key. Set the value to the cluster ID you obtained in step 4.
    2. Remove the appdynamics-smartagent.oauth.clientSecret key and replace it with:

          clientSecretEnvVar:
            valueFrom:
              secretKeyRef:
                name: "oauth-client-secret"
                key: "secret"
      YML
    3. Save the file. Your final collectors-values.yaml file should look like this:

      collectors-values.yaml

      global:
        clusterName: <clusterName>
        clusterId: <clusterId>
      
      appdynamics-otel-collector:
        clientId: <clientId>
        clientSecretEnvVar:
          valueFrom:
            secretKeyRef:
              name: "oauth-client-secret"
              key: "secret"
        tokenUrl: <tokenUrl>
        endpoint: <endpoint>
      YML

3. Add the Cisco Cloud Observability Add-Ons

  1. Log into the AWS Management Console. Open the Elastic Kubernetes Service console.
  2. Add the Cisco Cloud Observability Operator add-on:

    You must add the Operator add-on before you add the Collector add-on.

    1. On the Clusters page, click the cluster that you want to monitor.
    2. Click Add-ons > Get more add-ons
    3. Search for Cisco Cloud Observability Operator. Check the box and click Next.

    4. Expand the Optional configurations settings section. In the Configuration values field, paste the contents of the operators-values.yaml file.
    5. Click Next > Create.
  3. Add the Cisco Cloud Observability Collector add-on:
    1. On the Clusters page, click the same cluster that you added the Cisco Cloud Observability Operator add-on to.
    2. Click Add-ons > Get more add-ons
    3. Search for Cisco Cloud Observability Collector. Check the box and click Next.

    4. Expand the Optional configurations settings section. In the Configuration values field, paste the contents of the collectors-values.yaml file.
    5. Click Next > Create.

Next Steps

After you install Kubernetes and App Service Monitoring, you can monitor your clusters or configure additional monitoring tools. 

Monitor Your Clusters

After a few minutes, the cluster will be instrumented and send data to Cisco Cloud Observability.

To monitor your clusters:

  1. Navigate to Cisco Cloud Observability.
  2. On the Observe page, view the Kubernetes domain.
    This domain contains links to entity-centric pages, which are UI pages that display everything of relevance (e.g., metrics, metadata, health status, events, logs, relationships) for a given entity.
  3. Click a Kubernetes entity to monitor its health and performance. For more information, see Kubernetes Entities.

Application Performance Monitoring

To monitor the applications running in your Kubernetes environment, follow the appropriate workflow from Application Performance Monitoring according to your environment. 

Events Collection 

Kubernetes events collection is enabled by default. To disable events collection or make changes to existing events, see Kubernetes Events Collection.

Advanced Installation and Configuration

For advanced settings, see:

These settings must be added to the Configuration values fields of the Cisco Cloud Observability Operator and Collector add-ons in the Amazon EKS UI.

Uninstall Kubernetes and App Service Monitoring with Amazon EKS

Uninstall Kubernetes and App Service Monitoring with Amazon EKS.

Third party names, logos, marks, and general references used in these materials are the property of their respective owners or their affiliates in the United States and/or other countries. Inclusion of such references are for informational purposes only and are not intended to promote or otherwise suggest a relationship between Splunk AppDynamics and the third party.