Debug everything comming into and out of RabbitMQ?

287 views
Skip to first unread message

John F

unread,
Jan 28, 2016, 9:02:55 AM1/28/16
to rabbitmq-users
I've created a sniffer client for RabbitMQ that can log every message coming into and going out of RabbitMQ on exchanges. It also uses the event exchange plugin to also receive user authentication success and failure events.

All connections from consumers and producers use TLS/SSL and either AMQP or STOMP depending on some hardware.

My problem is that I now need to somehow be able to log the exact STOMP frame that a specific producer sends in in order to authenticate, and since it fails I need to somehow retrieve the STOMP frame 'as is' before it being converted to AMQP internally. Right now it doesn't get that far as the login fails.

Do we have an option of logging everything in this scenario?

Michael Klishin

unread,
Jan 28, 2016, 9:46:49 AM1/28/16
to rabbitm...@googlegroups.com, John F
 On 28 January 2016 at 17:02:58, John F (john.f...@gmail.com) wrote:
> My problem is that I now need to somehow be able to log the exact
> STOMP frame that a specific producer sends in in order to authenticate,
> and since it fails I need to somehow retrieve the STOMP frame 'as
> is' before it being converted to AMQP internally. Right now it
> doesn't get that far as the login fails.
>
> Do we have an option of logging everything in this scenario?

Wireshark, for which we even have a brief guide:
https://www.rabbitmq.com/amqp-wireshark.html

STOMP is a text protocol so inspecting it in Wireshark is even easier.
There are GUI-less tools which can use the same library/formap (libpcap), too. 
--
MK

Staff Software Engineer, Pivotal/RabbitMQ


John F

unread,
Feb 1, 2016, 5:53:36 AM2/1/16
to rabbitmq-users, john.f...@gmail.com
Thanks, Michael.

I knew Wireshark but was not aware that it was actually possible to debug TLS/SSL frames. This was exactly what I needed, although it would be extremely nice to be able to log all frames as well as RabbitMQ messages so that my sniffer could be used as a end-to-end solution.
Reply all
Reply to author
Forward
0 new messages