mongodb_exporter

Ansible Роль для Percona MongoDB Экспортера

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

Это роль Ansible, которая устанавливает и настраивает Prometheus MongoDB Экспортер от Percona.

Требования

  1. Автоматическая генерация сертификатов 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-----
    
  2. Пользователь базы данных должен быть создан на всех отслеживаемых экземплярах MongoDB с соответствующими встроенными ролями. Пожалуйста, смотрите пример.

  3. Роль требует прав 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
Загрузки
9515
Владелец