Skip to content

New component: New component: Add RocketMQ Receiver to OpenTelemetry Collector Contrib #37155

Open
@VenuEmmadi

Description

@VenuEmmadi

The purpose and use-cases of the new component

The RabbitMQ Receiver for the OpenTelemetry Collector is designed to consume telemetry data (traces, metrics, and logs) from RabbitMQ queues. It enables organizations using RabbitMQ for message-driven architectures to seamlessly integrate telemetry data into their OpenTelemetry pipelines, improving observability and operational insights.

Example configuration for the component

RabbitMQ Receiver Configuration

Example Configuration

receivers:
  rabbitmq:
    host: "localhost"            # RabbitMQ server hostname or IP address
    port: 5672                   # RabbitMQ server port (default: 5672)
    username: "user"             # Username for RabbitMQ authentication (default: guest)
    password: "secret"           # Password for RabbitMQ authentication (default: guest)
    virtual_host: "/"            # RabbitMQ virtual host (default: /)
    queue: "telemetry-queue"     # Name of the RabbitMQ queue to consume messages from
    exchange:                    # Optional exchange configuration
      name: "telemetry-exchange" # Name of the exchange to bind to
      type: "direct"             # Type of exchange (direct, topic, fanout, headers)
      routing_key: "telemetry-key" # Routing key for message filtering (optional for fanout exchanges)
    encoding: "otlp_proto"       # Encoding format for payloads (otlp_proto, otlp_json, raw, json, text)
    telemetry_types:             # Enables or disables specific telemetry types (traces, metrics, logs)
      traces: true               # Process messages as traces
      metrics: true              # Process messages as metrics
      logs: false                # Disable logs processing
    prefetch_count: 10           # Maximum number of unacknowledged messages (default: 1)
    connection_timeout: 30s      # Timeout for establishing a connection (default: 10s)
    message_marking:             # Configures message acknowledgment behavior
      after: true                # Mark messages after pipeline processing
      on_error: false            # Skip marking messages if an error occurs
    header_extraction:           # Extracts RabbitMQ message headers as resource attributes
      extract_headers: true      # Enable header extraction
      headers:                   # List of headers to extract (exact match, no regex)
        - "header1"
        - "header2"

Telemetry data types supported

Traces, Metrics and Logs

Code Owner(s)

@VenuEmmadi

Sponsor (optional)

No response

Additional context

I will be working on this receiver.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Sponsor NeededNew component seeking sponsor

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions