Skip to content

DBLaw/boundary-plugin-rabbitmq

 
 

Repository files navigation

Boundary RabbitMQ Plugin

Boundary RabbitMQ plugin extracts key performance metrics from an instance of RabbitMQ instances

The RabbitMQ plugin requires that you have python 2.6.6 or later installed on the target system.

Metrics

Here are the list of metrics created when the RabbitMQ plugin is installed along with their descriptions.

Metric Description
RABBITMQ_TOTAL_EXCHANGES
RABBITMQ_TOTAL_CONSUMERS
RABBITMQ_TOTAL_CONNECTIONS
RABBITMQ_MESSAGES_PUSH_TOTAL
RABBITMQ_MESSAGES_PUSH_RATE
RABBITMQ_MESSAGES_PUSHED_WITH_NO_ACK
RABBITMQ_MESSAGES_PUSHED_WITH_NO_ACK_RATE
RABBITMQ_MESSAGES_PULLED
RABBITMQ_MESSAGES_TOTAL_PUSH_PULL_RATE
RABBITMQ_MESSAGES_REDELIVERED
RABBITMQ_MESSAGES_REDELIVERY_RATE
RABBITMQ_MESSAGES_PUBLISHED
RABBITMQ_MESSAGES_PUBLISH_RATE
RABBITMQ_QUEUE_TOTAL_MESSAGES
RABBITMQ_QUEUE_MESSAGE_RATE
RABBITMQ_QUEUE_MESSAGES_READY
RABBITMQ_QUEUE_READY_MESSAGES_RATE
RABBITMQ_QUEUED_UN_ACK_MESSAGES
RABBITMQ_QUEUE_UN_ACK_MESSAGES_RATE
RABBITMQ_MEMORY_USED
RABBITMQ_DISK_FREE

Dashboards

Here are the list of dashboards that are created when the RabbitMQ plugin is installed with their descriptions.

Dashboard Description
RabbitMQ Summary Contains summary metris related to RabbitMQ
RabbitMQ Messages Contains metrics related to RabbitMQ messages
RabbitMQ Queues Contains metrics related to RabbitMQ queues
RabbitMQ Resources Contains metrics related to the RabbitMQ resources

Adding the RabbitMQ Plugin to Premium Boundary

  1. Login into Boundary Premium
  2. Display the settings dialog by clicking on the settings icon:
  3. Click on the Plugins in the settings dialog.
  4. Locate the rabbitmq plugin item and click on the Install button.
  5. A confirmation dialog is displayed indicating the plugin was installed sucessfully, along with the metrics and the dashboards.
  6. Click on the OK button to dismiss the dialog.

Removing the RabbitMQ Plugin from Premium Boundary

  1. Login into Boundary Premium
  2. Display the settings dialog by clicking on the settings icon:
  3. Click on the Plugins in the settings dialog which lists the installed plugins.
  4. Locate the rabbit plugin and click on the item, which then displays the uninstall dialog.
  5. Click on the Uninstall button which displays a confirmation dialog along with the details on what metrics and dashboards will be removed.
  6. Click on the Uninstall button to perfom the actual uninstall and then click on the Close button to dismiss the dialog.

Configuration

Once the RabbitMQ plugin is install, metric collection requires that a relay is installed on the target system. Instructions on how to install a relay for linux/unix can foundhere, and for Windows here.

You must use a RabbitMQ user with monitor rights.

General operations for plugins are describe in this article

Glossary

binding - Relates an exchange to a queue by a routing key.

channel - A logical connection that shares a single AMPQ connection to RabbitMQ. channels, you have the ability to create as many parallel transport layers as your app needs without being limited by TCP connection restrictions.

consumer - Attaches to RabbitMQ server and subscribes to a queue (or named mailbox).

exchange - Here come into play the different types of exchanges provided by the protocol. There are four: direct, fanout, topic, and headers. Each implements a different routing algorithm. Messages are sent to exchanges. There are three exchange types: direct, fanout, and topic. Based on the message routing key and the exchange type, the broker will decide to which queue it has to deliver the message.

producer - Create messages and publish (send) them to RabbitMQ

queue -

vhost - Within every RabbitMQ server there is an ability to create virtual message brokers or vhosts. Each one is essentially a mini-RabbitMQ server with its own queues, exchanges, bindings, and access control. Permits the paritioning of a single RabbitMQ server so that it can be used for multiple applications without worrying about applications deleting each others queues,etc.

Bibliography

  1. RabbitMQ API reference 3.3.5
  2. RabbitMQ Management HTTP Stats
  3. RabbitMQ In Action
  4. RabbitMQ Cookbook
  5. RabbitMQ How-To
  6. RabbitMQ Nagios Plugin

About

Metrics Plugin for RabbitMQ

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 65.8%
  • Python 32.5%
  • Shell 1.7%