Configure Exporters

The exporter is how data is sent to the Splunk AppDynamics backend. For Splunk AppDynamics for OpenTelemetry, only HTTP is supported to transmit OTLP trace export calls. Your tracer/SDKs exporter should be based on OTLP version >= 0.9.0.

In the exporters.otlphttp section, you must configure the following attributes with the Splunk AppDynamics endpoint and API key:

exporters:
  otlphttp:
    endpoint: "<appd-endpoint>"
    headers: {"x-api-key":"<x-api-key>" }
    compression: none    # applicable only to otel-collector versions 0.44 or later.
    tls:
      insecure: false
      ca_file: /etc/ca.crt
      cert_file: /etc/server.crt
      key_file: /etc/tls.key 

For more details on <x-api-key> and <appd-endpoint> see Attribute Descriptions.

Configure Certificates

The tls section in the otel-collector configuration requires certificates to be obtained from the ingress Controller on Virtual Appliance. Perform the following steps to configure the certificates:

For OpenTelemety collector to communicate with the Virtual Appliance, you require tls certificates of the virtual appliance, these certificates are used while sending data.

Perform the following steps to configure certificates:

  1. Extract default certificates:
    Note: Administrators of Virtual Appliance nodes can extract the certificates and share the certificates with other users.
    1. Log in to any of the Virtual Appliance nodes.
    2. Navigate to the directory: /var/appd/config/helpers/
    3. Execute the ./cert-gen.sh ingress-master ingress-cert-secret command to generate certificates.
      Note:

      The certificate extraction command only works when you are using the default certificate. The default certificates do not work if you are using a custom certificate.

      Certificate Extraction Example:
      appduser@ip-10-0-0-196:/var/appd/config/helpers/$ ./cert-gen.sh ingress-master
      ingress-cert-secret
      certificates and keys have been extracted
      appduser@ip-10-0-0-196:/var/appd/config/helpers/$ ls
      cert-gen.sh
      ingress-master-ingress-cert-secret-ca.crt
      ingress-master-ingress-cert-secret-server.crt
      ingress-master-ingress-cert-secret-tls.key
  2. (Optional) If you are using custom certificates, obtain the certificates from the administrator.
  3. Copy the certificates to the machine where the OpenTelemetry Collector is configured.
  4. Mount the certificates on the OpenTelemetry Collector to the following paths:
    ingress-master-ingress-cert-secret-ca.crt -> /etc/ca.crt
    ingress-master-ingress-cert-secret-server.crt -> /etc/server.crt
    ingress-master-ingress-cert-secret-tls.key -> /etc/tls.key 
    Docker Compose Setup for Default or Custom Certificates
    otel-collector:
      image: otel/opentelemetry-collector:0.101
      container_name: otel-collector
      command: ["--config=/etc/otel-config.yaml"]
      volumes:
        - ./otel-config.yaml:/etc/otel-config.yaml
        - ./ingress-master-ingress-cert-secret-ca.crt:/etc/ca.crt
        - ./ingress-master-ingress-cert-secret-server.crt:/etc/server.crt
        - ./ingress-master-ingress-cert-secret-tls.key:/etc/tls.key