Sensu não notifica quando o RabbitMQ está inoperante

3

Eu configurei o Sensu com a API e o servidor em execução em uma instância e o RabbitMQ sendo executado em uma instância separada. Isso está funcionando muito bem para nós; no entanto, se o servidor ou a conectividade do api para o RabbitMQ, o Sensu Server não está enviando nenhuma notificação. Eu esperaria que o servidor enviasse No keep-alive sent from client in over 120 seconds notificações para cada cliente nesse cenário. Como está agora com a nossa configuração, se o RabbitMQ falhar (ou a conexão falhar), todo o monitoramento falhará silenciosamente.

Como o Sensu pode ser configurado para enviar notificações quando o servidor ou a API processa conectividade frouxa com o transporte (RabbitMQ)? Em geral, quais são as melhores práticas para monitorar o software de monitoramento?

    
por Brian 19.11.2014 / 22:03

1 resposta

1

Eu tenho uma configuração semelhante, com o Sensu Server, API e Uchiwa em uma camada de cluster, um cluster de nós RabbitMQ e uma configuração mestre / escravo do Redis.

Meu entendimento é que todas as mensagens do cliente vão para a fila para processamento. Se a fila não estiver disponível, o processo do servidor não poderá alcançar a fila para ver que o processo do cliente não pode alcançar a fila.

A maneira como eu resolvi isso (o que faz sentido para as propriedades da minha empresa e do ambiente) é ter vários clusters Sensu, um para cada ambiente, e cada cluster assiste aos principais pontos de disponibilidade do outro cluster Redis, normalmente atingindo os componentes do cluster oposto. Endpoints do balanceador de carga.

Outra maneira de resolver isso é instalando uma pequena instância do RabbitMQ na sua instância do Sensu Server que o processo do Server conhece e o Sensu Client do Sensu Server se comunica. (Isso dependeria do Sensu Server poder assistir a várias filas.)

Eu tenho ficado feliz com a configuração que temos, pois nos fornece uma garantia razoável de que nosso sistema de monitoramento está, pelo menos, tão disponível quanto as coisas que está assistindo. Se você tem a capacidade de criar vários clusters, eu absolutamente encorajaria isso. (Eu recomendo isso, independentemente do produto de monitoramento usado.) Se não, mas você tem tempo de engenharia, sugiro investigar se o RabbitMQ local adicional é possível.

    
por 20.11.2014 / 14:25