This documentation mentions features that are currently in the early access phase. Cisco AppDynamics makes no warranties regarding these features, including performance, quality, or availability, and reserves the right to change the features and its documentation including the content herein at any time before making them generally available as well as never making them generally available. Any buying decisions should be made based on features and products that are currently generally available.

OpenTelemetry Collectors act as the service pipeline by gathering telemetry data from your applications and exporting it to a backend. You can either use a Cisco AppDynamics Distribution of OpenTelemetry Collector or configure your existing OpenSource OpenTelemetry Collector to sends logs to the Cisco Cloud Observability backend.

Use Cisco AppDynamics Distribution of OpenTelemetry Collector

If you don't have any existing OpenTelemetry collector, Cisco AppDynamics Distribution of OpenTelemetry Collector is the preferable collector. To configure, see Cisco AppDynamics Distribution of OpenTelemetry Collector Settings.

Use an Existing OpenSource OpenTelemetry Collector

If you are using an existing OpenSource OpenTelemetry Collector to send logs data, modify these sections of your existing OpenTelemetry Collector configuration file:

  • Extensions: Configure the oauth2client extension to authenticate to the Cisco Cloud Observability backend.
  • Exporters: Configure the logs_endpoint to send logs data to the Cisco Cloud Observability backend.
  • Service: Configure the service pipeline to include the required receivers, processors, extensions, and exporters.

You do not need to modify the receivers section of the OpenTelemetry Collection configuration file to add support for Cisco Cloud Observability.

Points to Consider for OpenSource OpenTelemetry Collector

  • You are using the Contrib version (>=0.36.0) OpenTelemetry Collector, which supports the oauth2clientextension. The GA version of OpenTelemetry Collector does not support the oauth2client extension at this time.
  • If you require a customized version of the OpenTelemetry Collector, ensure that these components are included:
    • OTLP HTTP Exporter >= v0.36.0
    • OTLP Receiver >= v0.36.0
    • OAuth2 Client Extension >= v0.36.0 .

      The OpenSource OpenTelemetry Collector that you are using needs to support the oauth2clientauthextension. This extension is used to authenticate the OpenSource OpenTelemetry Collector exporter with the  Cisco Cloud Observability backend. The oauth2clientauthextension is configured in the extension section of your OpenTelemetry Collector configuration.

Configure Extensions

You can follow the steps described here to generate OAuth 2.0 credentials and then configure in the extensions/oauth2client section of your OpenTelemetry Collector configuration file.

extensions:
  oauth2client:
    client_id: <clientId from UI>
    client_secret: <clientSecret from UI>
    token_url: <tokenUrl from UI>
CODE

Configure Exporters

To configure the OpenTelemetry Collector to send logs to the Cisco Cloud Observability backend, configure an otlphttp (HTTP) exporter set the logs_endpoint and enable the OAuth2 authenticator.
In the following sample, 
<tenantHostName> is the host name from the tokenUrl value generated in the Cisco Cloud Observability UI.

For example, if the tokenUrl is https://mytenant.observe.appdynamics.com/auth/dfdbdf71-7322-44d0-0123456789012/default/oauth2/token, set the logs_endpoint to https://mytenant.observe.appdynamics.com/data/v1/logs:

exporters:
  otlphttp: #### Mandatory for Cisco Cloud Observability
    auth:
      authenticator: oauth2client
    logs_endpoint: https://<tenantHostName>/data/v1/logs
CODE

Configure Service

To configure the service section: 

  • Add oauth2client to service/extensions
  • Add each exporter (otlphttp, and optionally logging) to service/pipelines

service:
  extensions: #### Mandatory for Cisco Cloud Observability
    - oauth2client
  pipelines:
    logs:
      receivers: [otlp]
      exporters: [otlphttp]
CODE