Docs » Available host and application monitors » Configure application receivers for messaging » RabbitMQ

RabbitMQ ๐Ÿ”—

Description ๐Ÿ”—

The Splunk Distribution of OpenTelemetry Collector provides this integration as the RabbitMQ monitor type using the Smart Agent Receiver.

Use this monitor to keep track of an instance of RabbitMQ by using the RabbitMQ Python Plugin. This monitor uses the RabbitMQ Management HTTP API to poll for statistics on a RabbitMQ server, then reports them to the agent.

This integration is available for Kubernetes, Windows, and Linux.

Benefits ๐Ÿ”—

After you configure the integration, you can access these features:

Requirements ๐Ÿ”—

This monitor requires RabbitMQ 3.0 and higher.

Installation ๐Ÿ”—

Follow these steps to deploy this integration:

  1. Deploy the Splunk Distribution of OpenTelemetry Collector to your host or container platform:

  2. Configure the monitor, as described in the Configuration section.

  3. Restart the Splunk Distribution of OpenTelemetry Collector.

Configuration ๐Ÿ”—

This monitor type is available in the Smart Agent Receiver, which is part of the Splunk Distribution of OpenTelemetry Collector. You can use existing Smart Agent monitors as OpenTelemetry Collector metric receivers with the Smart Agent Receiver.

This monitor type requires a properly configured environment on your system in which youโ€™ve installed a functional Smart Agent release bundle. The Collector provides this bundle in the installation paths for x86_64/amd64.

To activate this monitor type in the Collector, add the following lines to your configuration (YAML) file:

Note

Provide a RabbitMQ monitor entry in your Smart Agent or Collector configuration. Use the appropriate form for your agent type.

Splunk Distribution of OpenTelemetry Collector ๐Ÿ”—

To activate this monitor in the Splunk Distribution of OpenTelemetry Collector, add the following to your agent configuration:

receivers:
  smartagent/rabbitmq:
    type: collectd/rabbitmq
    ...  # Additional config

To complete the monitor activation, you must also include the smartagent/rabbitmq receiver item in a metrics pipeline. To do this, add the receiver item to the service > pipelines > metrics > receivers section of your configuration file. For example:

service:
  pipelines:
    metrics:
      receivers: [smartagent/rabbitmq]

Smart Agent ๐Ÿ”—

To activate this monitor in the Smart Agent, add the following to your agent configuration:

monitors:  # All monitor config goes under this key
  - type: collectd/rabbitmq
    ...  # Additional config

See Install and configure the SignalFx Smart Agent for an autogenerated example of a YAML configuration file, with default values where applicable.

Configuration settings ๐Ÿ”—

The following table shows the configuration options for the RabbitMQ monitor:

Option

Required

Type

Description

pythonBinary

No

string

Path to the Python binary. If not set, a built-in runtime is used. This setting can include arguments to the binary.

host

Yes

string

Hostname or IP address of the RabbitMQ instance. For example, 127.0.0.1.

port

Yes

integer

The port of the RabbitMQ instance. For example, 15672.

brokerName

No

string

Name of the RabbitMQ instance. Can be a Go template using other configuration options. Used as the plugin_instance dimension. The default value is {{.host}}-{{.port}}.

collectChannels

No

bool

Whether to collect channels. The default value isfalse.

collectConnections

No

bool

Whether to collect connections. The default value isfalse.

collectExchanges

No

bool

Whether to collect exchanges. The default value isfalse.

collectNodes

No

bool

Whether to collect nodes. The default value isfalse.

collectQueues

No

bool

Whether to collect queues. The default value isfalse.

httpTimeout

No

integer

HTTP timeout for requests.

verbosityLevel

No

string

Verbosity level.

username

Yes

string

API username of the RabbitMQ instance.

password

Yes

string

API password of the RabbitMQ instance.

useHTTPS

No

bool

Whether to enable HTTPS. The default value isfalse.

sslCACertFile

No

string

Path to the SSL or TLS certificate of the root certificate authority implicitly trusted by this monitor.

sslCertFile

No

string

Path to this monitorโ€™s own SSL or TLS certificate.

sslKeyFile

No

string

Path to this monitorโ€™s private SSL or TLS key file.

sslKeyPassphrase

No

string

This monitorโ€™s private SSL or TLS key file password, if any.

sslVerify

No

bool

Whether the monitor verifies the RabbitMQ Management plugin SSL or TLS certificate. The default value isfalse.

Note

You must enable each of the five collect* options to gather metrics pertaining to those facets of a RabbitMQ instance.

Metrics ๐Ÿ”—

The following metrics are available for this integration:

Get help ๐Ÿ”—

If you are not able to see your data in Splunk Observability Cloud, try these tips:

To learn about even more support options, see Splunk Customer Success.