Ansible: Como monitorar automaticamente instâncias do Amazon EC2 recém-criadas usando o Prometheus?

Publicados: 2021-12-19
Ansible Obtenha a lista de IPs e atualize a configuração do Prometheus dinamicamente

Você tem alguma das perguntas abaixo?

  • Use a descoberta de serviço baseada em arquivo para descobrir destinos de raspagem
  • Como descobrir automaticamente o uso de vários IPs?
  • Monitorando automaticamente instâncias do EC2
  • Monitoramento com Prometheus
  • Usando o Prometheus para monitorar instâncias recém-criadas do Amazon EC2?
  • Como atualizar dinamicamente o arquivo de lista de IP de destinos do Prometheus após criar VMs do Amazon EC2?

O Ansible é, sem dúvida, a melhor ferramenta de automação de operações do mercado. No Crunchify, publicamos mais de uma dúzia de artigos do Ansible sobre vários tópicos.

Neste tutorial, veremos como atualizar o arquivo de lista de IPs do Prometheus Targets após criar VMs do Amazon EC2 dinamicamente.

Considere este cenário:

  1. Você está executando o Prometheus para monitorar sua infraestrutura de produção.
    • Siga o tutorial de configuração do Prometheus em detalhes.
  2. Usando ansible spawn 5 novas VMs Amazon EC2
    • Siga o tutorial de geração de nova instância do Amazon EC2 completamente.
  3. Obtenha 5 IPs e atualize o grupo [crunchify] em tempo de execução
    • Siga completamente o tutorial do grupo de atualização de arquivos hosts ansible.
  4. Atualize o arquivo crunchify_prometheus.txt com o IP atualizado
  5. Envie o arquivo para o novo host onde você tem o prometheus em execução
  6. O Prometheus lerá este novo updated IP file dinamicamente
  7. Você terá todos os novos hosts monitorados automaticamente

Para as etapas de 4 a 7, revisaremos todas as etapas aqui.

Como atualizar o arquivo de lista de IPs do Prometheus Targets após criar VMs do Amazon EC2 dinamicamente

Etapas detalhadas:

  1. Obtenha a lista de todos os IPs do arquivo de hosts ansible no grupo [Crunchify] .
  2. Adicione todos os IPs ao arquivo crunchify.txt apenas para fins de teste. Não vamos usar este arquivo nas próximas etapas.
  3. Exclua o arquivo crunchify_prometheus.json existente.
  4. Crie um novo arquivo crunchify_prometheus.json com o novo arquivo de lista de IP do prometheus de amostra.
  5. Substitua iplist do arquivo crunchify_prometheus.json pela lista de IPs.
  6. Substitua u' por ' .
  7. Substitua ' por " .
  8. Exclua o arquivo crunchify_prometheus.json existente do host remoto em que o processo do Prometheus está em execução.
  9. Copie o arquivo crunchify_prometheus.json do host local para o host remoto para que o prometheus possa consumi-lo.

arquivo crunchify_prometheus_file_update.yml.

Execute o Ansible Playbook:

Resultado do Ansible Playbook:

É isso. Parabéns. Você copiou com sucesso o novo arquivo atualizado para o novo host e o Prometheus agora está monitorando automaticamente suas instâncias do Amazon EC2 recém-criadas.

Qual é o próximo?

Confira o tutorial sobre como install docker no Linux.

Como instalar o Docker Container no Linux? (Ubuntu e CentOS)