> ## Documentation Index
> Fetch the complete documentation index at: https://otel.fyi/llms.txt
> Use this file to discover all available pages before exploring further.

# Rabbitmq

> OpenTelemetry receiver for Rabbitmq

# Rabbitmq Receiver

![Status](https://img.shields.io/badge/status-beta-yellow)

**Available in:** `contrib`

**Maintainers:** [@VenuEmmadi](https://github.com/VenuEmmadi)

**Source:** [opentelemetry-collector-contrib](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/rabbitmqreceiver)

## Supported Telemetry

![Metrics](https://img.shields.io/badge/metrics-beta-green)

## Overview

## Prerequisites

This receiver supports RabbitMQ versions `3.8` and `3.9`.

The RabbitMQ Management Plugin must be enabled by following the [official instructions](https://www.rabbitmq.com/management.html#getting-started).

Also, a user with at least [monitoring](https://www.rabbitmq.com/management.html#permissions) level permissions must be used for monitoring.

## Configuration

The following settings are required:

* `username`
* `password`

The following settings are optional:

* `endpoint` (default: `http://localhost:15672`): The URL of the node to be monitored.
* `collection_interval` (default = `10s`): This receiver collects metrics on an interval. Valid time units are `ns`, `us` (or `µs`), `ms`, `s`, `m`, `h`.
* `tls`: TLS control. [By default, insecure settings are rejected and certificate verification is on](https://github.com/open-telemetry/opentelemetry-collector/blob/main/config/configtls/README.md).

### Example Configuration

```yaml theme={null}
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](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/rabbitmqreceiver/config.go) with detailed sample configurations in [testdata/config.yaml](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/rabbitmqreceiver/testdata/config.yaml). TLS config is documented further under the [opentelemetry collector's configtls package](https://github.com/open-telemetry/opentelemetry-collector/blob/main/config/configtls/README.md).

## 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](https://github.com/open-telemetry/opentelemetry-collector-contrib/tree/main/receiver/rabbitmqreceiver/metadata.yaml)

## Metrics

| Metric Name                                            | Description                                               | Unit              | Type          | Attributes    |
| ------------------------------------------------------ | --------------------------------------------------------- | ----------------- | ------------- | ------------- |
| ✅ `rabbitmq.consumer.count`                            | The number of consumers currently reading from the queue. | \{consumers}      | UpDownCounter |               |
| ✅ `rabbitmq.message.acknowledged`                      | The number of messages acknowledged by consumers.         | \{messages}       | Counter       |               |
| ✅ `rabbitmq.message.current`                           | The total number of messages currently in the queue.      | \{messages}       | UpDownCounter | message.state |
| ✅ `rabbitmq.message.delivered`                         | The number of messages delivered to consumers.            | \{messages}       | Counter       |               |
| ✅ `rabbitmq.message.dropped`                           | The number of messages dropped as unroutable.             | \{messages}       | Counter       |               |
| ✅ `rabbitmq.message.published`                         | The number of messages published to a queue.              | \{messages}       | Counter       |               |
| ❌ `rabbitmq.node.channel_closed`                       | Number of channels closed.                                | \{channels}       | UpDownCounter |               |
| ❌ `rabbitmq.node.channel_closed_details.rate`          | Rate of channels closed.                                  | \{channels}/s     | UpDownCounter |               |
| ❌ `rabbitmq.node.channel_created`                      | Number of channels created.                               | \{channels}       | UpDownCounter |               |
| ❌ `rabbitmq.node.channel_created_details.rate`         | Rate of channels created.                                 | \{channels}/s     | UpDownCounter |               |
| ❌ `rabbitmq.node.connection_closed`                    | Number of connections closed.                             | \{connections}    | UpDownCounter |               |
| ❌ `rabbitmq.node.connection_closed_details.rate`       | Rate of connections closed.                               | \{connections}/s  | UpDownCounter |               |
| ❌ `rabbitmq.node.connection_created`                   | Number of connections created.                            | \{connections}    | UpDownCounter |               |
| ❌ `rabbitmq.node.connection_created_details.rate`      | Rate of connections created.                              | \{connections}/s  | UpDownCounter |               |
| ❌ `rabbitmq.node.context_switches`                     | Total number of context switches.                         | \{switches}       | UpDownCounter |               |
| ❌ `rabbitmq.node.context_switches_details.rate`        | Rate of context switches.                                 | \{switches}/s     | UpDownCounter |               |
| ❌ `rabbitmq.node.disk_free`                            | Free disk space on the node.                              | \{bytes}          | UpDownCounter |               |
| ❌ `rabbitmq.node.disk_free_alarm`                      | Whether disk usage has triggered an alarm.                | \{status}         | UpDownCounter |               |
| ❌ `rabbitmq.node.disk_free_details.rate`               | Rate of disk usage change.                                | \{bytes}/s        | UpDownCounter |               |
| ❌ `rabbitmq.node.disk_free_limit`                      | Minimum required free disk space before alarm.            | \{bytes}          | UpDownCounter |               |
| ❌ `rabbitmq.node.fd_total`                             | Maximum number of file descriptors available.             | \{fd}             | UpDownCounter |               |
| ❌ `rabbitmq.node.fd_used`                              | Number of file descriptors used.                          | \{fd}             | UpDownCounter |               |
| ❌ `rabbitmq.node.fd_used_details.rate`                 | Rate of file descriptor usage.                            | \{fd}/s           | UpDownCounter |               |
| ❌ `rabbitmq.node.gc_bytes_reclaimed`                   | Bytes reclaimed by garbage collection.                    | \{bytes}          | UpDownCounter |               |
| ❌ `rabbitmq.node.gc_bytes_reclaimed_details.rate`      | Rate of bytes reclaimed by GC.                            | \{bytes}/s        | UpDownCounter |               |
| ❌ `rabbitmq.node.gc_num`                               | Number of garbage collections.                            | \{collections}    | UpDownCounter |               |
| ❌ `rabbitmq.node.gc_num_details.rate`                  | Rate of garbage collections.                              | \{collections}/s  | UpDownCounter |               |
| ❌ `rabbitmq.node.io_read_avg_time`                     | Average read time in microseconds.                        | \{microseconds}   | UpDownCounter |               |
| ❌ `rabbitmq.node.io_read_avg_time_details.rate`        | Rate of change of average read time.                      | \{microseconds}/s | UpDownCounter |               |
| ❌ `rabbitmq.node.io_read_bytes`                        | Total bytes read.                                         | \{bytes}          | UpDownCounter |               |
| ❌ `rabbitmq.node.io_read_bytes_details.rate`           | Rate of bytes read.                                       | \{bytes}/s        | UpDownCounter |               |
| ❌ `rabbitmq.node.io_read_count`                        | Number of read operations.                                | \{ops}            | UpDownCounter |               |
| ❌ `rabbitmq.node.io_read_count_details.rate`           | Rate of read operations.                                  | \{ops}/s          | UpDownCounter |               |
| ❌ `rabbitmq.node.io_reopen_count`                      | Number of file reopen operations.                         | \{ops}            | UpDownCounter |               |
| ❌ `rabbitmq.node.io_reopen_count_details.rate`         | Rate of file reopen operations.                           | \{ops}/s          | UpDownCounter |               |
| ❌ `rabbitmq.node.io_seek_avg_time`                     | Average seek time in microseconds.                        | \{microseconds}   | UpDownCounter |               |
| ❌ `rabbitmq.node.io_seek_avg_time_details.rate`        | Rate of change of average seek time.                      | \{microseconds}/s | UpDownCounter |               |
| ❌ `rabbitmq.node.io_seek_count`                        | Number of seek operations.                                | \{ops}            | UpDownCounter |               |
| ❌ `rabbitmq.node.io_seek_count_details.rate`           | Rate of seek operations.                                  | \{ops}/s          | UpDownCounter |               |
| ❌ `rabbitmq.node.io_sync_avg_time`                     | Average sync time in microseconds.                        | \{microseconds}   | UpDownCounter |               |
| ❌ `rabbitmq.node.io_sync_avg_time_details.rate`        | Rate of change of average sync time.                      | \{microseconds}/s | UpDownCounter |               |
| ❌ `rabbitmq.node.io_sync_count`                        | Number of sync operations.                                | \{ops}            | UpDownCounter |               |
| ❌ `rabbitmq.node.io_sync_count_details.rate`           | Rate of sync operations.                                  | \{ops}/s          | UpDownCounter |               |
| ❌ `rabbitmq.node.io_write_avg_time`                    | Average write time in microseconds.                       | \{microseconds}   | UpDownCounter |               |
| ❌ `rabbitmq.node.io_write_avg_time_details.rate`       | Rate of change of average write time.                     | \{microseconds}/s | UpDownCounter |               |
| ❌ `rabbitmq.node.io_write_bytes`                       | Total bytes written.                                      | \{bytes}          | UpDownCounter |               |
| ❌ `rabbitmq.node.io_write_bytes_details.rate`          | Rate of bytes written.                                    | \{bytes}/s        | UpDownCounter |               |
| ❌ `rabbitmq.node.io_write_count`                       | Number of write operations.                               | \{ops}            | UpDownCounter |               |
| ❌ `rabbitmq.node.io_write_count_details.rate`          | Rate of write operations.                                 | \{ops}/s          | UpDownCounter |               |
| ❌ `rabbitmq.node.mem_alarm`                            | Whether memory alarm is triggered.                        | \{status}         | UpDownCounter |               |
| ❌ `rabbitmq.node.mem_limit`                            | The memory limit on the node.                             | \{bytes}          | UpDownCounter |               |
| ❌ `rabbitmq.node.mem_used`                             | The memory used on the node.                              | \{bytes}          | UpDownCounter |               |
| ❌ `rabbitmq.node.mem_used_details.rate`                | Rate of memory usage change.                              | \{bytes}/s        | UpDownCounter |               |
| ❌ `rabbitmq.node.mnesia_disk_tx_count`                 | Number of disk transactions in Mnesia.                    | \{tx}             | UpDownCounter |               |
| ❌ `rabbitmq.node.mnesia_disk_tx_count_details.rate`    | Rate of disk transactions in Mnesia.                      | \{tx}/s           | UpDownCounter |               |
| ❌ `rabbitmq.node.mnesia_ram_tx_count`                  | Number of RAM transactions in Mnesia.                     | \{tx}             | UpDownCounter |               |
| ❌ `rabbitmq.node.mnesia_ram_tx_count_details.rate`     | Rate of RAM transactions in Mnesia.                       | \{tx}/s           | UpDownCounter |               |
| ❌ `rabbitmq.node.msg_store_read_count`                 | Number of message store reads.                            | \{ops}            | UpDownCounter |               |
| ❌ `rabbitmq.node.msg_store_read_count_details.rate`    | Rate of message store reads.                              | \{ops}/s          | UpDownCounter |               |
| ❌ `rabbitmq.node.msg_store_write_count`                | Number of message store writes.                           | \{ops}            | UpDownCounter |               |
| ❌ `rabbitmq.node.msg_store_write_count_details.rate`   | Rate of message store writes.                             | \{ops}/s          | UpDownCounter |               |
| ❌ `rabbitmq.node.proc_total`                           | Maximum allowed Erlang processes.                         | \{processes}      | UpDownCounter |               |
| ❌ `rabbitmq.node.proc_used`                            | Number of Erlang processes in use.                        | \{processes}      | UpDownCounter |               |
| ❌ `rabbitmq.node.proc_used_details.rate`               | Rate of process usage.                                    | \{processes}/s    | UpDownCounter |               |
| ❌ `rabbitmq.node.processors`                           | Number of processors available to the node.               | \{processors}     | UpDownCounter |               |
| ❌ `rabbitmq.node.queue_created`                        | Number of queues created.                                 | \{queues}         | UpDownCounter |               |
| ❌ `rabbitmq.node.queue_created_details.rate`           | Rate of queues created.                                   | \{queues}/s       | UpDownCounter |               |
| ❌ `rabbitmq.node.queue_declared`                       | Number of queues declared.                                | \{queues}         | UpDownCounter |               |
| ❌ `rabbitmq.node.queue_declared_details.rate`          | Rate of queues declared.                                  | \{queues}/s       | UpDownCounter |               |
| ❌ `rabbitmq.node.queue_deleted`                        | Number of queues deleted.                                 | \{queues}         | UpDownCounter |               |
| ❌ `rabbitmq.node.queue_deleted_details.rate`           | Rate of queues deleted.                                   | \{queues}/s       | UpDownCounter |               |
| ❌ `rabbitmq.node.queue_index_read_count`               | Number of queue index reads.                              | \{ops}            | UpDownCounter |               |
| ❌ `rabbitmq.node.queue_index_read_count_details.rate`  | Rate of queue index reads.                                | \{ops}/s          | UpDownCounter |               |
| ❌ `rabbitmq.node.queue_index_write_count`              | Number of queue index writes.                             | \{ops}            | UpDownCounter |               |
| ❌ `rabbitmq.node.queue_index_write_count_details.rate` | Rate of queue index writes.                               | \{ops}/s          | UpDownCounter |               |
| ❌ `rabbitmq.node.run_queue`                            | Run queue length of the Erlang scheduler.                 | \{threads}        | UpDownCounter |               |
| ❌ `rabbitmq.node.sockets_total`                        | Maximum allowed sockets.                                  | \{sockets}        | UpDownCounter |               |
| ❌ `rabbitmq.node.sockets_used`                         | Number of sockets in use.                                 | \{sockets}        | UpDownCounter |               |
| ❌ `rabbitmq.node.sockets_used_details.rate`            | Rate of socket usage.                                     | \{sockets}/s      | UpDownCounter |               |
| ❌ `rabbitmq.node.uptime`                               | Uptime of the node.                                       | ms                | UpDownCounter |               |

## Attributes

| Attribute Name | Description                       | Type   | Values                    |
| -------------- | --------------------------------- | ------ | ------------------------- |
| `state`        | The state of messages in a queue. | string | `ready`, `unacknowledged` |

## Resource Attributes

| Attribute Name        | Description                     | Type   | Enabled |
| --------------------- | ------------------------------- | ------ | ------- |
| `rabbitmq.node.name`  | The name of the RabbitMQ node.  | string | ✅       |
| `rabbitmq.queue.name` | The name of the RabbitMQ queue. | string | ✅       |
| `rabbitmq.vhost.name` | The name of the RabbitMQ vHost. | string | ✅       |

## Configuration

### Example Configuration

```yaml theme={null}
rabbitmq:
  endpoint: http://localhost:15672
  username: otelu
  password: ${env:RABBITMQ_PASSWORD}
  collection_interval: 10s
```

***

*Last generated: 2026-07-06*
