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:
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:
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.
The table below gives a detailed description of the parameters displayed in each of the following tabs:
| Parameter | Description | Mode of Monitoring | |
|---|---|---|---|
SSH mode | Prometheus mode | ||
| 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 | ![]() | ![]() |
| Parameter | Description | Mode of Monitoring | |
|---|---|---|---|
SSH mode | Prometheus mode | ||
| 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. | ![]() | ![]() |
| Parameter | Description | Mode of Monitoring | |
|---|---|---|---|
SSH mode | Prometheus mode | ||
| 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. | ![]() | ![]() |
| Parameter | Description | Mode of Monitoring | |
|---|---|---|---|
SSH mode | Prometheus mode | ||
| 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. | ![]() | ![]() |
| Parameter | Description | Mode of Monitoring | |
|---|---|---|---|
SSH mode | Prometheus mode | ||
| 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. | ![]() | ![]() |
| Parameter | Description | Mode of Monitoring | |
|---|---|---|---|
SSH mode | Prometheus mode | ||
| 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.
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