Try it free

Ingest Jaeger data with the OTel Collector

  • Latest Dynatrace
  • How-to guide
  • 1-min read

The following configuration example shows how you configure a Collector instance to accept Jaeger data, transform it to OTLP, and send it to the Dynatrace backend.

Prerequisites

  • One of the following Collector distributions with the Jaeger receiver:
    • The Dynatrace OTel Collector
    • OpenTelemetry Contrib
    • A custom Builder version
  • The Dynatrace API endpoint URL to which the data should be exported
  • An API token with the relevant access scope (only required for SaaS and ActiveGate)

See Collector Deployment and Collector Configuration on how to set up your Collector with the configuration below.

Demo configuration

receivers:
jaeger:
protocols:
grpc:
exporters:
otlp_http:
endpoint: ${env:DT_ENDPOINT}
headers:
Authorization: "Bearer ${env:DT_PLATFORM_TOKEN}"
service:
pipelines:
traces:
receivers: [jaeger]
processors: []
exporters: [otlp_http]

Assign the scope that matches your signal type: openpipeline:logs:ingest for logs, openpipeline:metrics:ingest for metrics, or openpipeline:traces:ingest for traces.

receivers:
jaeger:
protocols:
grpc:
exporters:
otlp_http:
endpoint: ${env:DT_ENDPOINT}
headers:
Authorization: "Api-Token ${env:DT_API_TOKEN}"
service:
pipelines:
traces:
receivers: [jaeger]
processors: []
exporters: [otlp_http]
Configuration validation

Validate your settings to avoid any configuration issues.

Components

For our configuration, we configure the following components.

Receivers

Under receivers, we specify the jaeger receiver as active receiver component for our Collector instance.

The Jaeger receiver can be customized with a few more attributes, which we leave with their default values in our example.

Exporters

Under exporters, we specify the default otlp_http exporter and configure it with our Dynatrace API URL and the required authentication token.

For this purpose, 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:

    • Platform token: DT_PLATFORM_TOKEN contains your platform token with the openpipeline:traces:ingest scope.
    • Classic access token: DT_API_TOKEN contains your Classic access token with the Ingest OpenTelemetry traces (openTelemetryTrace.ingest) scope.

Service pipelines

Under service, we eventually assemble our receiver and exporter objects into a traces pipeline, which will handle our Jaeger transformation to OTLP.

Related topics

  • Enrich ingested data with Dynatrace-specific fields
  • Enrich OTLP requests with Kubernetes data
Related tags
Application Observability