This page describes how to install and configure the Cisco AppDynamics Distribution of OpenTelemetry Collector to monitor non-Kubernetes® Linux hosts, such as Amazon Elastic Compute Cloud, Azure Virtual Machines, and bare-metal Linux machines.

To configure the Cisco AppDynamics Distribution of OpenTelemetry Collector to monitor Kubernetes Linux hosts, see Cisco AppDynamics Collectors Settings.

  • This page is intended for users who want to use and configure the Cisco AppDynamics Distribution of OpenTelemetry Collector independently of Host Monitoring.
  • The Cisco AppDynamics Distribution of OpenTelemetry Collector is intended to be used with OTLP metric and trace sources, such as Cisco Cloud Observability Collectors and OpenTelemetry™ Tracers.

Before You Begin

Before installing the Cisco AppDynamics Distribution of OpenTelemetry Collector, ensure that you meet the following requirements:

  • You have access to the following ports:
    • 4317 (to receive OTLP data over gRPC)
    • 4318 (to receive OTLP data over HTTP)
    • 13133 (Health Check extension)
    • 55679 (zPages extension)

  • You have allowlisted the package management URL and the Cisco AppDynamics Distribution of OpenTelemetry Collector endpoint.

Configuration Options

The default configuration file used for the Cisco AppDynamics Distribution of OpenTelemetry Collector is located in /opt/appdynamics/appdotelcol/config.yaml.

This service reads configurations from the following variables set in the /opt/appdynamics/appdynamics.conf file:

VariableRequiredDescription
APPD_OTELCOL_CLIENT_IDYes

Defines the client ID for authenticating with Cisco Cloud Observability.

APPD_OTELCOL_CLIENT_SECRETYes

Defines the secret string in plaintext for authenticating with Cisco Cloud Observability.

APPD_OTELCOL_TOKEN_URLYes

Defines the URL the collector retrieves Oauth2 tokens from.

APPD_OTELCOL_ENDPOINT_URLYesDefines the endpoint the collector sends data to.
APPD_OTELCOL_EXTRA_CONFIGNo

Defines the location of an overwritten configuration file. The value of APPD_OTELCOL_EXTRA_CONFIG must be --config=provider:, where provider can be file, http, or yaml. See https://github.com/open-telemetry/opentelemetry-collector/blob/main/confmap/README.md.

This variable is used to support multiple configuration files. If you have an additional configuration file that must be used, APPD_OTELCOL_EXTRA_CONFIG can be used to extend and override the collector's configuration. You can specify a value for APPD_OTELCOL_EXTRA_CONFIG to define the location of an additional configuration file, whose content will be merged to the default configuration file. The content from the additional configuration file will take higher precedence. If the same configuration exists in the default file, it will be overwritten by the configuration in the additional file.

The overwritten configuration file must be located in the /opt/appdynamics folder to be accessed by Cisco Cloud Observability users. If the file is not in the /opt/appdynamics folder, you must grant access permissions for Cisco Cloud Observability users.

Example /opt/appdynamics/appdynamics.conf file:

APPD_OTELCOL_CLIENT_ID=81e_ddb3e1b3b4a63905ab14f6effb3
APPD_OTELCOL_CLIENT_SECRET=f95675b5dc248ac_a_e9344_bca04efbe7743
APPD_OTELCOL_TOKEN_URL=https://env.test.saas.appd-test.com/auth/123/default/oauth2.token
APPD_OTELCOL_ENDPOINT_URL=https://env.test.saas.appd-test.com/data
APPD_OTELCOL_EXTRA_CONFIG=--config=file:/opt/appdynamics/extra.yaml
CODE

Deploy the Cisco AppDynamics Distribution of OpenTelemetry Collector in Amazon EC2 (Linux)

These are the high-level steps:

  1. Create the configuration file
  2. Install the Cisco AppDynamics Distribution of OpenTelemetry Collector

1. Create the Configuration File

  1. Obtain the configuration values from the Cisco Cloud Observability UI:

    1. Log into the Cisco Cloud Observability UI.
    2. Use the left-hand navigation panel to navigate to Configure > Databases and Hosts.
    3. Enter your credential set name and click Generate.
    4. Keep this page open.
  2. Create the /opt/appdynamics/appdynamics.conf file. Provide the configuration values from the previous step.

    mkdir -p /opt/appdynamics 
    touch /opt/appdynamics/appdynamics.conf 
    cat > /opt/appdynamics/appdynamics.conf << EOF 
    APPD_OTELCOL_CLIENT_ID=<client-id>
    APPD_OTELCOL_CLIENT_SECRET=<secret>
    APPD_OTELCOL_TOKEN_URL=<auth-endpoint>
    APPD_OTELCOL_ENDPOINT_URL=<data-endpoint>
    EOF
    BASH
  3. (Optional) Set up a proxy. If you are using a HTTP- or HTTPS-based proxy, add the following variables to /opt/appdynamics/appdynamics.conf:

    VariableDescription
    HTTP_PROXYIf you are using a HTTP-based proxy, set this environment variable to the URL of the proxy. Example: HTTP_PROXY="http://myproxy/".
    HTTPS_PROXYIf you are using a HTTPS-based proxy, set this environment variable to the URL. of the proxy. Example: HTTPS_PROXY="https://myproxy/".

2. Install the Cisco AppDynamics Distribution of OpenTelemetry Collector

Before starting this step, you must create the /opt/appdynamics/appdynamics.conf file described in Create the Configuration File.

  1. Add the Cisco Cloud Observability repository:

    sudo sh -c 'cat > /etc/yum.repos.d/artifactory.repo << EOF
    [Artifactory]
    name=Artifactory 
    baseurl=https://appdynamics.jfrog.io/artifactory/rpm-hosted/
    enabled=1
    gpgcheck=0
    EOF'
    CODE
  2. Refresh the repository:

    sudo yum update
    CODE
  3. Install the Cisco AppDynamics Distribution of OpenTelemetry Collector:

    sudo yum install appdotelcol
    CODE
  4. The installation should start the Cisco AppDynamics Distribution of OpenTelemetry Collector as a service named appdotelcol.service. To check the status, run the following command: 

    systemctl status appdotelcol.service
    BASH
  1. Add the Cisco Cloud Observability repository:

    sudo sh -c "echo 'deb [trusted=yes] https://appdynamics.jfrog.io/artifactory/deb-hosted/ appdynamics main' >> /etc/apt/sources.list"
    CODE
  2. Refresh the repository:

    sudo apt-get update
    CODE


  3. Install the Cisco AppDynamics Distribution of OpenTelemetry Collector:

    sudo apt-get install appdotelcol
    CODE
  4. The installation should start the Cisco AppDynamics Distribution of OpenTelemetry Collector as a service named appdotelcol.service. To check the status, run the following command: 

    systemctl status appdotelcol.service
    BASH

Update the Configuration File

  1. Open the /opt/appdynamics/appdynamics.conf file. Modify the configuration options.
  2. Run the following command:

    systemctl restart appdotelcol.service
    BASH

OpenTelemetry™ Data Transport

The appdotelcol.service facilitates the transport of OpenTelemetry™-formatted traces and metrics to Cisco Cloud Observability through the following endpoints:

  • 0.0.0.0:4317 — To receive the OpenTelemetry™ data over gRPC
  • http://0.0.0.0:4318 — To receive OpenTelemetry™ data over HTTP

View Diagnostics

View Logs

The Cisco AppDynamics Distribution of OpenTelemetry Collector is managed as a system service (appdotelcol.service). Therefore, the logs from the service are written by syslog to /var/logs. To view the logs, run the following command: 

journalctl -u appdotelcol.service 
BASH

View Status

To query the status of the system service, run the following command:

systemctl status appdotelcol.service
BASH

Health Check Extension

The Health Check extension is packaged and enabled by default. It provides an HTTP endpoint (0.0.0.0:13133) that can be probed to check the health status.

zPages Extension

The zPages extension is enabled by default. It provides an HTTP endpoint that provides live data for debugging different components that are properly instrumented for debugging. This extension enables users to view in-process diagnostics and removes dependencies on backend to examine traces or metrics. See https://github.com/open-telemetry/opentelemetry-collector/blob/main/extension/zpagesextension/README.md#zpages.

Next Steps

Once the Cisco AppDynamics Distribution of OpenTelemetry Collector is deployed, it receives data from various data sources and forwards the data with annotations, performance optimizations, and authentications to the Cisco Cloud Observability backend. It then populates the Observe page with entity-centric pages (ECPs). You can now monitor the health and performance of your Amazon Elastic Compute Cloud.

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.

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