This page describes how to configure your OpenTelemetry Collector to send trace data to the Cisco AppDynamics Distribution of OpenTelemetry Collector.
The configuration described on this page assumes that:
- Your services are running in a supported Kubernetes® cluster. See Software Requirements.
- You have installed Kubernetes and App Service Monitoring using Helm charts. See Install Kubernetes and App Service Monitoring.
- Your services are instrumented with OpenTelemetry™, using an agent or SDK.
- You have deployed an OpenTelemetry Collector, which your services are sending trace data to.
Error rendering macro 'excerpt-include'
User 'null' does not have permission to view the page.
The following table lists the endpoint values you configure in the exporter section of the OpenTelemetry Collector YAML configuration, depending on whether you want to use a secure connection and the target protocol (HTTP or gRPC). The endpoints use the Collector service in the appdynamics
namespace, created by the Kubernetes and App Service Monitoring Helm charts.
Endpoint | Insecure | Secure |
---|
gRPC | http://appdynamics-otel-collector-service.appdynamics.svc.cluster.local:4317 | https://appdynamics-otel-collector-service.appdynamics.svc.cluster.local:4317 |
HTTP | http://appdynamics-otel-collector-service.appdynamics.svc.cluster.local:4318 | https://appdynamics-otel-collector-service.appdynamics.svc.cluster.local:4318 |
To specify the protocol for the instrumentation agent, set the environment variable OTEL_EXPORTER_OTLP_PROTOCOL=<protocol>
. Replace <protocol>
with grpc
, http/protobuf
, and/or http/json
. The selected transportation protocol should match the endpoint exposed by the Cisco AppDynamics Distribution of OpenTelemetry Collector. For example, gRPC should use the endpoint with port 4317 and HTTP should use the endpoint with port 4318.
In this OpenTelemetry Collector configuration example, the endpoint is configured to use an insecure connection and the gRPC protocol:
receivers:
otlp:
protocols:
grpc:
http:
processors:
batch:
exporters:
otlp:
endpoint: http://appdynamics-otel-collector-service.appdynamics.svc.cluster.local:4317
extensions:
health_check:
pprof:
zpages:
service:
extensions: [health_check,pprof,zpages]
pipelines:
traces:
receivers: [otlp]
processors: [batch]
exporters: [otlp]
metrics:
receivers: [otlp]
processors: [batch]
exporters: [otlp]
logs:
receivers: [otlp]
processors: [batch]
exporters: [otlp]
YML
For a secure connection, set the endpoint as shown:
- name: OTEL_EXPORTER_OTLP_PROTOCOL
value: grpc
- name: OTEL_EXPORTER_OTLP_ENDPOINT
value: https://appdynamics-otel-collector-service.appdynamics.svc.cluster.local:4317
CODE
- name: OTEL_EXPORTER_OTLP_PROTOCOL
value: http/protobuf
- name: OTEL_EXPORTER_OTLP_ENDPOINT
value: https://appdynamics-otel-collector-service.appdynamics.svc.cluster.local:4318
CODE
For an insecure connection, set the endpoint as shown:
- name: OTEL_EXPORTER_OTLP_PROTOCOL
value: grpc
- name: OTEL_EXPORTER_OTLP_ENDPOINT
value: http://appdynamics-otel-collector-service.appdynamics.svc.cluster.local:4317
CODE
- name: OTEL_EXPORTER_OTLP_PROTOCOL
value: http/protobuf
- name: OTEL_EXPORTER_OTLP_ENDPOINT
value: http://appdynamics-otel-collector-service.appdynamics.svc.cluster.local:4318
CODE
OpenTelemetry™ and Kubernetes® (as applicable) are trademarks of The Linux Foundation®.