[rabbitmq-discuss] Complaint on lack of easy stand-alone GUI tool to examine RabbitMQ queues/topics

Jerry Kuch jerryk at vmware.com
Fri Nov 4 20:22:34 GMT 2011


Hi, Paul...

Sorry to hear you've been having frustrations!

> RabbitMQ community does not have a quick GUI client that can be
> installed to inspect queues, etc...  There needs to be a simple .net
> program or java program to examine RabbitMQ.  No, the plugin isn't
> simple enough as shown below.

By a "quick GUI client" what are you after?  I'm assuming the
web-based management plugin isn't meeting your needs?  Can you
describe further how it's letting you down?

If ease of install of the plugin is the concern, the Rabbit team is
currently working on a way to ship the common plugins that are
internally developed by the team, with the broker, with an easy on/off
toggling mechanism.  That at least saves one having to download and
install the pieces.  I can't make promises about its availability or
timeline at the moment though.

> My experience today:
> 1) Try to install RabbitMQ for use by VMware Cloud Director on the
> RHEL 5.x server.
> 2) RabbitMQ install doesn't work since the erlang packages are not
> available at Redhat repository, and our proxy prevents getting them
> directly from erlang repository.  Eventually, we find an ftp site with
> erlang-R12B-3.3.el5.kb.x86_64.rpm.
> 3) Erlang requires some gtkwx_core libraries which take 2 hours to
> locate on the internet, because they are really called wxGTK.
> Eventually the wxGTK-2.8.12-1.el5.rf.x86_64.rpm is found and
> downloaded and installed.  Literally 4 hours are spent just getting
> RabbitMQ installed on RHEL 5.7 64bit.

Apologies: this is an incredibly common travail for folks getting
started with Rabbit on RHEL.  Long term it would be nice to get the
modern Erlang into the default RHEL RPM repositories.  Shorter term,
one has to deal with the EPEL installation and the setup of Peter
Lemenkov's fedorapeople repository.  We do document this, but the
current form of that is clearly less than entirely adequate as people
shipwreck on it pretty routinely.  Below I document what should be a
robotically reproducible set of steps to get you squared away on this
front.

If one's ducks are fully in a row the (admittedly horrid) four hours
you refer to collapses to just a few minutes, modulo however long it
takes to pull the needed RPMs down over your internet connection.

So: Yes, the current state of things you docuemnt in (1) through (3)
sort of sucks.  With better and more find-able documentation it's
reducible to a modest annoyance rather than a bewildering ordeal.

Below follows the ritual for getting an Erlang modern enough to make
you happy going on your RHEL system:

#############################################################################

# First, make sure your RHEL is setup for updates with rhn_register...
rhn_register

# There are repository rpm packages for RHEL4 , RHEL5 and RHEL6. The
# repository package installs the repo details on your local system
# for yum or up2date to use. Then you can install packages with your
# usual method, and the EPEL repository is included.

su -c 'rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/i386/epel-release-5-4.noarch.rpm'

# Note to users of RHEL 5 and derived distributions (e.g. CentOS 5): Due
# to the EPEL package update policy, EPEL 5 contains Erlang version
# R12B-5, which is relatively old. rabbitmq-server supports R12B-5, but
# performance may be lower than for more recent Erlang versions, and
# certain non-core features are not supported (SSL support, HTTP-based
# plugins). Therefore, we recommend that you install the most recent
# stable version of Erlang. The easiest way to do this is to use a
# package repository provided for this purpose by the owner of the EPEL
# Erlang package. Enable it by invoking (as root):

sudo wget -O /etc/yum.repos.d/epel-erlang.repo http://repos.fedorapeople.org/repos/peter/erlang/epel-erlang.repo

# and then install or update erlang with...
sudo yum install erlang

# Now get RabbitMQ (2.6.1 is the current OSS release)
wget http://www.rabbitmq.com/releases/rabbitmq-server/v2.6.1/rabbitmq-server-2.6.1-1.noarch.rpm

# and install it...
sudo rpm -i rabbitmq-server-2.6.1-1.noarch.rpm

# start the rabbitmq service
sudo /sbin/service rabbitmq-server start

# check on the rabbitmq service's status
sudo /sbin/service rabbitmq-server status

#############################################################################

This gets you a fully up to date Rabbit, into which you can drop the
management plugin using the instructions at:

http://www.rabbitmq.com/management.html#installation

With that done, the plugin is ready to do your bidding and give you
almost everything I think you're asking for in this post.

> 5) Now RabbitMQ is running and we configure VMware Cloud Director to
> connect and it does, but where does it put the messages???  We don't
> know where due to poor vmware documentation.  However, we need to
> somehow get VMware Orchestrator to receive the messages.  What we need
> is some nice graphical client to inspect the queues so we can
> configure Orchestrator with the correct Queue names or Topic names...
> It would also help to see the contents of the messages.

The management client will allow you to inspect queues, exchanges,
bindings and their properties.  Message contents I don't believe it
gives you, but since AMQP message payloads are opaque binary blobs
about which the protocol is entirely agnostic, this won't always give
you something very friendly.

> 6) We can't use the plug-in for RabbitMQ, because erlang needs to be
> R13 or higher.  There are no instructions for downloading R13 for RHEL
> 5.7, let alone any instructions for how we would upgrade the product
> and not break anything.

Ah, so you must be running the ancient Erlang that's part of the RHEL
repositories by default!  That's fixable using the EPEL-fedorapeople
workaround I mention above.  Once we get you straightened out on that
you should be in good shape on the management plugin.

> 8) All we want to do is easily examine the queues and topics (without
> spending forever reading command line documentation) so that we can
> see what is happening and try to match up vCloud Director and
> Orchestrator configuration.

When one doesn't have the management plugin, the rabbitmqctl tool is a
good text-based way to see what queues/exchanges/bindings exist in
your universe, how many messages are lurking in queues, what their
status is, etc.

See:

  http://www.rabbitmq.com/man/rabbitmqctl.1.man.html

for details.  The nice thing about rabbitmqctl is that it's always there...

> Can somebody just create a quick graphical client for RabbitMQ that
> doesn't require a lead programmer to install and configure?  We don't
> want to create and code our own clients...

The management plugin's really pretty straightforward and well liked
once you're past the road blocks you've hit.  Give the above
incantations a try to get the proper Erlang in place and you should be
doing better.

Also, the commercially supported version of Rabbit, sold by VMware as
part of the vFabric suite, also contains an RPM with both the
management and stomp plugins packaged in it, that's easy to install
(again, provided you've got a new Erlang installed, which entail the
EPEL/fedorapeople/etc. rigmarole above).

Best regards,
Jerry


More information about the rabbitmq-discuss mailing list