Skip to content

[beats receivers] OTel based pipeline must continue to report queue metrics for the elastic_agent integration #8032

Open
@cmacknz

Description

@cmacknz

The primary queue when using Beats receivers is the one in the collector. We need to export queue metrics as part of self-monitoring.

Image

Ideally they are backwards compatible with the existing metrics for queue depth. If they cannot have the same names then the same semantic meaning is the next best thing. We are generally not concerned with breaking changes here.

libbeat.pipeline.events.active measures the number of events in the processing pipeline including those in processors, and has a value that can be slightly above the queue size because of this.

https://github.com/elastic/integrations/blob/037cda7c46f84ca7c1d8055105f5d7fab59fda50/packages/elastic_agent/data_stream/filebeat_metrics/fields/beat-stats-fields.yml#L194-L199

            - name: events
              type: group
              fields:
                - name: active
                  type: long
                  metric_type: counter

Direct measurements of the data in the queue were added recently, specifically with queue.filled.pct giving the queue fill level in percent directly.

https://github.com/elastic/integrations/blob/037cda7c46f84ca7c1d8055105f5d7fab59fda50/packages/elastic_agent/data_stream/filebeat_metrics/fields/beat-stats-fields.yml#L136-L193

                - name: filled.bytes
                  type: long
                  metric_type: gauge
                  description: >
                    Number of bytes filled in the queue
                - name: filled.events
                  type: long
                  metric_type: gauge
                  description: >
                    Number of events filled in the queue
                - name: filled.pct
                  type: float
                  metric_type: gauge
                  description: >
                    Percentage of the queue filled

Metadata

Metadata

Assignees

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions