Search code examples
docker-composejaegeropen-telemetry-collector

Error when running OTEL collector with Jaeger in Docker containers


I'm trying to run jaeger and an OTEL collector as docker containers. Unfortunately I run into the following error message:

otel-collector | Error: failed to get config: cannot unmarshal the configuration: 1 error(s) decoding: error decoding 'exporters': unknown type: "jaeger" for id: "jaeger" (valid values: [logging otlp otlphttp file kafka prometheus debug opencensus prometheusremotewrite zipkin])

My docker compose file looks as follows: `

version: '3'
services:
  otel-collector:
    container_name: otel-collector
    image: otel/opentelemetry-collector
    command: ["--config=/etc/otel-collector-config.yaml"]
    volumes:
      - ./Configuration/collector-config.yaml:/etc/otel-collector-config.yaml
    ports:
      - "4317:4317"

  jaeger:
    container_name: jaeger
    image: jaegertracing/all-in-one
    ports:
      - "16686:16686"
      - "14250"

The config file for the collector looks as follows:

receivers:
  otlp:
    protocols:
      grpc:
processors:
  batch:
exporters:
  logging:
    loglevel: debug
  jaeger:
    endpoint: jaeger:14250
    tls:
      insecure: true
service:
  pipelines:
    traces:
      receivers: [otlp]
      processors: [batch]
      exporters: [logging, jaeger]

Any thoughts as to what I am doing wrong?


Solution

  • Jaeger is not a valid exporter for the latest otelm collector. Currently the following exports are allowed:

    • debug
    • logging
    • otlp
    • azuredataexplorer
    • googlecloud
    • influxdb
    • prometheusremotewrite
    • datadog
    • instana
    • mezmo
    • sapm
    • signalfx
    • otlphttp
    • azuremonitor
    • cassandra
    • dataset
    • opencensus
    • awscloudwatchlogs
    • googlemanagedprometheus
    • logicmonitor
    • loki
    • tencentcloud_logservice
    • file
    • alibabacloud_logservice
    • awsemf
    • awskinesis
    • awsxray
    • carbon
    • clickhouse
    • dynatrace
    • loadbalancing
    • sumologic
    • f5cloud
    • kafka
    • prometheus
    • sentry
    • skywalking
    • zipkin
    • awss3
    • elasticsearch
    • logzio
    • pulsar
    • splunk_hec
    • coralogix
    • googlecloudpubsub
    • tan
    • zuobservability

    To fix, Change to otlp:

    otlp:
        endpoint: jaeger:4317
        tls:
          insecure: true
    

    Example in otelm demo chart: https://github.com/open-telemetry/opentelemetry-helm-charts/blob/0def0da3d8beb5e95840e62c614fd616694c287e/charts/opentelemetry-demo/values.yaml#L627