opentelemetry-java-examples icon indicating copy to clipboard operation
opentelemetry-java-examples copied to clipboard

Executing otlp/OtlpExporterExample, otel-collector error: 2024-04-03T08:54:58.583Z error exporterhelper/queue_sender.go:101 Exporting failed. Dropping data. {"kind": "exporter", "data_type": "traces", "name": "otlp/jaeger", "error": "not retryable error: Permanent error: rpc error: code = Unimplemented desc = unknown service opentelemetry.proto.collector.trace.v1.TraceService", "dropped_items": 3}

Open Ruanjq98 opened this issue 1 year ago • 6 comments

docker-otel-collector-1

Attributes:
     -> exampleNumber: Int(2)
     -> good: Bool(true)
        {"kind": "exporter", "data_type": "traces", "name": "logging"}
2024-04-03T08:54:58.583Z        error   exporterhelper/queue_sender.go:101      Exporting failed. Dropping data.        {"kind": "exporter", "data_type": "traces", "name": "otlp/jaeger", "error": "not retryable error: Permanent error: rpc error: code = Unimplemented desc = unknown service opentelemetry.proto.collector.trace.v1.TraceService", "dropped_items": 3}

It seems that docker-otel-collector-1 is not able to push data to jaeger, jaeger rejects it.

Runs completely with the demo, didn't modify anything.

Ruanjq98 avatar Apr 03 '24 09:04 Ruanjq98

Did you solve it ????

janyao520 avatar Apr 18 '24 11:04 janyao520

Also ran into this issue. Did you manage to solve it?

Attributes:
      ...
      -> http.target: Str(/api/rolldice)
      -> net.protocol.version: Str(1.1)
      -> http.route: Str(/api/rolldice)
      -> http.response_content_length: Int(32)
      -> http.status_code: Int(200)
     {"kind": "exporter", "data_type": "traces", "name": "debug"}
    error   exporterhelper/queue_sender.go:101      Exporting failed. Dropping data.        {"kind": "exporter", "data_type": "traces", "name": "otlp", "error": "not retryable error: Permanent error: rpc error: code = Unimplemented desc = unknown service opentelemetry.proto.collector.trace.v1.TraceService", "dropped_items": 2}
 go.opentelemetry.io/collector/exporter/exporterhelper.newQueueSender.func1
     go.opentelemetry.io/collector/[email protected]/exporterhelper/queue_sender.go:101
 go.opentelemetry.io/collector/exporter/internal/queue.(*boundedMemoryQueue[...]).Consume
     go.opentelemetry.io/collector/[email protected]/internal/queue/bounded_memory_queue.go:52
 go.opentelemetry.io/collector/exporter/internal/queue.(*Consumers[...]).Start.func1
     go.opentelemetry.io/collector/[email protected]/internal/queue/consumers.go:43

Edit: Solved. In otel-config.yaml, specify:

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

Reference

seannguyn avatar Jun 11 '24 16:06 seannguyn

I am also receiving this error

    extensions:
      memory_ballast:
        size_mib: 512
      zpages:
        endpoint: 0.0.0.0:55679
    receivers:
      otlp:
        protocols:
          grpc:
          http:
            cors:
              allowed_origins:
                - https://*.com
              allowed_headers:
                - Accept
                - Access-Control-Allow-Origin
                - Content-Type
                - Referer
    processors:
      batch:
    exporters:
      otlp/jaeger:
        endpoint: "jaeger-all-in-one.observability.svc.cluster.local:14250"
        tls:
          insecure: true
    service:
      pipelines:
        traces:
          receivers: [ otlp ]
          processors: [ batch ]
          exporters: [ otlp/jaeger ]
      extensions: [ memory_ballast, zpages ]

@seannguyn what config change is required ?

saireddyb avatar Jun 26 '24 17:06 saireddyb

@saireddyb if you are running the all in one, you should map your jaeger port to the same as your otel collector. Will work.

I'm also facing it to run inside my k8s cluster.

2024-08-13T18:44:57.911Z error exporterhelper/queue_sender.go:92 Exporting failed. Dropping data. {"kind": "exporter", "data_type": "traces", "name": "otlp/jaeger", "error": "not retryable error: Permanent error: rpc error: code = Unimplemented desc = unknown service opentelemetry.proto.collector.trace.v1.TraceService", "dropped_items": 7} go.opentelemetry.io/collector/exporter/exporterhelper.newQueueSender.func1 go.opentelemetry.io/collector/[email protected]/exporterhelper/queue_sender.go:92 go.opentelemetry.io/collector/exporter/internal/queue.(*boundedMemoryQueue[...]).Consume go.opentelemetry.io/collector/[email protected]/internal/queue/bounded_memory_queue.go:52 go.opentelemetry.io/collector/exporter/internal/queue.(*Consumers[...]).Start.func1 go.opentelemetry.io/collector/[email protected]/internal/queue/consumers.go:43

apiVersion: opentelemetry.io/v1beta1
kind: OpenTelemetryCollector
metadata:
  name: otel
spec:
  config:
    receivers:
      otlp:
        protocols:
          grpc:
            endpoint: 0.0.0.0:4317
          http:
            endpoint: 0.0.0.0:4318

    processors:
      batch: {}

    extensions:
      health_check: {}

    exporters:
      debug: {}

      otlp/jaeger:
        endpoint: "jaeger-collector.default.svc.cluster.local:14250"
        tls:
          insecure: true

    service:
      extensions: [health_check]
      pipelines:
        traces:
          receivers: [otlp]
          processors: []
          exporters: [debug, otlp/jaeger]

tcharlezin avatar Aug 13 '24 18:08 tcharlezin

Solution: By default, OTLP ports of collector are not created/exposed. You need to override it.

tcharlezin avatar Aug 14 '24 08:08 tcharlezin

I am also receiving this error

    extensions:
      memory_ballast:
        size_mib: 512
      zpages:
        endpoint: 0.0.0.0:55679
    receivers:
      otlp:
        protocols:
          grpc:
          http:
            cors:
              allowed_origins:
                - https://*.com
              allowed_headers:
                - Accept
                - Access-Control-Allow-Origin
                - Content-Type
                - Referer
    processors:
      batch:
    exporters:
      otlp/jaeger:
        endpoint: "jaeger-all-in-one.observability.svc.cluster.local:14250"
        tls:
          insecure: true
    service:
      pipelines:
        traces:
          receivers: [ otlp ]
          processors: [ batch ]
          exporters: [ otlp/jaeger ]
      extensions: [ memory_ballast, zpages ]

@seannguyn what config change is required ?

Check your jaeger otlp port, you might be configure wrong port on the exporter. Default otlp port of jaeger is 4317.

yuhbigd avatar Aug 24 '24 11:08 yuhbigd