kostiantyn-nemchenko.mongodb_exporter

Ansible-Rolle für Percona MongoDB Exporter

Build Status Ansible Galaxy

Eine Ansible-Rolle, die den Prometheus MongoDB Exporter von Percona installiert und konfiguriert.

Anforderungen

  1. Die automatische Generierung von TLS/SSL-Zertifikaten gehört nicht zum Umfang dieser Rolle. Stellen Sie sicher, dass Sie die TLS-Verbindung zur MongoDB-Instanz aktiviert haben und die korrekten Werte für CA, Client-Zertifikate und Client-Schlüssel angegeben haben. Beispiel:

    mongodb_exporter_mongodb_tls_cert:
      dest: /etc/ssl/certs/mongodb_exporter.crt
      owner: root
      group: root
      mode: "0644"
      content: |
        -----BEGIN CERTIFICATE-----
        Inhalt
        des öffentlichen
        Zertifikats
        -----END CERTIFICATE-----
    
  2. Ein Datenbankbenutzer muss auf allen überwachten MongoDB-Instanzen mit den entsprechenden integrierten Rollen vorhanden sein. Bitte sehen Sie sich das Beispiel an.

  3. Die Rolle benötigt Root-Rechte, also setzen Sie become: true auf jede gewünschte Weise für Sie. Bitte sehen Sie sich das Beispiel-Playbook an.

Rollenvariablen

# Version des Exporters, die installiert werden soll
mongodb_exporter_version: 0.7.0
# URL des Exporter-Repositorys
mongodb_exporter_base_url: https://github.com/percona/mongodb_exporter
# Binärarchitektur des Exporters
mongodb_exporter_arch: amd64
# Download-URL des Exporters
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"

# OS-Benutzer, unter dem der Exporter ausgeführt wird
mongodb_exporter_system_user: mongodb_exporter
# OS-Gruppen, in die der Benutzer aufgenommen werden soll
mongodb_exporter_system_groups: ['mongodb_exporter', 'ssl-cert']
# Zusätzliche Pakete, die als Abhängigkeiten für die Rolle/den Exporter eingerichtet werden sollen
mongodb_exporter_system_packages:
  - { name: ca-certificates, state: present }
  - { name: tar,             state: present }

# Liste der Umgebungsvariablen, die vor dem Starten des Exporters gesetzt werden sollen
mongodb_exporter_env_vars: []

# Pfad zur Datei, die vordefinierte Umgebungsvariablen enthält
mongodb_exporter_env_file:
  dest: /etc/systemd/system/mongodb_exporter.service.d/environment.conf
  owner: root
  group: root
  mode: "0640"
# Pfad zum Verzeichnis, das die Exporter-Binärdatei enthält
mongodb_exporter_bin_dir:
  dest: /usr/local/bin
  owner: root
  group: root
  mode: "0755"

# Adresse, auf der die Weboberfläche und Telemetriedaten empfangen werden
mongodb_exporter_web_listen_address: :9216
# Pfad, unter dem Metriken bereitgestellt werden
mongodb_exporter_web_telemetry_path: /metrics

# Aktivieren der Sammlung von Datenbankmetriken
mongodb_exporter_collect_database: false
# Aktivieren der Sammlung von Collectionsmetriken
mongodb_exporter_collect_collection: false
# Aktivieren der Sammlung von Topmetriken
mongodb_exporter_collect_topmetrics: false
# Aktivieren der Sammlung von Nutzungsstatistiken pro Index
mongodb_exporter_collect_indexusage: false

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

# Aktivieren der TLS-Verbindung zum MongoDB-Server
mongodb_exporter_mongodb_tls: false
# Pfad zur PEM-Datei, die die für Serververbindungen vertrauenswürdigen CAs enthält
mongodb_exporter_mongodb_tls_ca:
  dest: /etc/ssl/certs/mongodb_exporter_CA.pem
  owner: root
  group: root
  mode: "0644"
  content: ""
# Pfad zur PEM-Datei, die das Zertifikat (und optional auch den entschlüsselten privaten Schlüssel im PEM-Format) enthält
mongodb_exporter_mongodb_tls_cert:
  dest: /etc/ssl/certs/mongodb_exporter.crt
  owner: root
  group: root
  mode: "0644"
  content: ""
# Pfad zur PEM-Datei, die den entschlüsselten privaten Schlüssel enthält (sofern nicht in der Datei mongodb.tls-cert enthalten)
mongodb_exporter_mongodb_tls_private_key:
  dest: /etc/ssl/private/mongodb_exporter.key
  owner: root
  group: ssl-cert
  mode: "0640"
  content: ""
# Deaktivieren der Hostnamenvalidierung für die Serververbindung
mongodb_exporter_mongodb_tls_disable_hostname_validation: false
# Maximale Anzahl der gepoolten Verbindungen zur Datenbank
mongodb_exporter_mongodb_max_connections: 1
# Zeitspanne, die auf einem nicht antwortenden Socket zur Datenbank gewartet wird, bevor dieser gewaltsam geschlossen wird
mongodb_exporter_mongodb_socket_timeout: 3s
# Zeitspanne, die eine Operation mit dieser Sitzung warten wird, bevor ein Fehler zurückgegeben wird, falls keine Verbindung zu einem verwendbaren Server hergestellt werden kann
mongodb_exporter_mongodb_sync_timeout: 1m
# Gibt die Datenbank an, in der der Benutzer erstellt wird
mongodb_exporter_authentification_database: ""

# Derzeit ignoriert
mongodb_exporter_groups_enabled: ""

Abhängigkeiten

Keine

Beispiel-Playbook

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

Lizenz

MIT

Autoreninformationen

Kostiantyn Nemchenko kostiantyn.nemchenko@gmail.com

Über das Projekt

An Ansible role which installs and configures Percona MongoDB Exporter

Installieren
ansible-galaxy install kostiantyn-nemchenko.mongodb_exporter
Lizenz
mit
Downloads
17.8k