Skip to content

[beats receivers] Eliminate the need for the otelconsumer output and queue #44105

@cmacknz

Description

@cmacknz

This is a follow up from #44009 (comment) which identifies that we need more concurrent uses of the ConsumeLogs() function in the existing otelconsumer output.

A valid collector configuration today looks like and includes an output key that creates an instance of the otelconsumer output and requires the entire Beat pipeline including the queue to be duplicated inside the receiver.

  filebeatreceiver:
    filebeat:
      inputs:
        - type: benchmark
          enabled: true
          count: 1
          message: {{.Message}}
    output:
      otelconsumer:
    logging:
      level: info
      selectors:
        - '*'
    path.home: /tmp
exporters:
  file/no_rotation:
    path: /tmp/output
service:
  pipelines:
    logs:
      receivers: [filebeatreceiver]
      exporters: [file/no_rotation]

Evaluate if the otelconsumer output and the Beat internal queue can be removed. The largest impact is expected to be on the flow of acknowledgements through the Beat which need to remain correct after this change. The format conversions done by the otelconsumer output will need to remain in the Beat, perhaps as part of the pipeline publish client.

Sub-issues

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions