Skip to content

otlphttp input rejects protobuf #612

Open
@mdaniel

Description

@mdaniel

The cited OTLP log ingest does not work with modern OTLP collectors, neither in otlphttp nor oltp mode:

Given:

  exporters:
    otlphttp:
      endpoint: http://qryn.qryn.svc:3100
      tls:
        insecure: false
  service:
    extensions: [health_check]
    pipelines:
      logs:
        receivers: [ filelog, otlp ]
        processors: [batch]
        # exporters: [ otlp ]
        exporters: [ otlphttp ]

then the collector gets back a 500

2025-02-07T16:31:19.581Z error internal/queue_sender.go:84 Exporting failed. Dropping data. {"kind": "exporter", "data_type": "logs", "name": "otlphttp", "error": "not retryable error: Permanent error: rpc error: code = Unknown desc = error exporting items, request to http://qryn.qryn.svc:3100/v1/logs responded with HTTP Status Code 500", "dropped_items": 914}

$ kubectl logs deploy/qryn
error: invalid wire type 7 at offset 1
      at <anonymous> (/app/node_modules/protobufjs/src/reader.js:382:19)
      at LogsData$decode (file:///app/node_modules/@protobufjs/codegen/index.js:17:13)
      at <anonymous> (/app/parsers.js:222:45)
POST - http://qryn.qryn.svc:3100/v1/logs failed
{"level":30,"time":1738945939568,"pid":1,"hostname":"qryn-6d467bc56-mv8vz","name":"qryn","msg":"http://qryn.qryn.svc:3100/v1/logs"}
{"level":20,"time":1738945939571,"pid":1,"hostname":"qryn-6d467bc56-mv8vz","name":"qryn","msg":"parsing *"}
377 |             this.skip(4);
378 |             break;
379 |
380 |         /* istanbul ignore next */
381 |         default:
382 |             throw Error("invalid wire type " + wireType + " at offset " + this.pos);
                        ^
error: invalid wire type 7 at offset 1
      at <anonymous> (/app/node_modules/protobufjs/src/reader.js:382:19)
      at LogsData$decode (file:///app/node_modules/@protobufjs/codegen/index.js:17:13)
      at <anonymous> (/app/parsers.js:222:45)
POST - http://qryn.qryn.svc:3100/v1/logs failed

  • ghcr.io/open-telemetry/opentelemetry-collector-releases/opentelemetry-collector-contrib:0.119.0
  • ghcr.io/metrico/qryn:bun

The ghcr.io/metrico/qryn:bun image has its version annotation mangled: "dev.qryn.image.version": "{{github.event.inputs.TAG_NAME || github.event.release.tag_name }}", but since the image ships the entire .git directory: $ cat .git/HEAD -> eebd278

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions