Skip to main content

Rabbitmq Receiver

Status Available in: contrib Maintainers: @VenuEmmadi Source: opentelemetry-collector-contrib

Supported Telemetry

Metrics

Overview

Prerequisites

This receiver supports RabbitMQ versions 3.8 and 3.9. The RabbitMQ Management Plugin must be enabled by following the official instructions. Also, a user with at least monitoring level permissions must be used for monitoring.

Configuration

The following settings are required:
  • username
  • password
The following settings are optional:

Example Configuration

receivers:
  rabbitmq:
    endpoint: http://localhost:15672
    username: otelu
    password: ${env:RABBITMQ_PASSWORD}
    collection_interval: 10s
    metrics:  # Enable node metrics by explicitly setting them to true
      rabbitmq.node.disk_free:
        enabled: true
      rabbitmq.node.disk_free_limit:
        enabled: true
      rabbitmq.node.disk_free_alarm:
        enabled: true
      rabbitmq.node.mem_used:
        enabled: true
      rabbitmq.node.mem_limit:
        enabled: true
      rabbitmq.node.mem_alarm:
        enabled: true
      rabbitmq.node.fd_used:
        enabled: true
      rabbitmq.node.fd_total:
        enabled: true
      rabbitmq.node.sockets_used:
        enabled: true
      rabbitmq.node.sockets_total:
        enabled: true
      rabbitmq.node.proc_used:
        enabled: true
      rabbitmq.node.proc_total:
        enabled: true
      rabbitmq.node.disk_free_details.rate:
        enabled: true
      rabbitmq.node.fd_used_details.rate:
        enabled: true
      rabbitmq.node.mem_used_details.rate:
        enabled: true
      rabbitmq.node.proc_used_details.rate:
        enabled: true
      rabbitmq.node.sockets_used_details.rate:
        enabled: true
The full list of settings exposed for this receiver are documented in config.go with detailed sample configurations in testdata/config.yaml. TLS config is documented further under the opentelemetry collector’s configtls package.

Metrics

This receiver collects RabbitMQ node-level metrics from the /api/nodes endpoint. Metrics are categorized into the following groups:
  • Memory usage: rabbitmq.node.mem_used, rabbitmq.node.mem_limit, rabbitmq.node.mem_alarm
  • Disk space: rabbitmq.node.disk_free, rabbitmq.node.disk_free_limit, rabbitmq.node.disk_free_alarm
  • File descriptors & sockets: rabbitmq.node.fd_used, rabbitmq.node.sockets_used, etc.
  • Process & scheduling: rabbitmq.node.proc_used, rabbitmq.node.run_queue, rabbitmq.node.context_switches
  • Garbage collection & I/O: rabbitmq.node.gc.num, rabbitmq.node.io_read_avg_time, etc.
  • Cluster & node metadata: rabbitmq.node.uptime, rabbitmq.node.processors, etc.
Details about the metrics produced by this receiver and full list of supported metrics can be found in metadata.yaml

Metrics

Metric NameDescriptionUnitTypeAttributes
βœ… rabbitmq.consumer.countThe number of consumers currently reading from the queue.{consumers}UpDownCounter
βœ… rabbitmq.message.acknowledgedThe number of messages acknowledged by consumers.{messages}Counter
βœ… rabbitmq.message.currentThe total number of messages currently in the queue.{messages}UpDownCountermessage.state
βœ… rabbitmq.message.deliveredThe number of messages delivered to consumers.{messages}Counter
βœ… rabbitmq.message.droppedThe number of messages dropped as unroutable.{messages}Counter
βœ… rabbitmq.message.publishedThe number of messages published to a queue.{messages}Counter
❌ rabbitmq.node.channel_closedNumber of channels closed.{channels}UpDownCounter
❌ rabbitmq.node.channel_closed_details.rateRate of channels closed.{channels}/sUpDownCounter
❌ rabbitmq.node.channel_createdNumber of channels created.{channels}UpDownCounter
❌ rabbitmq.node.channel_created_details.rateRate of channels created.{channels}/sUpDownCounter
❌ rabbitmq.node.connection_closedNumber of connections closed.{connections}UpDownCounter
❌ rabbitmq.node.connection_closed_details.rateRate of connections closed.{connections}/sUpDownCounter
❌ rabbitmq.node.connection_createdNumber of connections created.{connections}UpDownCounter
❌ rabbitmq.node.connection_created_details.rateRate of connections created.{connections}/sUpDownCounter
❌ rabbitmq.node.context_switchesTotal number of context switches.{switches}UpDownCounter
❌ rabbitmq.node.context_switches_details.rateRate of context switches.{switches}/sUpDownCounter
❌ rabbitmq.node.disk_freeFree disk space on the node.{bytes}UpDownCounter
❌ rabbitmq.node.disk_free_alarmWhether disk usage has triggered an alarm.{status}UpDownCounter
❌ rabbitmq.node.disk_free_details.rateRate of disk usage change.{bytes}/sUpDownCounter
❌ rabbitmq.node.disk_free_limitMinimum required free disk space before alarm.{bytes}UpDownCounter
❌ rabbitmq.node.fd_totalMaximum number of file descriptors available.{fd}UpDownCounter
❌ rabbitmq.node.fd_usedNumber of file descriptors used.{fd}UpDownCounter
❌ rabbitmq.node.fd_used_details.rateRate of file descriptor usage.{fd}/sUpDownCounter
❌ rabbitmq.node.gc_bytes_reclaimedBytes reclaimed by garbage collection.{bytes}UpDownCounter
❌ rabbitmq.node.gc_bytes_reclaimed_details.rateRate of bytes reclaimed by GC.{bytes}/sUpDownCounter
❌ rabbitmq.node.gc_numNumber of garbage collections.{collections}UpDownCounter
❌ rabbitmq.node.gc_num_details.rateRate of garbage collections.{collections}/sUpDownCounter
❌ rabbitmq.node.io_read_avg_timeAverage read time in microseconds.{microseconds}UpDownCounter
❌ rabbitmq.node.io_read_avg_time_details.rateRate of change of average read time.{microseconds}/sUpDownCounter
❌ rabbitmq.node.io_read_bytesTotal bytes read.{bytes}UpDownCounter
❌ rabbitmq.node.io_read_bytes_details.rateRate of bytes read.{bytes}/sUpDownCounter
❌ rabbitmq.node.io_read_countNumber of read operations.{ops}UpDownCounter
❌ rabbitmq.node.io_read_count_details.rateRate of read operations.{ops}/sUpDownCounter
❌ rabbitmq.node.io_reopen_countNumber of file reopen operations.{ops}UpDownCounter
❌ rabbitmq.node.io_reopen_count_details.rateRate of file reopen operations.{ops}/sUpDownCounter
❌ rabbitmq.node.io_seek_avg_timeAverage seek time in microseconds.{microseconds}UpDownCounter
❌ rabbitmq.node.io_seek_avg_time_details.rateRate of change of average seek time.{microseconds}/sUpDownCounter
❌ rabbitmq.node.io_seek_countNumber of seek operations.{ops}UpDownCounter
❌ rabbitmq.node.io_seek_count_details.rateRate of seek operations.{ops}/sUpDownCounter
❌ rabbitmq.node.io_sync_avg_timeAverage sync time in microseconds.{microseconds}UpDownCounter
❌ rabbitmq.node.io_sync_avg_time_details.rateRate of change of average sync time.{microseconds}/sUpDownCounter
❌ rabbitmq.node.io_sync_countNumber of sync operations.{ops}UpDownCounter
❌ rabbitmq.node.io_sync_count_details.rateRate of sync operations.{ops}/sUpDownCounter
❌ rabbitmq.node.io_write_avg_timeAverage write time in microseconds.{microseconds}UpDownCounter
❌ rabbitmq.node.io_write_avg_time_details.rateRate of change of average write time.{microseconds}/sUpDownCounter
❌ rabbitmq.node.io_write_bytesTotal bytes written.{bytes}UpDownCounter
❌ rabbitmq.node.io_write_bytes_details.rateRate of bytes written.{bytes}/sUpDownCounter
❌ rabbitmq.node.io_write_countNumber of write operations.{ops}UpDownCounter
❌ rabbitmq.node.io_write_count_details.rateRate of write operations.{ops}/sUpDownCounter
❌ rabbitmq.node.mem_alarmWhether memory alarm is triggered.{status}UpDownCounter
❌ rabbitmq.node.mem_limitThe memory limit on the node.{bytes}UpDownCounter
❌ rabbitmq.node.mem_usedThe memory used on the node.{bytes}UpDownCounter
❌ rabbitmq.node.mem_used_details.rateRate of memory usage change.{bytes}/sUpDownCounter
❌ rabbitmq.node.mnesia_disk_tx_countNumber of disk transactions in Mnesia.{tx}UpDownCounter
❌ rabbitmq.node.mnesia_disk_tx_count_details.rateRate of disk transactions in Mnesia.{tx}/sUpDownCounter
❌ rabbitmq.node.mnesia_ram_tx_countNumber of RAM transactions in Mnesia.{tx}UpDownCounter
❌ rabbitmq.node.mnesia_ram_tx_count_details.rateRate of RAM transactions in Mnesia.{tx}/sUpDownCounter
❌ rabbitmq.node.msg_store_read_countNumber of message store reads.{ops}UpDownCounter
❌ rabbitmq.node.msg_store_read_count_details.rateRate of message store reads.{ops}/sUpDownCounter
❌ rabbitmq.node.msg_store_write_countNumber of message store writes.{ops}UpDownCounter
❌ rabbitmq.node.msg_store_write_count_details.rateRate of message store writes.{ops}/sUpDownCounter
❌ rabbitmq.node.proc_totalMaximum allowed Erlang processes.{processes}UpDownCounter
❌ rabbitmq.node.proc_usedNumber of Erlang processes in use.{processes}UpDownCounter
❌ rabbitmq.node.proc_used_details.rateRate of process usage.{processes}/sUpDownCounter
❌ rabbitmq.node.processorsNumber of processors available to the node.{processors}UpDownCounter
❌ rabbitmq.node.queue_createdNumber of queues created.{queues}UpDownCounter
❌ rabbitmq.node.queue_created_details.rateRate of queues created.{queues}/sUpDownCounter
❌ rabbitmq.node.queue_declaredNumber of queues declared.{queues}UpDownCounter
❌ rabbitmq.node.queue_declared_details.rateRate of queues declared.{queues}/sUpDownCounter
❌ rabbitmq.node.queue_deletedNumber of queues deleted.{queues}UpDownCounter
❌ rabbitmq.node.queue_deleted_details.rateRate of queues deleted.{queues}/sUpDownCounter
❌ rabbitmq.node.queue_index_read_countNumber of queue index reads.{ops}UpDownCounter
❌ rabbitmq.node.queue_index_read_count_details.rateRate of queue index reads.{ops}/sUpDownCounter
❌ rabbitmq.node.queue_index_write_countNumber of queue index writes.{ops}UpDownCounter
❌ rabbitmq.node.queue_index_write_count_details.rateRate of queue index writes.{ops}/sUpDownCounter
❌ rabbitmq.node.run_queueRun queue length of the Erlang scheduler.{threads}UpDownCounter
❌ rabbitmq.node.sockets_totalMaximum allowed sockets.{sockets}UpDownCounter
❌ rabbitmq.node.sockets_usedNumber of sockets in use.{sockets}UpDownCounter
❌ rabbitmq.node.sockets_used_details.rateRate of socket usage.{sockets}/sUpDownCounter
❌ rabbitmq.node.uptimeUptime of the node.msUpDownCounter

Attributes

Attribute NameDescriptionTypeValues
stateThe state of messages in a queue.stringready, unacknowledged

Resource Attributes

Attribute NameDescriptionTypeEnabled
rabbitmq.node.nameThe name of the RabbitMQ node.stringβœ…
rabbitmq.queue.nameThe name of the RabbitMQ queue.stringβœ…
rabbitmq.vhost.nameThe name of the RabbitMQ vHost.stringβœ…

Configuration

Example Configuration

rabbitmq:
  endpoint: http://localhost:15672
  username: otelu
  password: ${env:RABBITMQ_PASSWORD}
  collection_interval: 10s

Last generated: 2026-04-13