This page describes how to auto-instrument your services using the OpenTelemetry Operator for Kubernetes, which is installed by the Splunk AppDynamics Operator add-on pack.

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

The steps on this page assume that:

The Splunk AppDynamics Operator add-on pack installs the OpenTelemetry Operator for Kubernetes, which supports auto-instrumentation. This feature makes it simple to add the language-specific OpenTelemetry agent to a Kubernetes® deployment without requiring code changes or changes to the Kubernetes deployment spec. Auto-instrumentation can be applied to one or more namespaces and any of the deployments within a namespace that have the required annotation. 

Auto-Instrument Your Services

You can use any of the following methods to auto-instrument your services using the Spectro Cloud® Palette UI:

Auto-Instrument Your Services Using the Application Manifest

This section describes how to auto-instrument your services by adding annotations to the manifest file for the application you want to run and monitor on the cluster.

  1. Log into the Spectro Cloud Palette console.
  2. In the left-hand navigation panel, click Profiles.
  3. Select the Cluster Profile that contains the Splunk AppDynamics Operator and Collector add-on packs.
  4. Click Add Manifest.
  5. Add a Layer name.
  6. (Optional) If needed, add Layer values and Install order.
  7. Click New manifest. Add the name of your manifest and confirm it.
  8. Paste your manifest file.
  9. Under the spec > template > metadata section, add one of the following language-specific annotations to enable injection.

    Annotation

    instrumentation.opentelemetry.io/inject-java: appdynamics/appd-instrumentation
    BASH

    Example

      template:
        metadata:
          annotations:
            instrumentation.opentelemetry.io/inject-java: appdynamics/appd-instrumentation 
    JAVA

    Annotation

    instrumentation.opentelemetry.io/inject-python: appdynamics/appd-instrumentation
    PY

    Example

      template:
        metadata:
          annotations:
            instrumentation.opentelemetry.io/inject-python: appdynamics/appd-instrumentation 
    PY

    Annotation

    instrumentation.opentelemetry.io/inject-nodejs: appdynamics/appd-instrumentation
    BASH

    Example

      template:
        metadata:
          annotations:
            instrumentation.opentelemetry.io/inject-nodejs: appdynamics/appd-instrumentation 
    BASH

    Annotation

    instrumentation.opentelemetry.io/inject-dotnet: appdynamics/appd-instrumentation
    BASH

    Example

      template:
        metadata:
          annotations:
            instrumentation.opentelemetry.io/inject-dotnet: appdynamics/appd-instrumentation 
    BASH

  10. Click Confirm & Create
  11. Click Save Changes.
  12. Click Deploy.
  13. If you are instrumenting an existing application, delete the pod where your application is running. The pod will automatically restart. This step is required for the auto-instrumentation to be applied.
    If you are instrumenting a new application, the auto-instrumentation will be applied when the application is deployed. 

Auto-Instrument Your Services Using Helm Charts

This section describes how to auto-instrument your services by adding annotations to the Helm chart for your application.

  1. Log into the Spectro Cloud Palette console.
  2. In the left-hand navigation panel, click Profiles.
  3. Select the Cluster Profile that contains the Splunk AppDynamics Operator and Collector add-on packs.
  4. Click Add Helm chart. Search for and add your Helm chart.
  5. The Configure Pack page is now displayed. If needed, change the Pack Version.
  6. The values file is displayed on the right side of the page. If the podAnnotations section is not present in the values file, create it in the correct location.
  7. Under podAnnotations, add one of the following language-specific annotations:

    Annotation

    instrumentation.opentelemetry.io/inject-java: appdynamics/appd-instrumentation
    BASH

    Example

    podAnnotations:
    	instrumentation.opentelemetry.io/inject-java: appdynamics/appd-instrumentation 
    JAVA

    Annotation

    instrumentation.opentelemetry.io/inject-python: appdynamics/appd-instrumentation
    PY

    Example

    podAnnotations:
    	instrumentation.opentelemetry.io/inject-python: appdynamics/appd-instrumentation 
    PY

    Annotation

    instrumentation.opentelemetry.io/inject-nodejs: appdynamics/appd-instrumentation
    BASH

    Example

    podAnnotations:
    	instrumentation.opentelemetry.io/inject-nodejs: appdynamics/appd-instrumentation 
    BASH

    Annotation

    instrumentation.opentelemetry.io/inject-dotnet: appdynamics/appd-instrumentation
    BASH

    Example

    podAnnotations:
    	instrumentation.opentelemetry.io/inject-dotnet: appdynamics/appd-instrumentation 
    BASH

  8. Click Confirm & Create.
  9. Click Save Changes.
  10. Click Deploy.

Spectro Cloud® is a registered trademark of Spectro Cloud, Inc. Mention of Spectro Cloud products or services is for informational purposes only and constitutes neither an endorsement nor a recommendation of such products or services.

OpenTelemetry™ and Kubernetes® (as applicable) are trademarks of The Linux Foundation®.