Docs » Configure application receivers » Configure application receivers for messaging » RabbitMQ

RabbitMQ 🔗

Description 🔗

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

This monitor keeps 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 monitor works for RabbitMQ 3.0 and higher.

See rabbitmq for the monitor source.

Installation 🔗

This monitor is available in the SignalFx Smart Agent Receiver, which is part of the Splunk Distribution of OpenTelemetry Collector.

To install this integration:

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

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

Configuration 🔗

The Splunk Distribution of OpenTelemetry Collector allows embedding a Smart Agent monitor configuration in an associated Smart Agent Receiver instance.

Note: Providing a RabbitMQ monitor entry in your Smart Agent or Collector configuration is required for its use. Use the appropriate form for your agent type.

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 Smart Agent example configuration for an autogenerated example of a YAML configuration file, with default values where applicable.

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.

See configuration examples for specific use cases that show how the collector can integrate and complement existing environments.

Configuration settings 🔗

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

Option Required Type Description
pythonBinary no string Path to a python binary to use to execute the Python code. If not set, a built-in runtime is used. Can include arguments to the binary as well.
host yes string
port yes integer
brokerName no string Name of the particular RabbitMQ instance. Can be a Go template using other configuration options. This is used as the plugin_instance dimension. (default: {{.host}}-{{.port}})
collectChannels no bool (default: false)
collectConnections no bool (default: false)
collectExchanges no bool (default: false)
collectNodes no bool (default: false)
collectQueues no bool (default: false)
httpTimeout no integer
verbosityLevel no string
username yes string
password yes string
useHTTPS no bool Whether to enable HTTPS. (default: false)
sslCACertFile no string Path to the SSL/TLS certificate of the root certificate authority implicitly trusted by this monitor.
sslCertFile no string Path to this monitor's own SSL/TLS certificate.
sslKeyFile no string Path to this monitor's private SSL/TLS key file.
sslKeyPassphrase no string This monitor's private SSL/TLS key file password, if any.
sslVerify no bool Whether the monitor should verify the RabbitMQ Management plugin SSL/TLS certificate. (default: false)

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

Metrics 🔗

These are the metrics available for this integration.