Monitorando o pull Ansible com Nagios

1

Eu tenho um par (digamos 40) de estações de trabalho e servidores que são configurados usando Ansible na configuração pull. Cada máquina tem uma tarefa cron que usa ansible-pull para extrair um repositório git e aplicá-lo no próprio host. Atualmente, os resultados são enviados por e-mail para minha conta.

Nos e-mails, tenho que verificar se alguns dos hosts não enviaram um e-mail naquele dia para descobrir que eles estão desativados ou têm algum outro problema. Se uma máquina estiver faltando, tento conectar-me via SSH. Se estiver desligado, tudo bem. Caso contrário, tento corrigir o problema.

Alguns dias atrás eu configurei o Nagios em um servidor para obter uma visão geral das máquinas. Configurar o monitoramento via ping e SSH foi fácil, agora vejo quais máquinas estão ativas e quais estão desativadas.

Agora eu gostaria de de alguma forma também monitorar o estado Ansible no Nagios. Eu não encontrei um plugin direto no Nagios Exchange, então eu tive as seguintes idéias:

  1. Grave a saída de ansible-pull em um arquivo de log com um registro de data e hora e deixe o host do Nagios recuperar todos os logs das máquinas. Em seguida, seria necessário verificar se o último registro de data e hora não é mais antigo do que 24 + X horas, em que X é uma margem como 1 hora.

  2. Converta tudo de volta para a arquitetura de envio e apenas execute ansible-playbook no servidor de infraestrutura. Isso cria um arquivo e eu tenho uma visão geral, que pode ser analisada de alguma forma pelo Nagios.

  3. Mova nosso gerenciamento de configuração para o Puppet, já que isso parece ter algum monitoramento sendo construído e usado em vez do Nagios.

  4. A compra da torre Ansible pode ser uma solução, mas não haverá dinheiro para isso. Até agora, as pessoas só vieram ao meu escritório se a estação de trabalho estiver paralisada, por isso não precisamos realmente de um sistema de monitoramento. Eu quero fazer isso apenas com software livre.

A primeira opção parece ser a mais fácil da configuração atual, mas não tenho certeza de qual implementação sensata seria. Uma resposta seria muito apreciada se me fornecer um esboço para a implementação e indicações dos plugins necessários para o Nagios.

    
por Martin Ueding 19.08.2018 / 11:45

1 resposta

2

Para isso, você usaria algum formulário ou execução de comando remoto. Icinga2 Agent, NRPE ou SSH, e coloque o executável da verificação na própria máquina. Ele será verificado localmente e apenas retornará a saída de verificação.

    
por 19.08.2018 / 12:58