This plugin collects metrics directly from the
rabbitmq management API. The plugin requests the machine-readable content from this endpoint and parses metrics out from the retrieved data.
This plugin is currently available for x86_64 Linux and Windows platforms.
rabbitmq plugin is included with the SolarWinds Snap Agent by default, please follow the directions below to enable it for a agent instance.
This plugin requires both an enabled management plugin and the corresponding management API connection credentials to monitor. The links below outline how this can be configured for a given
rabbitmq version is v3.7.0+, but this plugin does support both legacy and current installations. Please note there are breaking
changes to the management API from v3.7.0 which precludes collection of certain metrics. These are outlined in the Metrics and Tags section further below.
The agent provides an example configuration file to help you get started quickly. It defines the plugin and task file to be loaded by the agent, but requires you to provide the correct settings for your management API endpoint. To enable the plugin:
- Make a copy of the rabbitmq example configuration file
/opt/SolarWinds/Snap/etc/plugins.d/rabbitmq.yaml.example, renaming it to
$ sudo cp /opt/SolarWinds/Snap/etc/plugins.d/rabbitmq.yaml.example /opt/SolarWinds/Snap/etc/plugins.d/rabbitmq.yaml
- Update the
/opt/SolarWinds/Snap/etc/plugins.d/rabbitmq.yamlconfiguration file with settings specific to your rabbitmq instance, for example:
collector: rabbitmq: all: url: "http://localhost:15672" user: "guest" password: "guest" autorecover: false collect-system-exchanges: false interval: "60s" load: plugin: snap-plugin-collector-aorabbitmq task: task-aorabbitmq.yaml
Each of the
passwordflags are optional and default to the RabbitMQ
guestvalues respectively as outlined in documentation. Most administrators will have configured a separate user for accessing the management API endpoint but this is not required provided the
guestuser is still enabled. If you are using a separate user, please ensure the user has the requisite
queuespermissions set in order to collect metrics from those endpoints.
intervalsets time interval between subsequent metrics submissions (optional, by default set to 60s).
If node (pointed by “url”) is broken plugin may try to discover other nodes in cluster with management plugin enabled (using the same user and password) and get information from first node applicable (
collect-system-exchangesdetermines if plugin should collect metrics related to rabbitMq system exchanges (amq.*).
Additionally, you’ll want to set the management process to enable
rates_modewhich will make verbose information available to the plugin.$ sudo rabbitmqctl eval 'application:set_env(rabbitmq_management, rates_mode, detailed).'
- Restart the agent:
$ sudo service swisnapd restart
- Enable the RabbitMQ plugin in the AppOptics UI
Select the RabbitMQ plugin to open the configuration menu in the UI, and enable the plugin.
You should soon see the
rabbitmqmetrics reported to your dashboard.