Schedule demo

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 the Central Server, select a Probe 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

ParameterDescriptionREST API SupportPrometheus Support
Monitor InformationGeneral details like name, type, health, host name, etc.SupportedSupported
Availability history for last 6 hoursBar graph showing the availability history of the server for the last six hours.SupportedSupported
Performance history for last 6 hoursChart showing the performance history of the server for the last six hours.SupportedSupported
Queued MessagesMessage vs time graph showing the ready and unacknowledged messages.SupportedSupported
Message RatesMessage per second vs time graph showing the deliver, acknowledged and publish ratesSupportedSupported

Nodes

ParameterDescriptionREST API SupportPrometheus Support
Nodes
NameThe name of the node.SupportedSupported
Socket descriptors used/available/utilizationThe number of concurrently open/available/used socket descriptors for the monitor.SupportedSupported
Erlang processes used/available/utilizationThe number of concurrently open/available/used Erlang processes for the monitor.SupportedSupported
RunningIndicates whether the node is running or not.  
Node Memory and Disk Details
NameThe name of the node.SupportedSupported
Memory UsedThe amount of memory used by the monitor (in MB).SupportedSupported
Memory AvailableThe amount of memory available for the monitor (in MB).SupportedSupported
Memory UtilizationThe amount of memory utilized by the monitor (in %).SupportedSupported
Disk Free SpaceThe available free space on the disk (in GiB).SupportedSupported
Disk Free LimitThe minimum free space on the disk (in MiB). Upon reaching this limit, RabbitMQ will no longer accept messages.SupportedSupported
Usable Disk SpaceThe amount of usable space on the disk (in %).SupportedSupported
Disk Free AlarmIndicates whether the disk free limit has been reached.SupportedSupported

Queues

ParameterDescriptionREST API SupportPrometheus Support
NameThe name of the message queue.SupportedSupported
Virtual HostThe name of the Virtual Host in which the queue is created.SupportedSupported
ExclusiveNumber of messages of the exclusive consumer subscribed to this queue.SupportedNot Supported
Messages ReadyNumber of messages ready to be delivered to clients.SupportedSupported
Messages UnacknowledgedNumber of messages delivered to clients, but not unacknowledged yet (meaning it is in progress or has been reserved).SupportedSupported
Total MessagesSum of ready and unacknowledged messages (queue depth)SupportedSupported
Incoming rateThe rate at which messages are received.SupportedNot Supported
Deliver/Get rateThe rate at which messages are delivered.SupportedSupported
Ack rateThe rate at which messages are acknowledged.SupportedNot Supported

Exchanges

ParameterDescriptionREST API SupportPrometheus Support
NameThe RabbitMQ exchange name.SupportedNot Supported
Virtual HostThe name of the Virtual Host to which the exchange belongs.SupportedNot Supported
TypeThe exchange type. (direct, topic, headers, or fanout)SupportedNot Supported
Incoming Publish rateThe per second rating of incoming messages.SupportedNot Supported
Outgoing Publish rateThe per second rating of outgoing messages.SupportedNot Supported

Channels

ParameterDescriptionREST API SupportPrometheus Support
ChannelThe channel through which messages are sent.SupportedSupported
User NameThe RabbitMQ username associated with the channel.SupportedNot Supported
Prefetch msgsQoS prefetch count value for the channel.SupportedSupported
Unacked msgsNumber of messages delivered via this channel, but not yet acknowledged.SupportedSupported
Unconfirmed msgsNumber of published messages not yet confirmed. On channels not in confirm mode, this remains 0SupportedSupported
Publish rate msgs/secThe per second publishing rate of messages.SupportedNot Supported
DeliverGet rate msgs/secThe per second recieving rate of messages.SupportedNot Supported
Ack rate msgs/secThe per second acknowledgment rate of messages.SupportedSupported

Connections

ParameterDescriptionREST API SupportPrometheus Support
Peer AddressThe IP address of the host on the other side of the connection.SupportedSupported
ProtocolProtocol used in connection.SupportedNot Supported
Receive rateRate at which the message is being received (in kbps).SupportedSupported
Send rateRate at which the message is being sent (in kbps).SupportedSupported
StateConnection state (starting, tuning, opening, running, closing, or closed)SupportedNot Supported

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.

Loved by customers all over the world

"Standout Tool With Extensive Monitoring Capabilities"

It allows us to track crucial metrics such as response times, resource utilization, error rates, and transaction performance. The real-time monitoring alerts promptly notify us of any issues or anomalies, enabling us to take immediate action.

Reviewer Role: Research and Development

carlos-rivero
"I like Applications Manager because it helps us to detect issues present in our servers and SQL databases."
Carlos Rivero

Tech Support Manager, Lexmark

Trusted by thousands of leading businesses globally