kostiantyn-nemchenko.mongodb_exporter

Rôle Ansible pour l'Exportateur MongoDB de Percona

État de la construction Ansible Galaxy

Un rôle Ansible qui installe et configure l'Exportateur MongoDB de Prometheus par Percona.

Exigences

  1. La génération automatique des certificats TLS/SSL ne fait pas partie de ce rôle. Assurez-vous d'avoir activé la connexion TLS avec l'instance MongoDB et d'avoir spécifié les valeurs correctes pour CA, certificats client et clé client. Exemple :

    mongodb_exporter_mongodb_tls_cert:
      dest: /etc/ssl/certs/mongodb_exporter.crt
      owner: root
      group: root
      mode: "0644"
      content: |
        -----BEGIN CERTIFICATE-----
        contenu
        du certificat
        public
        -----END CERTIFICATE-----
    
  2. Un utilisateur de base de données doit être présent sur toutes les instances MongoDB surveillées avec les rôles intégrés appropriés attribués. Veuillez consulter l'exemple.

  3. Le rôle nécessite des privilèges root, donc définissez become: true de la manière qui vous convient. Veuillez consulter l'exemple de playbook.

Variables du Rôle

# Version de l'exportateur à installer
mongodb_exporter_version: 0.7.0
# URL du dépôt de l'exportateur
mongodb_exporter_base_url: https://github.com/percona/mongodb_exporter
# Architecture binaire de l'exportateur
mongodb_exporter_arch: amd64
# URL de téléchargement de l'exportateur
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"

# Utilisateur OS sous lequel exécuter l'exportateur
mongodb_exporter_system_user: mongodb_exporter
# Groupes OS à inclure dans l'utilisateur
mongodb_exporter_system_groups: ['mongodb_exporter', 'ssl-cert']
# Packages supplémentaires à configurer comme dépendances du rôle/exportateur
mongodb_exporter_system_packages:
  - { name: ca-certificates, state: present }
  - { name: tar, state: present }

# Liste des variables d'environnement à définir avant de démarrer l'exportateur
mongodb_exporter_env_vars: []

# Chemin vers le fichier contenant des variables d'environnement prédéfinies
mongodb_exporter_env_file:
  dest: /etc/systemd/system/mongodb_exporter.service.d/environment.conf
  owner: root
  group: root
  mode: "0640"
# Chemin vers le répertoire contenant le binaire de l'exportateur
mongodb_exporter_bin_dir:
  dest: /usr/local/bin
  owner: root
  group: root
  mode: "0755"

# Adresse à écouter pour l'interface web et la télémétrie
mongodb_exporter_web_listen_address: :9216
# Chemin sous lequel exposer les métriques
mongodb_exporter_web_telemetry_path: /metrics

# Activer la collecte des métriques de base de données
mongodb_exporter_collect_database: false
# Activer la collecte des métriques de collection
mongodb_exporter_collect_collection: false
# Activer la collecte des métriques de tableaux
mongodb_exporter_collect_topmetrics: false
# Activer la collecte des statistiques d'utilisation par index
mongodb_exporter_collect_indexusage: false

# URI MongoDB au format [mongodb://][user:pass@]host1[:port1][,host2[:port2],...][/database][?options]
mongodb_exporter_mongodb_uri: mongodb://127.0.0.1:27017

# Activer la connexion tls avec le serveur mongo
mongodb_exporter_mongodb_tls: false
# Chemin vers le fichier PEM contenant les CA qui sont approuvés pour les connexions serveur
mongodb_exporter_mongodb_tls_ca:
  dest: /etc/ssl/certs/mongodb_exporter_CA.pem
  owner: root
  group: root
  mode: "0644"
  content: ""
# Chemin vers le fichier PEM contenant le certificat (et éventuellement aussi la clé privée déchiffrée au format PEM)
mongodb_exporter_mongodb_tls_cert:
  dest: /etc/ssl/certs/mongodb_exporter.crt
  owner: root
  group: root
  mode: "0644"
  content: ""
# Chemin vers le fichier PEM contenant la clé privée déchiffrée (si non contenue dans le fichier mongodb.tls-cert)
mongodb_exporter_mongodb_tls_private_key:
  dest: /etc/ssl/private/mongodb_exporter.key
  owner: root
  group: ssl-cert
  mode: "0640"
  content: ""
# Désactiver la validation du nom d'hôte pour la connexion au serveur
mongodb_exporter_mongodb_tls_disable_hostname_validation: false
# Nombre max de connexions mises en pool à la base de données
mongodb_exporter_mongodb_max_connections: 1
# Temps d'attente avant la fermeture forcée d'un socket non répondant à la base de données
mongodb_exporter_mongodb_socket_timeout: 3s
# Temps d'attente d'une opération avec cette session avant de retourner une erreur si une connexion à un serveur utilisable ne peut pas être établie
mongodb_exporter_mongodb_sync_timeout: 1m
# Spécifie la base de données dans laquelle l'utilisateur est créé
mongodb_exporter_authentification_database: ""

# Ignoré actuellement
mongodb_exporter_groups_enabled: ""

Dépendances

Aucune

Exemple de Playbook

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

Licence

MIT

Informations sur l'Auteur

Kostiantyn Nemchenko kostiantyn.nemchenko@gmail.com

À propos du projet

An Ansible role which installs and configures Percona MongoDB Exporter

Installer
ansible-galaxy install kostiantyn-nemchenko.mongodb_exporter
Licence
mit
Téléchargements
17.8k
Propriétaire