The following configuration example shows how to configure a Collector instance to send telemetry data to multiple backends at the same time.
See Collector Deployment and Collector Configuration on how to set up your Collector with the configuration below.
receivers:otlp:protocols:grpc:endpoint: 0.0.0.0:4317http:endpoint: 0.0.0.0:4318exporters:otlp_http/dynatrace:endpoint: ${env:DT_ENDPOINT}headers:Authorization: "Bearer ${env:DT_PLATFORM_TOKEN}"otlp_grpc/coldstorage:endpoint: my.coldstorage.example:4317service:pipelines:traces:receivers: [otlp]processors: []exporters: [otlp_http/dynatrace, otlp_grpc/coldstorage]metrics:receivers: [otlp]processors: []exporters: [otlp_http/dynatrace, otlp_grpc/coldstorage]logs:receivers: [otlp]processors: []exporters: [otlp_http/dynatrace, otlp_grpc/coldstorage]
Assign the scope that matches your signal type: openpipeline:logs:ingest for logs, openpipeline:metrics:ingest for metrics, or openpipeline:traces:ingest for traces.
Validate your settings to avoid any configuration issues.
For our configuration, we configure the following components.
Under receivers, we specify the otlp receiver as the active receiver component for our Collector instance.
Under exporters, we specify the following exporter instances for our backends.
otlp_http exporter for Dynatraceotlp exporter for the cold storage systemFor the Dynatrace exporter, we set the following two environment variables and reference them in the configuration values for endpoint and Authorization.
DT_ENDPOINT contains the base URL of the Dynatrace API endpoint (for example, https://{your-environment-id}.live.dynatrace.com/api/v2/otlp).
One token variable, depending on the token type you use:
DT_PLATFORM_TOKEN contains your platform token with the openpipeline:logs:ingest, openpipeline:metrics:ingest, and openpipeline:traces:ingest scopes.DT_API_TOKEN contains your Classic access token with the Ingest logs (logs.ingest), Ingest metrics (metrics.ingest), and Ingest OpenTelemetry traces (openTelemetryTrace.ingest) scopes.Under service, we eventually assemble our receiver and exporter objects into pipelines, which accept any OTLP request (HTTP and gRPC) and forward it to the configured backends, using the configured exporters.
Data is ingested using the OpenTelemetry protocol (OTLP) via the Dynatrace OTLP APIs and is subject to the API's limits and restrictions. For more information see: