I’ve been speaking with a couple of people on IRC about this but just thought I’d reach out to a wider audience to hopefully get some feedback on how people are setting up Sensu and its dependencies in AWS. I’ve only just set-up a single instance of Sensu/RabbitMQ/API/Uchiwa/Redis so very much new to this, but liking Sensu so far.
Looking at making the set-up robust, the one dependency I’m concerned about is RabbitMQ. I plan on running Sensu/API/Uchiwa on N number of Sensu servers (with a load-balancer in front) and Redis will be managed by AWS (ElastiCache) so not worrying about that one.
I’ve found various blog posts on how people are deploying RabbitMQ including:
Independent RabbitMQ instance on every Sensu server
Separate RabbitMQ Cluster using an ASG + ELB
Single RabbitMQ instance per AZ and each client connecting to their local (AZ) RabbitMQ instance. Sensu server configured to talk to each RabbitMQ instance in the AZs
There are pros and cons to each, many that I don’t even know about, so to save me from going down a painful road, I’m looking for feedback from real-life experience with RabbitMQ in AWS.
One thing that concerns me about setting up RabbitMQ clustering is that I’m using Puppet and I’d have to set-up a script to join an existing cluster (auto-discovering existing nodes in the cluster). I’m sure it’s do-able, but it sounds… fiddly.
Anyway, would certainly appreciate any pointers/feedback.