# Multiple Sensu Servers

**URL:** <https://discourse.sensu.io/t/multiple-sensu-servers/138>\
**Category:** Sensu Classic (EOL)\
**Created:** [February 8, 2014, 9:42am UTC](https://discourse.sensu.io/t/multiple-sensu-servers/138 "2014-02-08T09:42:31Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Louis](https://avatars.discourse-cdn.com/v4/letter/l/ecb155/32.png) [@Louis](https://discourse.sensu.io/u/Louis)\
**Post date:** [February 8, 2014, 9:42am UTC](https://discourse.sensu.io/t/multiple-sensu-servers/138/1 "2014-02-08T09:42:31Z")

</div>

Hi,

I am looking to improve on our single Sensu server installation. First port of call is resiliency, and most immediate answer there is - multiple servers.

However I am struggling to find information on this topic. I’ve read the FAQs and the docs and various blog posts, I understand that there is some sort of covert master/slave election between servers, but don’t see where that would be configured : how do the servers know about eachother?

Also, is it mandatory to separate the RabbitMQ instances into a separate tier, or can each server run RabbitMQ locally? Similarly, can they use a local Redis instance or does one need to configure a shared Redis backend (or Elasticache, whatever)?

Any assistance would be much appreciated, I’m a big fan of Sensu and just want to take our use of it to the next level.

Thanks,

Louis McCormack

---

<div class="post-metadata">

**Author:** ![Kyle\_Anderson](https://avatars.discourse-cdn.com/v4/letter/k/e5b9ba/32.png) [@Kyle\_Anderson](https://discourse.sensu.io/u/Kyle_Anderson)\
**Post date:** [February 8, 2014, 5:05pm UTC](https://discourse.sensu.io/t/multiple-sensu-servers/138/2 "2014-02-08T17:05:12Z")

</div>

I found this blog post informative, illustrating one way to setup  
Sensu clusters:  
[http://failshell.io/sensu/high-availability-sensu/](http://failshell.io/sensu/high-availability-sensu/)

For the sensu-server part, yes, leader election is automatic and does  
not need to be configured. As long as they are using the same redis  
master, it will work:  
[https://github.com/sensu/sensu/blob/master/lib/sensu/server.rb#L692](https://github.com/sensu/sensu/blob/master/lib/sensu/server.rb#L692)

RabbitMQ you can do whatever works best for your environment. To KISS  
I put RabbitMQ on each sensu server and cluster them in mirror mode  
per the failshell article. In my particular setup, it is not required  
that a sensu-server us the \*local\* RMQ instance, but it can. In  
practice it doesn't matter as long as they are mirrored:  
[http://www.rabbitmq.com/ha.html](http://www.rabbitmq.com/ha.html)

The Redis part is a little tricky, but the failshell article also  
covers how he handles it. However you do it, all sensu servers / api /  
dashboards need to talk to \*a\* redis master. If you use something  
fancy to move that around, that is cool.  
Again, I'm using the failshell approach with haproxy. Maybe someday  
Sensu will be Sentinel-aware?  
Not to spread FUD, but if you are going to setup a Redis cluster, you  
should be at least aware of the potential failure modes during splits:  
[http://aphyr.com/posts/283-call-me-maybe-redis](http://aphyr.com/posts/283-call-me-maybe-redis)

Welcome to the world of distributed systems! 🙂

> **···**
>
> On Sat, Feb 8, 2014 at 1:42 AM, \<louis@spaceapegames.com\> wrote:
> 
> > Hi,
> > 
> > I am looking to improve on our single Sensu server installation. First port  
> > of call is resiliency, and most immediate answer there is - multiple  
> > servers.
> > 
> > However I am struggling to find information on this topic. I've read the  
> > FAQs and the docs and various blog posts, I understand that there is some  
> > sort of covert master/slave election between servers, but don't see where  
> > that would be configured : how do the servers know about eachother?
> > 
> > Also, is it mandatory to separate the RabbitMQ instances into a separate  
> > tier, or can each server run RabbitMQ locally? Similarly, can they use a  
> > local Redis instance or does one need to configure a shared Redis backend  
> > (or Elasticache, whatever)?
> > 
> > Any assistance would be much appreciated, I'm a big fan of Sensu and just  
> > want to take our use of it to the next level.
> > 
> > Thanks,  
> > Louis McCormack

---

<div class="post-metadata">

**Author:** ![Louis](https://avatars.discourse-cdn.com/v4/letter/l/ecb155/32.png) [@Louis](https://discourse.sensu.io/u/Louis)\
**Post date:** [February 8, 2014, 7:28pm UTC](https://discourse.sensu.io/t/multiple-sensu-servers/138/3 "2014-02-08T19:28:26Z")

</div>

Excellent, thank you Kyle. You’re a gentleman and a scholar.

I had seen that article, was kind of hoping there’d be a quick and dirty alternative. 🙂

Thanks again.

Louis

> **···**
>
> On Saturday, 8 February 2014 17:05:12 UTC, Kyle Anderson wrote:
> 
> > I found this blog post informative, illustrating one way to setup
> > 
> > Sensu clusters:
> > 
> > [http://failshell.io/sensu/high-availability-sensu/](http://failshell.io/sensu/high-availability-sensu/)
> > 
> > For the sensu-server part, yes, leader election is automatic and does
> > 
> > not need to be configured. As long as they are using the same redis
> > 
> > master, it will work:
> > 
> > [https://github.com/sensu/sensu/blob/master/lib/sensu/server.rb#L692](https://github.com/sensu/sensu/blob/master/lib/sensu/server.rb#L692)
> > 
> > RabbitMQ you can do whatever works best for your environment. To KISS
> > 
> > I put RabbitMQ on each sensu server and cluster them in mirror mode
> > 
> > per the failshell article. In my particular setup, it is not required
> > 
> > that a sensu-server us the _local_ RMQ instance, but it can. In
> > 
> > practice it doesn’t matter as long as they are mirrored:
> > 
> > [http://www.rabbitmq.com/ha.html](http://www.rabbitmq.com/ha.html)
> > 
> > The Redis part is a little tricky, but the failshell article also
> > 
> > covers how he handles it. However you do it, all sensu servers / api /
> > 
> > dashboards need to talk to _a_ redis master. If you use something
> > 
> > fancy to move that around, that is cool.
> > 
> > Again, I’m using the failshell approach with haproxy. Maybe someday
> > 
> > Sensu will be Sentinel-aware?
> > 
> > Not to spread FUD, but if you are going to setup a Redis cluster, you
> > 
> > should be at least aware of the potential failure modes during splits:
> > 
> > [http://aphyr.com/posts/283-call-me-maybe-redis](http://aphyr.com/posts/283-call-me-maybe-redis)
> > 
> > Welcome to the world of distributed systems! 🙂
> > 
> > On Sat, Feb 8, 2014 at 1:42 AM, [lo...@spaceapegames.com](mailto:lo...@spaceapegames.com) wrote:
> > 
> > > Hi,
> > 
> > > 
> > 
> > > I am looking to improve on our single Sensu server installation. First port
> > 
> > > of call is resiliency, and most immediate answer there is - multiple
> > 
> > > servers.
> > 
> > > 
> > 
> > > However I am struggling to find information on this topic. I’ve read the
> > 
> > > FAQs and the docs and various blog posts, I understand that there is some
> > 
> > > sort of covert master/slave election between servers, but don’t see where
> > 
> > > that would be configured : how do the servers know about eachother?
> > 
> > > 
> > 
> > > Also, is it mandatory to separate the RabbitMQ instances into a separate
> > 
> > > tier, or can each server run RabbitMQ locally? Similarly, can they use a
> > 
> > > local Redis instance or does one need to configure a shared Redis backend
> > 
> > > (or Elasticache, whatever)?
> > 
> > > 
> > 
> > > Any assistance would be much appreciated, I’m a big fan of Sensu and just
> > 
> > > want to take our use of it to the next level.
> > 
> > > 
> > 
> > > Thanks,
> > 
> > > Louis McCormack

---

<div class="post-metadata">

**Author:** ![Hari\_krishna\_kumar](https://avatars.discourse-cdn.com/v4/letter/h/a9a28c/32.png) [@Hari\_krishna\_kumar](https://discourse.sensu.io/u/Hari_krishna_kumar)\
**Post date:** [December 16, 2015, 5:45am UTC](https://discourse.sensu.io/t/multiple-sensu-servers/138/4 "2015-12-16T05:45:04Z")

</div>

HI Kyle,

I was seaching for High Availibilty Sensu and found your post.

When I went to [http://failshell.io/sensu/high-availability-sensu/](http://failshell.io/sensu/high-availability-sensu/) is not going to correct page.Could you please let me know it there is any alternative for this.

Thanks in advance

> **···**
>
> On Saturday, February 8, 2014 at 10:35:12 PM UTC+5:30, Kyle Anderson wrote:
> 
> > I found this blog post informative, illustrating one way to setup  
> > Sensu clusters:  
> > [http://failshell.io/sensu/high-availability-sensu/](http://failshell.io/sensu/high-availability-sensu/)
> > 
> > For the sensu-server part, yes, leader election is automatic and does  
> > not need to be configured. As long as they are using the same redis  
> > master, it will work:  
> > [https://github.com/sensu/sensu/blob/master/lib/sensu/server.rb#L692](https://github.com/sensu/sensu/blob/master/lib/sensu/server.rb#L692)
> > 
> > RabbitMQ you can do whatever works best for your environment. To KISS  
> > I put RabbitMQ on each sensu server and cluster them in mirror mode  
> > per the failshell article. In my particular setup, it is not required  
> > that a sensu-server us the _local_ RMQ instance, but it can. In  
> > practice it doesn’t matter as long as they are mirrored:  
> > [http://www.rabbitmq.com/ha.html](http://www.rabbitmq.com/ha.html)
> > 
> > The Redis part is a little tricky, but the failshell article also  
> > covers how he handles it. However you do it, all sensu servers / api /  
> > dashboards need to talk to _a_ redis master. If you use something  
> > fancy to move that around, that is cool.  
> > Again, I’m using the failshell approach with haproxy. Maybe someday  
> > Sensu will be Sentinel-aware?  
> > Not to spread FUD, but if you are going to setup a Redis cluster, you  
> > should be at least aware of the potential failure modes during splits:  
> > [http://aphyr.com/posts/283-call-me-maybe-redis](http://aphyr.com/posts/283-call-me-maybe-redis)
> > 
> > Welcome to the world of distributed systems! 🙂
> > 
> > On Sat, Feb 8, 2014 at 1:42 AM, [lo...@spaceapegames.com](mailto:lo...@spaceapegames.com) wrote:
> > 
> > > Hi,
> > > 
> > > I am looking to improve on our single Sensu server installation. First port  
> > > of call is resiliency, and most immediate answer there is - multiple  
> > > servers.
> > > 
> > > However I am struggling to find information on this topic. I’ve read the  
> > > FAQs and the docs and various blog posts, I understand that there is some  
> > > sort of covert master/slave election between servers, but don’t see where  
> > > that would be configured : how do the servers know about eachother?
> > > 
> > > Also, is it mandatory to separate the RabbitMQ instances into a separate  
> > > tier, or can each server run RabbitMQ locally? Similarly, can they use a  
> > > local Redis instance or does one need to configure a shared Redis backend  
> > > (or Elasticache, whatever)?
> > > 
> > > Any assistance would be much appreciated, I’m a big fan of Sensu and just  
> > > want to take our use of it to the next level.
> > > 
> > > Thanks,  
> > > Louis McCormack

---

<div class="post-metadata">

**Author:** ![Kyle\_Anderson](https://avatars.discourse-cdn.com/v4/letter/k/e5b9ba/32.png) [@Kyle\_Anderson](https://discourse.sensu.io/u/Kyle_Anderson)\
**Post date:** [December 17, 2015, 4:15pm UTC](https://discourse.sensu.io/t/multiple-sensu-servers/138/5 "2015-12-17T16:15:04Z")

</div>

I recommend using a service like archive.org to view pages that no longer exist:

> **[High availability monitoring with Sensu](https://web.archive.org/web/20150502115002/http://failshell.io/sensu/high-availability-sensu/)**
>
> Devops, web and security

> **···**
>
> On Tue, Dec 15, 2015 at 9:45 PM, kumar kittu \<dvrkittu@gmail.com\> wrote:
> 
> > HI Kyle,
> > 
> > I was seaching for High Availibilty Sensu and found your post.  
> > When I went to [http://failshell.io/sensu/high-availability-sensu/](http://failshell.io/sensu/high-availability-sensu/) is not  
> > going to correct page.Could you please let me know it there is any  
> > alternative for this.  
> > Thanks in advance
> > 
> > On Saturday, February 8, 2014 at 10:35:12 PM UTC+5:30, Kyle Anderson wrote:
> > 
> > > I found this blog post informative, illustrating one way to setup  
> > > Sensu clusters:  
> > > [http://failshell.io/sensu/high-availability-sensu/](http://failshell.io/sensu/high-availability-sensu/)
> > > 
> > > For the sensu-server part, yes, leader election is automatic and does  
> > > not need to be configured. As long as they are using the same redis  
> > > master, it will work:  
> > > [https://github.com/sensu/sensu/blob/master/lib/sensu/server.rb#L692](https://github.com/sensu/sensu/blob/master/lib/sensu/server.rb#L692)
> > > 
> > > RabbitMQ you can do whatever works best for your environment. To KISS  
> > > I put RabbitMQ on each sensu server and cluster them in mirror mode  
> > > per the failshell article. In my particular setup, it is not required  
> > > that a sensu-server us the \*local\* RMQ instance, but it can. In  
> > > practice it doesn't matter as long as they are mirrored:  
> > > [Classic Queue Mirroring — RabbitMQ](http://www.rabbitmq.com/ha.html)
> > > 
> > > The Redis part is a little tricky, but the failshell article also  
> > > covers how he handles it. However you do it, all sensu servers / api /  
> > > dashboards need to talk to \*a\* redis master. If you use something  
> > > fancy to move that around, that is cool.  
> > > Again, I'm using the failshell approach with haproxy. Maybe someday  
> > > Sensu will be Sentinel-aware?  
> > > Not to spread FUD, but if you are going to setup a Redis cluster, you  
> > > should be at least aware of the potential failure modes during splits:  
> > > [Jepsen: Redis](http://aphyr.com/posts/283-call-me-maybe-redis)
> > > 
> > > Welcome to the world of distributed systems! 🙂
> > > 
> > > On Sat, Feb 8, 2014 at 1:42 AM, \<lo...@spaceapegames.com\> wrote:  
> > > \> Hi,  
> > > \>  
> > > \> I am looking to improve on our single Sensu server installation. First  
> > > \> port  
> > > \> of call is resiliency, and most immediate answer there is - multiple  
> > > \> servers.  
> > > \>  
> > > \> However I am struggling to find information on this topic. I've read the  
> > > \> FAQs and the docs and various blog posts, I understand that there is  
> > > \> some  
> > > \> sort of covert master/slave election between servers, but don't see  
> > > \> where  
> > > \> that would be configured : how do the servers know about eachother?  
> > > \>  
> > > \> Also, is it mandatory to separate the RabbitMQ instances into a separate  
> > > \> tier, or can each server run RabbitMQ locally? Similarly, can they use a  
> > > \> local Redis instance or does one need to configure a shared Redis  
> > > \> backend  
> > > \> (or Elasticache, whatever)?  
> > > \>  
> > > \> Any assistance would be much appreciated, I'm a big fan of Sensu and  
> > > \> just  
> > > \> want to take our use of it to the next level.  
> > > \>  
> > > \> Thanks,  
> > > \> Louis McCormack

---

<div class="post-metadata">

**Author:** ![jspaleta](https://sea2.discourse-cdn.com/flex016/user_avatar/discourse.sensu.io/jspaleta/32/141_2.png) [@jspaleta](https://discourse.sensu.io/u/jspaleta)\
**Post date:** [November 22, 2018, 2:05am UTC](https://discourse.sensu.io/t/multiple-sensu-servers/138/6 "2018-11-22T02:05:06Z")

</div>


