Visualizing your RabbitMQ instance
What story is your RabbitMQ broker telling?
If you’ve been keeping up, you know that RabbitMQ has a robust admin tool, but very limited visualization options. The official visualizer has been deprecated since 2015. This week, a new open source visualizer has appeared and is available for download. This article is about AliceMQ, a new way to visualize your RabbitMQ cluster.
But first things first.
What is RabbitMQ?
When people refer to message brokers they are effectively talking about decoupling data producers and data processing. Particularly for large applications, system architects look to create a modular segmenting strategy to separate concerns, business logic, hosting costs and manpower by creating an integrated set of services that work in concert. At the heart of such an architecture is the message broker.
RabbitMQ is a general purpose message broker. It transfers messages over a number of protocols like AMQP, STOMP and MQTT. It is fully integrated, built in Erlang and maintained by Pivotal labs. RabbitMQ also benefits from a large community of maintainers who have created libraries and clients in multiple languages like Python and PHP and frameworks like Node. This, along with its simple configuration, makes it an ideal candidate as a message broker for many organizations and projects.
Up until now, developers would monitor their RabbitMQ broker through the management API, a built-in admin dashboard that can directly observe, modify and add to a RabbitMQ server. Another way for engineers and admins to monitor RabbitMQ is through a consumer listening in on a specific topic or binding and conducting some kind of feedback mechanism back to the engineer. However, this approach fails to monitor the Rabbit server itself. It monitors a specific topic from the consumer’s point of view. Really, the only effective mechanism to monitor the RabbitMQ cluster up until now has been the management API.
Enter a New Challenger
A recent entry into the RabbitMQ ecosystem, AliceMQ is a standalone visualizer that queries the management API in real time and represents it in a digestible vector image. It is useful for getting a quick bird’s eye view of the state of your server and to identify traffic peaks and their precise whereabouts at a glance.
The tool is meant to primarily visualize the activity of your cluster, and give insight into the bottlenecks, conjuring up a representation of how much each exchange, queue and consumer is working and via which binding. The app will also display general information about the cluster, like how many messages are in queue and how many messages the system is processing per second as a whole.
The tool allows for monitoring of cloud and self-hosted instances. All you need to do is tell the app which IP to connect to, input its credentials and Bob’s your uncle.
Some convenient features include traffic mode to get more traffic information and a per-exchange-toggle to focus the visualization on target exchanges and nodes.
npm install && npm run buildapp
From there, just open the app enter your IP, port number and RabbitMQ credentials.
You might also need to edit your RabbitMQ config file to whitelist your ip. For more information, visit this page
Want to test or contribute?
This project is brand new and the developers are actively seeking testers and developers to give feedback and to work on the project. This project is open source and merits a closer look to anyone using RabbitMQ or interested in message brokers in general.