mongodb_exporter
Ansible Роль для Percona MongoDB Экспортера
Это роль Ansible, которая устанавливает и настраивает Prometheus MongoDB Экспортер от Percona.
Требования
Автоматическая генерация сертификатов TLS/SSL не входит в задачи этой роли. Убедитесь, что вы включили соединение TLS с экземпляром MongoDB и указали правильные значения для CA, клиентских сертификатов и клиентского ключа. Пример:
mongodb_exporter_mongodb_tls_cert: dest: /etc/ssl/certs/mongodb_exporter.crt owner: root group: root mode: "0644" content: | -----BEGIN CERTIFICATE----- содержимое публичного сертификата -----END CERTIFICATE-----
Пользователь базы данных должен быть создан на всех отслеживаемых экземплярах MongoDB с соответствующими встроенными ролями. Пожалуйста, смотрите пример.
Роль требует прав root, поэтому установите
become: true
удобным для вас способом. Пожалуйста, смотрите пример плейбука.
Переменные роли
# Версия экспортера для установки
mongodb_exporter_version: 0.7.0
# URL репозитория экспортера
mongodb_exporter_base_url: https://github.com/percona/mongodb_exporter
# Архитектура бинарника экспортера
mongodb_exporter_arch: amd64
# URL для загрузки экспортера
mongodb_exporter_release_url: "{{ mongodb_exporter_base_url }}/releases/download/v{{ mongodb_exporter_version }}/mongodb_exporter-{{ mongodb_exporter_version }}.{{ ansible_system |lower }}-{{ mongodb_exporter_arch }}.tar.gz"
# Пользователь ОС для запуска экспортера
mongodb_exporter_system_user: mongodb_exporter
# Группы ОС, в которые следует добавить пользователя
mongodb_exporter_system_groups: ['mongodb_exporter', 'ssl-cert']
# Дополнительные пакеты для установки в качестве зависимостей роли/экспортера
mongodb_exporter_system_packages:
- { name: ca-certificates, state: present }
- { name: tar, state: present }
# Список переменных окружения для установки перед запуском экспортера
mongodb_exporter_env_vars: []
# Путь к файлу, содержащему предустановленные переменные окружения
mongodb_exporter_env_file:
dest: /etc/systemd/system/mongodb_exporter.service.d/environment.conf
owner: root
group: root
mode: "0640"
# Путь к каталогу, содержащему бинарник экспортера
mongodb_exporter_bin_dir:
dest: /usr/local/bin
owner: root
group: root
mode: "0755"
# Адрес для прослушивания веб-интерфейса и телеметрии
mongodb_exporter_web_listen_address: :9216
# Путь, по которому будут доступны метрики
mongodb_exporter_web_telemetry_path: /metrics
# Включить сбор метрик базы данных
mongodb_exporter_collect_database: false
# Включить сбор метрик коллекций
mongodb_exporter_collect_collection: false
# Включить сбор метрик по верхним таблицам
mongodb_exporter_collect_topmetrics: false
# Включить сбор статистики использования по индексам
mongodb_exporter_collect_indexusage: false
# MongoDB URI в формате [mongodb://][user:pass@]host1[:port1][,host2[:port2],...][/database][?options]
mongodb_exporter_mongodb_uri: mongodb://127.0.0.1:27017
# Включить tls-соединение с сервером mongo
mongodb_exporter_mongodb_tls: false
# Путь к PEM-файлу, который содержит доверенные CA для соединений с сервером
mongodb_exporter_mongodb_tls_ca:
dest: /etc/ssl/certs/mongodb_exporter_CA.pem
owner: root
group: root
mode: "0644"
content: ""
# Путь к PEM-файлу, который содержит сертификат (и, возможно, расшифрованный закрытый ключ в формате PEM)
mongodb_exporter_mongodb_tls_cert:
dest: /etc/ssl/certs/mongodb_exporter.crt
owner: root
group: root
mode: "0644"
content: ""
# Путь к PEM-файлу, который содержит расшифрованный закрытый ключ (если не содержится в файле mongodb.tls-cert)
mongodb_exporter_mongodb_tls_private_key:
dest: /etc/ssl/private/mongodb_exporter.key
owner: root
group: ssl-cert
mode: "0640"
content: ""
# Отключить проверку имени хоста для соединения с сервером
mongodb_exporter_mongodb_tls_disable_hostname_validation: false
# Максимальное количество подключений к базе данных в пуле
mongodb_exporter_mongodb_max_connections: 1
# Время ожидания для неотвечающего сокета к базе данных перед его принудительным закрытием
mongodb_exporter_mongodb_socket_timeout: 3s
# Время, в течение которого операция с этой сессией будет ждать, прежде чем вернуть ошибку, если не удастся установить соединение с доступным сервером
mongodb_exporter_mongodb_sync_timeout: 1m
# Указывает базу данных, в которой создается пользователь
mongodb_exporter_authentification_database: ""
# В данный момент игнорируется
mongodb_exporter_groups_enabled: ""
Зависимости
Нет
Пример плейбука
- hosts: mongodb
become: yes
roles:
- kostiantyn-nemchenko.mongodb_exporter
Лицензия
MIT
Информация об авторе
Костянтин Неменченко kostiantyn.nemchenko@gmail.com
О проекте
An Ansible role which installs and configures Percona MongoDB Exporter
Установить
ansible-galaxy install kostiantyn-nemchenko/ansible-role-mongodb-exporter
Лицензия
mit
Загрузки
11658
Владелец