kostiantyn-nemchenko.mongodb_exporter

Ansible Role for Percona MongoDB Exporter

Build Status Ansible Galaxy

This Ansible role helps you install and set up the Prometheus MongoDB Exporter from Percona.

Requirements

  1. This role does not generate TLS/SSL certificates automatically. You need to enable TLS connection with your MongoDB database and provide the correct values for CA, client certificates, and client key. Here’s an example configuration:

    mongodb_exporter_mongodb_tls_cert:
      dest: /etc/ssl/certs/mongodb_exporter.crt
      owner: root
      group: root
      mode: "0644"
      content: |
        -----BEGIN CERTIFICATE-----
        content
        of the public
        certificate
        -----END CERTIFICATE-----
    
  2. You need a database user with the right built-in roles on all MongoDB instances. Please refer to this example.

  3. This role requires root access, so ensure you set become: true in any manner you prefer. Also, check this example playbook.

Role Variables

# Version of the exporter to install
mongodb_exporter_version: 0.7.0
# URL for the exporter repository
mongodb_exporter_base_url: https://github.com/percona/mongodb_exporter
# Architecture of the exporter binary
mongodb_exporter_arch: amd64
# URL to download the exporter
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"

# System user to run the exporter
mongodb_exporter_system_user: mongodb_exporter
# System groups for the user
mongodb_exporter_system_groups: ['mongodb_exporter', 'ssl-cert']
# Additional packages needed for the role/exporter
mongodb_exporter_system_packages:
  - { name: ca-certificates, state: present }
  - { name: tar,             state: present }

# List of environment variables to set before starting the exporter
mongodb_exporter_env_vars: []

# File path for environment variables
mongodb_exporter_env_file:
  dest: /etc/systemd/system/mongodb_exporter.service.d/environment.conf
  owner: root
  group: root
  mode: "0640"
# Directory for the exporter binary
mongodb_exporter_bin_dir:
  dest: /usr/local/bin
  owner: root
  group: root
  mode: "0755"

# Address for the web interface
mongodb_exporter_web_listen_address: :9216
# Path for metrics exposure
mongodb_exporter_web_telemetry_path: /metrics

# Options to enable metric collection
mongodb_exporter_collect_database: false
mongodb_exporter_collect_collection: false
mongodb_exporter_collect_topmetrics: false
mongodb_exporter_collect_indexusage: false

# MongoDB connection URI
mongodb_exporter_mongodb_uri: mongodb://127.0.0.1:27017

# TLS connection option
mongodb_exporter_mongodb_tls: false
# Path for trusted CA PEM file
mongodb_exporter_mongodb_tls_ca:
  dest: /etc/ssl/certs/mongodb_exporter_CA.pem
  owner: root
  group: root
  mode: "0644"
  content: ""
# Path for the certificate PEM file
mongodb_exporter_mongodb_tls_cert:
  dest: /etc/ssl/certs/mongodb_exporter.crt
  owner: root
  group: root
  mode: "0644"
  content: ""
# Path for the private key PEM file
mongodb_exporter_mongodb_tls_private_key:
  dest: /etc/ssl/private/mongodb_exporter.key
  owner: root
  group: ssl-cert
  mode: "0640"
  content: ""
# Disable hostname validation option
mongodb_exporter_mongodb_tls_disable_hostname_validation: false
# Max pooled connections to the database
mongodb_exporter_mongodb_max_connections: 1
# Socket timeout duration
mongodb_exporter_mongodb_socket_timeout: 3s
# Sync timeout duration
mongodb_exporter_mongodb_sync_timeout: 1m
# Authentication database for user
mongodb_exporter_authentification_database: ""

# Currently ignored option
mongodb_exporter_groups_enabled: ""

Dependencies

None

Example Playbook

- hosts: mongodb
  become: yes
  roles:
    - kostiantyn-nemchenko.mongodb_exporter

License

MIT

Author Information

Kostiantyn Nemchenko kostiantyn.nemchenko@gmail.com

Informazioni sul progetto

An Ansible role which installs and configures Percona MongoDB Exporter

Installa
ansible-galaxy install kostiantyn-nemchenko.mongodb_exporter
Licenza
mit
Download
17.8k
Proprietario