[rabbitmq-discuss] F5 Load Balancer Pool Management
Cordell, Ron L
Ron.Cordell at RelayHealth.com
Wed May 22 19:25:59 BST 2013
Thanks, Simon - that's very helpful.
From: rabbitmq-discuss-bounces at lists.rabbitmq.com [mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Simon Lundström
Sent: Tuesday, May 21, 2013 10:48 PM
To: Discussions about RabbitMQ
Subject: Re: [rabbitmq-discuss] F5 Load Balancer Pool Management
We're just in the middle of implementing RabbitMQ cluster by using our
F5 BIG-IP loadbalancers.
The idea is to have two healthchecks:
1, One very simple which connects to the node and sees that the "path is clear", i.e. that no firewall etc is blocking the connection to the node. This is being done by sending eight random bytes to the AMQP port (we're using SSL) and the server should respond with AMQP0091 (see, <https://www.rabbitmq.com/resources/specs/amqp0-9-1.pdf> section 4.2.2 Protocol Header).
The problem with this is that it creates alot of log noise and I'm not sure how to filter this out or how to generate a smart enough request that RabbitMQ won't generate log noise.
2, The other health check is more complex and we want to check that a node is really up and that it accepts messages. As BIG-IP doesn't support AMQP OOTB we only found two other solutions:
* Write and compile a static C-binary which does the check and speaks the AMQP protocol
* Put a Nagios NRPE check on the host which does the check and use the BIG-IP to do a NRPE request to the node.
While the first solution seems ideal we don't want to complicate our BIG-IP setup (i.e. put files on it) so we chose the latter.
I created a Perl-script <https://github.com/simmel/create_nrpe_request>
that can create the binary request that NRPE uses so it can be used in the BIG-IP.
Healthcheck #2 is done but I'm still trying to make #1 smarter and not create log noise.
Any ideas here from you or others?
Section for Infrastructure
SE-106 91 Stockholm, Sweden
rabbitmq-discuss mailing list
rabbitmq-discuss at lists.rabbitmq.com
More information about the rabbitmq-discuss