ansible-prometheus

ansible-prometheus

Статус сборки

Ansible playbook для установки системы мониторинга Prometheus.

Playbook устанавливает и управляет службами с помощью systemd. В настоящее время поддерживаются:

  • Prometheus
  • Node Exporter (собирает метрики хост-машины)
  • Alert manager
  • Push gateway
  • SNMP exporter
  • Blackbox exporter

Playbook включает в себя обширные параметры конфигурации, смотрите default/main.yml

Вклад

Если вы не можете найти нужный exporter, проверьте эти примеры #47 или #50 и сделайте pull request.

Установка

ansible-galaxy install ernestas-poskus.ansible-prometheus

Требования

Systemd

Переменные роли

---
# файл по умолчанию для ansible-prometheus

prometheus_install: true
prometheus_node_exporter_install: true
prometheus_alert_manager_install: true
prometheus_push_gateway_install: false
prometheus_snmp_exporter_install: false
prometheus_blackbox_exporter_install: false

prometheus_owner: 'prometheus'
prometheus_group: 'prometheus'

prometheus_install_dir: '/usr/local/opt'
prometheus_config_dir: '/etc/prometheus'
prometheus_lib_dir: '/var/lib/prometheus'
prometheus_rules_dir: "{{ prometheus_config_dir }}/rules"

prometheus_data_dir: "{{ prometheus_lib_dir }}/prometheus2"
prometheus_alert_manager_data_dir: "{{ prometheus_lib_dir }}/alertmanager"
prometheus_alert_manager_config_dir: "{{ prometheus_config_dir }}/alertmanager"
prometheus_alert_manager_templates_dir: "{{ prometheus_config_dir }}/alertmanager/templates"
prometheus_snmp_exporter_config_dir: "{{ prometheus_config_dir }}/snmpexporter"
prometheus_blackbox_exporter_config_dir: "{{ prometheus_config_dir }}/blackboxexporter"

# Prometheus
prometheus_version: '2.25.1'
prometheus_platform_architecture: 'linux-amd64'

# Количество разрешенных открытых файлов, значение для LimitNOFILE
prometheus_service_limitnofile: infinity

# Node exporter
prometheus_node_exporter_version: '1.1.2'

# Alert manager
prometheus_alert_manager_version: '0.21.0'

# Pushgateway
prometheus_push_gateway_version: '1.4.0'

# SNMP exporter
prometheus_snmp_exporter_version: '0.20.0'

# Blackbox exporter
prometheus_blackbox_exporter_version: '0.18.0'

Документация: Переменные Prometheus

Документация: Переменные Node exporter

Документация: Переменные Alert manager

Документация: Переменные Pushgateway

Документация: Переменные SNMP exporter

Документация: Переменные Blackbox exporter

Зависимости

Нет.

Пример Playbook

Приведение примера того, как использовать вашу роль (например, с переменными, переданными в качестве параметров), всегда будет полезно для пользователей:

- name: Установка Prometheus на хост-машину
  hosts: vagrant1
  sudo: yes
  roles:
    - role: ansible-prometheus
      prometheus_config_scrape_configs:
        - job_name: 'prometheus'
          honor_labels: true
          scrape_interval: '15s'
          scrape_timeout: '3s'
          metrics_path: '/metrics'
          scheme: 'http'
          static_configs:
            - targets:
                - 'localhost:9090' # Сам Prometheus
                - 'localhost:9100' # Node exporter
        - job_name: 'consul-services'
          consul_sd_configs:
            - server: "localhost:8500"

Лицензия

Авторские права (c) 2021, Эрнестас Поскюс Все права защищены.

Перераспределение и использование в исходных и бинарных формах, с или без изменения, разрешены при условии выполнения следующих условий:

  • Перераспределение исходного кода должно сохранять вышеуказанное уведомление об авторских правах, этот список условий и следующую оговорку.

  • Перераспределение в бинарной форме должно воспроизводить вышеуказанное уведомление об авторских правах, этот список условий и следующую оговорку в документации и/или других материалах, предоставленных вместе с дистрибутивом.

  • Ни одно имя ansible-prometheus, ни имена его участников не могут использоваться для одобрения или продвижения продуктов, производных от этого программного обеспечения, без предварительного письменного разрешения.

ЭТО ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ ДЕРЖАТЕЛЯМИ АВТОРСКИХ ПРАВ И УЧАСТНИКАМИ "КАК ЕСТЬ" И ЛЮБЫЕ ЯВНЫЕ ИЛИ ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ПОДРАЗУМЕВАЕМЫЕ ГАРАНТИИ КОММЕРЧЕСКОЙ ЖИЗНЕДЕЯТЕЛЬНОСТИ И ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЁННЫХ ЦЕЛЕЙ, ОТКЛОНЯЮТСЯ. НИ В КОЕМ СЛУЧАЕ ДЕРЖАТЕЛЬ АВТОРСКИХ ПРАВ ИЛИ УЧАСТНИКИ НЕ НОСЯТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРОЯВЛЕНИЯ, КОСВЕННЫЕ, ДОПУСКАЕМЫЕ, СЛУЧАЙНЫЕ, ОСОБЫЕ, КЛАССИФИЦИРУЕМЫЕ ИЛИ ПОСЛЕДУЮЩИЕ УБЫТКИ (ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ПРИОБРЕТЕНИЕМ ЗАМЕНЫ ТОВАРОВ ИЛИ УСЛУГ; УТРАТА ИСПОЛЬЗОВАНИЯ, ДАННЫХ ИЛИ ПРИБЫЛИ; ИЛИ ПРЕРВАНИЕ БИЗНЕСА) ЛЮБЫМ ОБРАЗОМ И НЕСМОТРЯ НА ДАННОЕ ПРЕДУПРЕЖДЕНИЕ О РИСКАХ.

Информация об авторе

Twitter: @ernestas_poskus

Установить
ansible-galaxy install ernestas-poskus/ansible-prometheus
Лицензия
bsd-3-clause
Загрузки
6255
Владелец
pragmatic & ambitious