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 playbook for managing Prometheus monitoring system
ansible-galaxy install ernestas-poskus/ansible-prometheus