Servidor aleatório no serviço nagios

1

Eu tenho um cluster de N nós que contém algumas informações distribuídas. A consulta que quero monitorar com nagios faz sentido executar apenas em um nó do cluster (qualquer). Mas eu não quero sobrecarregar um nó em particular, então eu quero que nagios selecione cada vez nó aleatório da lista de nós.

Então, eu esperaria ver algo como:

define service{
    service_description    Recent document time for the cluster
    hostgroup_name         random
    ...
}

onde random hostgroup define de alguma forma nó aleatório de uma lista predefinida de nós do cluster.

Isso é possível com o nagios3? Alguma sugestão?

    
por gakhov 05.03.2013 / 17:50

5 respostas

4

Você poderia configurar o DNS para fornecer um host aleatório para um determinado nome?

Você também pode escrever uma verificação de serviço personalizada.

Se você REALMENTE quiser esse recurso no nagios ... hackear a fonte

    
por 05.03.2013 / 18:12
1

Eu não acredito que seja possível fazer nativamente via nagios. Mas, é possível fazer através de um script de verificação personalizado, implementado no idioma de sua escolha. Basta fazer com que o script de verificação escolha um nó aleatório (ou round-robin, etc.) sempre que for executado.

    
por 05.03.2013 / 18:07
1

Não é do meu conhecimento, se você estiver executando um plug-in personalizado que você tenha escrito, deve ser bastante trivial adicionar uma opção que seja obtida aleatoriamente de vários hosts transmitidos e testar apenas um deles.

Você menciona que existem N nós, eu não suponho que todos eles estejam atrás de um VIP de algum tipo, que apenas aponta para um nó, e se move para uma caixa diferente conforme necessário?

Um pouco mais de uma descrição da configuração seria útil, se não pudermos encontrar nada, ficaremos felizes em ajudar você a criar algo, mesmo que seja personalizado.

    
por 05.03.2013 / 18:13
1

Uma outra solução para isso é executar a verificação em cada servidor de nó e compensar os horários por meio de um agendador de tarefas / cron e fazer com que as verificações exibam os resultados em um local central. Você pode fazer com que a verificação do Nagios observe os resultados nesse arquivo de acordo.

Dessa forma, você não precisaria alterar nada no Nagios ao adicionar um novo nó, e isso poderia fazer parte da configuração do seu nó.

Não é a solução mais limpa, mas pode ajudá-lo a lidar com isso.

    
por 05.03.2013 / 18:32
1

Eu tenho um wrapper check_nrpe que faz isso. Eu crio um objeto host com o objetivo 'name' definido como algo como 'RANDOM-001' (também suporta 'RNDRBN-001'). Quando o wrapper check_nrpe vê isso, ele usa os dígitos finais para escolher uma lista Perl de nomes de host do servidor para enviar a verificação. Em seguida, basta incluir isso como nome do host na descrição do Service Check. Uma versão mais recente do wrapper pega os nomes de host do arquivo host_groups.cfg do Nagios.

    
por 06.03.2013 / 18:28