[rabbitmq-discuss] F5 Load Balancer Pool Management
simlu at su.se
Wed May 22 06:47:37 BST 2013
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
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
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
More information about the rabbitmq-discuss