RabbitMQ Monitoring


Overview

Applications Manager monitors the critical components of RabbitMQ servers to detect individual queues and collect metrics which reflect the queue's performance and throughput.

The critical components of RabbitMQ servers include:

  • Queued messages and message rates statistics
  • Node details like socket descriptor and Erlang process utilization
  • Channel statistics like message publish rates
  • Exchange message rates
  • In depth connection status

Creating a new RabbitMQ server monitor

Prerequisites for monitoring RabbitMQ: Click here

Using the REST API to add a new RabbitMQ monitor: Click here

To create a RabbitMQ Server Monitor, follow the steps given below:

  1. Click on New Monitor link.
  2. Select RabbitMQ under the Middleware/Portal list.
  3. Enter the Display Name and the name of the host where the RabbitMQ Server is running.
  4. Enter the Port ID where the management plugin is configured. For default installations of RabbitMQ management plugin, the port number is 55672.
  5. Enter the correct User Name and Password of RabbitMQ server.
  6. You can select the Monitor Specific Parameters option to restrict discovery and monitor specific parameters in RabbitMQ monitor. This option will help to restrict Discovery of various parameters including Queues, Exchanges, Channels and Connections. If Monitor Specific Parameters option is enabled, specify the Discovery Filter Regex based on which the parameters are to be discovered and monitored. Learn more
  7. Set the polling interval.
  8. If you are adding a new monitor from an Admin Server, select a Managed Server.
  9. Select the Monitor Group from the combo box with which you want to associate RabbitMQ server (optional). You can choose multiple groups to associate your monitor.
  10. Click Add Monitor(s). This identifies RabbitMQ server from the network and starts monitoring.

Monitored Parameters

RabbitMQ monitoring includes delivering proactive alarm notifications during network congestion, checking if a consumer is processing slowly or has gone down under heavy message traffic, identifying performance bottlenecks due to high socket descriptors utilization and generating historical reports.

  • Availability tab shows an availability history bar graph of the RabbitMQ server. Using the drop-down list at the right-hand corner of the page, you can set the bar chart to show availability history for the past 24 hours or 30 days.
  • Performance tab gives a graphical representation of the publish, delivery, acknowledged and unacknowledged rates of RabbitMQ server as well as the health history for the past 24 hours or 30 days. The colored icons at the corners of the graphs pop up a 'heat chart' for the respective metric rate.
  • List view tab lists all the RabbitMQ servers monitored by Applications Manager along with their overall availability and health status. You can edit the monitor details and configure alarms from the list. You can also perform bulk admin configurations from this view.

The table below gives a detailed description of the parameters displayed in each of the following tabs:

Overview

ParameterDescription
Monitor Information General details like name, type, health, host name, etc.
Availability history for last 6 hours Bar graph showing the availability history of the server for the last six hours.
Performance history for last 6 hours Chart showing the performance history of the server for the last six hours.
Queued Messages Message vs time graph showing the ready and unacknowledged messages.
Message Rates Message per second vs time graph showing the deliver, acknowledged and publish rates

Nodes

ParameterDescription
Nodes
Name The name of the node.
Socket descriptors used/available/utilization The number of concurrently open/available/used socket descriptors for the monitor.
Erlang processes used/available/utilization The number of concurrently open/available/used Erlang processes for the monitor.
Running Indicates whether the node is running or not.
Node Memory and Disk Details
Name The name of the node.
Memory Used The amount of memory used by the monitor (in MB).
Memory Available The amount of memory available for the monitor (in MB).
Memory Utilization The amount of memory utilized by the monitor (in %).
Disk Free Space The available free space on the disk (in GiB).
Disk Free Limit The minimum free space on the disk (in MiB). Upon reaching this limit, RabbitMQ will no longer accept messages.
Usable Disk Space The amount of usable space on the disk (in %).
Disk Free Alarm Indicates whether the disk free limit has been reached.

Queues

ParameterDescription
Name The name of the message queue.
Virtual Host The name of the Virtual Host in which the queue is created.
Exclusive Number of messages of the exclusive consumer subscribed to this queue.
Messages Ready Number of messages ready to be delivered to clients.
Messages Unacknowledged Number of messages delivered to clients, but not unacknowledged yet (meaning it is in progress or has been reserved).
Total Messages Sum of ready and unacknowledged messages (queue depth)
Incoming rate The rate at which messages are received.
Deliver/Get rate The rate at which messages are delivered.
Ack rate The rate at which messages are acknowledged.

Exchanges

ParameterDescription
Name The RabbitMQ exchange name.
Virtual Host The name of the Virtual Host to which the exchange belongs.
Type The exchange type. (direct, topic, headers, or fanout)
Incoming Publish rate The per second rating of incoming messages.
Outgoing Publish rate The per second rating of outgoing messages.

Channels

ParameterDescription
Channel The channel through which messages are sent.
User Name The RabbitMQ username associated with the channel.
Prefetch msgs QoS prefetch count value for the channel.
Unacked msgs Number of messages delivered via this channel, but not yet acknowledged.
Unconfirmed msgs Number of published messages not yet confirmed. On channels not in confirm mode, this remains 0
Publish rate msgs/sec The per second publishing rate of messages.
DeliverGet rate msgs/sec The per second recieving rate of messages.
Ack rate msgs/sec The per second acknowledgment rate of messages.

Connections

ParameterDescription
Peer Address The IP address of the host on the other side of the connection.
Protocol Protocol used in connection.
Receive rate Rate at which the message is being received (in kbps).
Send rate Rate at which the message is being sent (in kbps).
State Connection state (starting, tuning, opening, running, closing, or closed)

You can enable, disable or delete any of the nodes, queues, exchanges, channels or connections from the drop-down menu at the bottom of the page. You can also compare reports from an adjacent drop-down list.