For the complete documentation index, see llms.txt. This page is also available as Markdown.

RabbitMQ

The RabbitMQ source collects metrics and logs from a RabbitMQ broker. Metrics are scraped from the RabbitMQ Management plugin HTTP API using a monitoring user (consumer counts and message delivery, publish, acknowledge, drop, and current-message rates). Logs are read from the RabbitMQ log files on the collector host and optionally parsed into structured fields.

Supported Telemetry

Platform
Metrics
Logs
Traces

macOS

Linux

Windows

Prerequisites

Metrics

  • A reachable RabbitMQ node with the RabbitMQ Management plugin enabled. The plugin exposes the HTTP API the receiver scrapes (default port 15672). Enable it with rabbitmq-plugins enable rabbitmq_management. See Management Plugin.

  • A monitoring user. Create a dedicated RabbitMQ user and grant it the monitoring tag so it can read broker statistics without administrative rights. See Authentication, Authorisation, Access Control.

  • Network reachability from the collector to the Management API endpoint (host and port).

  • If the Management API is served over HTTPS, the TLS material to validate it (a CA certificate file, and a client certificate and key if mutual TLS is required).

Logs

  • RabbitMQ writing its log files on the host where the collector runs. The default path is /var/log/rabbitmq/rabbit@*.log.

  • Read access for the collector to those log file paths.

Configuration

Bindplane docs - RabbitMQ - image 1

Telemetry Type

Parameter
Type
Required
Default
Description

Choose Telemetry Type

Telemetry Selector

No

["Logs", "Metrics"]

Which signals this source collects: Logs, Metrics, or both.

Logs

Parameter
Type
Required
Default
Description

Log Paths

Strings

No

/var/log/rabbitmq/rabbit@*.log

Path to RabbitMQ log file(s). Glob patterns are supported. Relevant when Logs is selected.

Start At

Enum: beginning, end

No

end

Start reading logs from the beginning or end of the file. Relevant when Logs is selected.

Parse

Boolean

No

true

Parses the log fields into structured data. Relevant when Logs is selected.

Metrics

Parameter
Type
Required
Default
Description

Endpoint

String

No

http://localhost:15672

The endpoint of the RabbitMQ Management API. Relevant when Metrics is selected.

Username

String

Yes

(empty)

Username used to authenticate to the Management API. Relevant when Metrics is selected.

Password

String

Yes

(empty)

Password used to authenticate to the Management API. Relevant when Metrics is selected.

Collection Interval

Integer

No

60

How often (seconds) to scrape for metrics. Relevant when Metrics is selected.

Advanced

Parameter
Type
Required
Default
Description

Enable TLS

Boolean

No

false

Whether or not to use TLS when connecting to the Management API. Relevant when Metrics is selected.

Skip TLS Certificate Verification

Boolean

No

false

Skip verification of the server's TLS certificate. Relevant when Metrics is selected and Enable TLS is true.

TLS Certificate Authority File

String

No

(empty)

Certificate authority used to validate TLS certificates. Relevant when Metrics is selected and Enable TLS is true.

TLS Client Certificate File

String

No

(empty)

A TLS certificate used for client authentication, if mutual TLS is enabled. Relevant when Metrics is selected and Enable TLS is true.

TLS Client Private Key File

String

No

(empty)

A TLS private key used for client authentication, if mutual TLS is enabled. Relevant when Metrics is selected and Enable TLS is true.

Metrics

Metrics

No

[]

Toggle individual metrics on and off. Relevant when Metrics is selected.

Examples

Collect metrics and logs from a local RabbitMQ broker

This source scrapes the Management API at the default endpoint with a dedicated monitoring user every 30 seconds, and tails the default RabbitMQ log path.

Configuration Tips

  • The Endpoint is the RabbitMQ Management API (default port 15672), not the AMQP port 5672. Use the URL where the Management plugin is served.

  • Use a dedicated user with only the monitoring tag rather than an administrator account, so the collector has the access it needs and nothing more.

  • When the Management API is served over HTTPS, set Enable TLS and provide a CA file. Only enable Skip TLS Certificate Verification for testing, never in production.

Troubleshooting

Connection refused or no metrics

Symptoms: the receiver cannot reach the endpoint, or no RabbitMQ metrics appear.

Solutions:

  1. Confirm the Management plugin is enabled (rabbitmq-plugins list shows rabbitmq_management).

  2. Verify the Endpoint host and port (default 15672) and that a firewall is not blocking the collector.

Authentication failed

Symptoms: the Management API returns 401 or 403 and no metrics are collected.

Solutions:

  1. Verify the Username and Password are correct.

  2. Confirm the user has the monitoring tag so it can read broker statistics.

TLS handshake errors

Symptoms: the connection fails with a certificate or TLS error when Enable TLS is on.

Solutions:

  1. Provide a CA file that signs the Management API server certificate.

  2. For mutual TLS, supply both the client certificate and private key files.

No logs collected

Symptoms: logs are enabled but none arrive.

Solutions:

  1. Confirm the Log Paths match the broker's actual log files (default /var/log/rabbitmq/rabbit@*.log).

  2. Verify the collector user has read access to those files.

Standalone Source

Last updated

Was this helpful?