Ansible: как автоматически отслеживать вновь созданные инстансы Amazon EC2 с помощью Prometheus?

Опубликовано: 2021-12-19
Ansible Получить список IP-адресов и динамически обновлять конфигурацию Prometheus

У вас есть какие-либо из приведенных ниже вопросов?

  • Используйте обнаружение служб на основе файлов для обнаружения целевых объектов очистки
  • Как автоматически обнаруживать использование нескольких IP-адресов?
  • Автоматический мониторинг инстансов EC2
  • Мониторинг с помощью Prometheus
  • Используете Prometheus для мониторинга недавно созданных инстансов Amazon EC2?
  • Как динамически обновлять файл списка IP-адресов Prometheus Targets после создания виртуальных машин Amazon EC2?

Ansible, без сомнения, является лучшим инструментом автоматизации операций в отрасли. На Crunchify мы опубликовали более десятка статей Ansible на самые разные темы.

В этом руководстве мы рассмотрим, как обновить файл списка IP-адресов Prometheus Targets после динамического создания виртуальных машин Amazon EC2.

Рассмотрим этот сценарий:

  1. Вы используете Prometheus для мониторинга вашей производственной инфраструктуры.
    • Подробно следуйте руководству по установке Prometheus.
  2. Использование ansible spawn 5 новых виртуальных машин Amazon EC2
    • Полностью следуйте руководству по созданию нового инстанса Amazon EC2.
  3. Получите 5 IP-адресов и обновите группу [crunchify] во время выполнения
    • Полностью следуйте руководству группы по обновлению файла ansible hosts.
  4. Обновите файл crunchify_prometheus.txt с обновленным IP-адресом.
  5. Отправьте файл на новый хост, где у вас запущен prometheus
  6. Prometheus будет читать этот новый updated IP file динамически.
  7. Вы будете автоматически контролировать все новые hosts

Для шагов с 4 по 7 мы рассмотрим все шаги здесь.

Как обновить файл списка IP-адресов Prometheus Targets после динамического создания виртуальных машин Amazon EC2

Подробные шаги:

  1. Получите список всех IP-адресов из файла доступных хостов в группе [Crunchify] .
  2. Добавьте все IP-адреса в файл crunchify.txt только для тестирования. Мы не будем использовать этот файл в следующих шагах.
  3. Удалите существующий файл crunchify_prometheus.json.
  4. Создайте новый файл crunchify_prometheus.json с образцом нового файла со списком IP-адресов prometheus.
  5. Замените iplist из файла crunchify_prometheus.json на список IP-адресов.
  6. Замените u' на ' .
  7. Замените ' на " .
  8. Удалите существующий файл crunchify_prometheus.json с удаленного хоста, на котором запущен процесс Prometheus.
  9. Скопируйте файл crunchify_prometheus.json с локального хоста на удаленный хост, чтобы prometheus мог его использовать.

файл crunchify_prometheus_file_update.yml.

Выполнить Ansible Playbook:

Результат Ansible Playbook:

Вот и все. Поздравляем. Вы успешно скопировали новый обновленный файл на новый хост, и теперь Prometheus автоматически отслеживает ваши вновь созданные инстансы Amazon EC2.

Что дальше?

Ознакомьтесь с руководством по install docker в Linux.

Как установить контейнер Docker в Linux? (Убунту и CentOS)