当RabbitMQclosures时,Sensu不通知

我已经在一个实例上运行了API和服务器,并且在单独的实例上运行了RabbitMQ。 这对我们来说工作得很好。 但是,如果服务器或api与RabbitMQ的连接松动,则Sensu服务器不会发送任何通知。 我希望服务器在这种情况下No keep-alive sent from client in over 120 seconds通知No keep-alive sent from client in over 120 seconds发送No keep-alive sent from client in over 120 seconds 。 正如现在我们的设置,如果RabbitMQ失败(或连接失败),所有的监控将悄然失败。

当服务器或API进程松散连接到传输(RabbitMQ)时,如何将Sensuconfiguration为发送通知? 一般来说,监控监控软件的最佳做法是什么?

我有一个类似的设置,在一个集群层上使用Sensu Server,API和Uchiwa,一个RabbitMQ节点集群以及Redis的主/从设置。

我的理解是,所有的客户端消息进入队列进行处理。 如果队列不可用,则服务器进程无法到达队列以查看客户端进程无法到达队列。

我已经解决了这个问题(这对我公司和环境的属性是有意义的)是通过拥有多个Sensu群集,每个群集一个,每个群集监视另一个Redis群集的关键可用性点,通常是通过点击与群集组件的负载平衡器端点相对。

解决这个问题的另一种方法是在你的Sensu服务器实例上安装一个微小的RabbitMQ实例,这个服务器进程知道和Sensu服务器的Sensu客户端进行通信。 (这取决于Sensu服务器能够观看多个队列。)

我对我们的设置感到满意,因为它为我们提供了一个合理的保证,即我们的监测系统至less与其正在监测的一样。 如果你有能力纺织多个集群,我绝对会鼓励。 (我推荐这个不pipe使用什么样的监控产品。)如果没有,但是你有工程时间,我会build议调查是否可以增加当地的RabbitMQ。