kostiantyn-nemchenko.mongodb_exporter

Rola Ansible dla Eksportera MongoDB Percona

Status budowy Ansible Galaxy

Jest to rola Ansible, która instaluje i konfiguruje Eksportera MongoDB Prometheus od Percona.

Wymagania

  1. Automatyczne generowanie certyfikatów TLS/SSL nie wchodzi w zakres tej roli. Upewnij się, że włączyłeś połączenie TLS z instancją MongoDB i podałeś poprawne wartości dla CA, certyfikatów klienta i klucza klienta. Przykład:

    mongodb_exporter_mongodb_tls_cert:
      dest: /etc/ssl/certs/mongodb_exporter.crt
      owner: root
      group: root
      mode: "0644"
      content: |
        -----BEGIN CERTIFICATE-----
        zawartość
        certyfikatu
        publicznego
        -----END CERTIFICATE-----
    
  2. Na wszystkich monitorowanych instancjach MongoDB musi być obecny użytkownik bazy danych z odpowiednimi przypisanymi rolami. Proszę zobaczyć przykład.

  3. Rola wymaga uprawnień roota, więc ustaw become: true w dowolny dogodny sposób dla siebie. Proszę zobaczyć przykładowy playbook.

Zmienne roli

# Wersja eksportera do zainstalowania
mongodb_exporter_version: 0.7.0
# URL repozytorium eksportera
mongodb_exporter_base_url: https://github.com/percona/mongodb_exporter
# Architektura binarna eksportera
mongodb_exporter_arch: amd64
# URL do pobierania eksportera
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"

# Użytkownik systemu, pod którym będzie działał eksporter
mongodb_exporter_system_user: mongodb_exporter
# Grupy systemowe do dołączenia użytkownika
mongodb_exporter_system_groups: ['mongodb_exporter', 'ssl-cert']
# Dodatkowe pakiety do zainstalowania jako zależności roli/eksportera
mongodb_exporter_system_packages:
  - { name: ca-certificates, state: present }
  - { name: tar,             state: present }

# Lista zmiennych środowiskowych do ustawienia przed uruchomieniem eksportera
mongodb_exporter_env_vars: []

# Ścieżka do pliku, który zawiera wstępnie ustawione zmienne środowiskowe
mongodb_exporter_env_file:
  dest: /etc/systemd/system/mongodb_exporter.service.d/environment.conf
  owner: root
  group: root
  mode: "0640"
# Ścieżka do katalogu, w którym znajduje się binarka eksportera
mongodb_exporter_bin_dir:
  dest: /usr/local/bin
  owner: root
  group: root
  mode: "0755"

# Adres do nasłuchu na interfejsie webowym i telemetrii
mongodb_exporter_web_listen_address: :9216
# Ścieżka, pod którą będą dostępne metryki
mongodb_exporter_web_telemetry_path: /metrics

# Włącz zbieranie metryk bazy danych
mongodb_exporter_collect_database: false
# Włącz zbieranie metryk kolekcji
mongodb_exporter_collect_collection: false
# Włącz zbieranie metryk top
mongodb_exporter_collect_topmetrics: false
# Włącz zbieranie statystyk wykorzystania indeksów
mongodb_exporter_collect_indexusage: false

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

# Włącz połączenie tls z serwerem mongo
mongodb_exporter_mongodb_tls: false
# Ścieżka do pliku PEM, który zawiera zaufane CA dla połączeń z serwerem
mongodb_exporter_mongodb_tls_ca:
  dest: /etc/ssl/certs/mongodb_exporter_CA.pem
  owner: root
  group: root
  mode: "0644"
  content: ""
# Ścieżka do pliku PEM, który zawiera certyfikat (opcjonalnie także odszyfrowany klucz prywatny w formacie PEM)
mongodb_exporter_mongodb_tls_cert:
  dest: /etc/ssl/certs/mongodb_exporter.crt
  owner: root
  group: root
  mode: "0644"
  content: ""
# Ścieżka do pliku PEM, który zawiera odszyfrowany klucz prywatny (jeżeli nie jest zawarty w pliku mongodb.tls-cert)
mongodb_exporter_mongodb_tls_private_key:
  dest: /etc/ssl/private/mongodb_exporter.key
  owner: root
  group: ssl-cert
  mode: "0640"
  content: ""
# Wyłącz walidację nazwy hosta dla połączenia z serwerem
mongodb_exporter_mongodb_tls_disable_hostname_validation: false
# Maksymalna liczba połączeń do bazy danych
mongodb_exporter_mongodb_max_connections: 1
# Czas oczekiwania na nieodpowiadający gniazdo do bazy danych przed jego wymuszeniem
mongodb_exporter_mongodb_socket_timeout: 3s
# Czas oczekiwania na operację z tym sesją przed zwróceniem błędu w przypadku, gdy nie można nawiązać połączenia z użytecznym serwerem
mongodb_exporter_mongodb_sync_timeout: 1m
# Określa bazę danych, w której tworzony jest użytkownik
mongodb_exporter_authentification_database: ""

# Aktualnie ignorowane
mongodb_exporter_groups_enabled: ""

Zależności

Brak

Przykładowy Playbook

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

Licencja

MIT

Informacje o autorze

Kostiantyn Nemchenko kostiantyn.nemchenko@gmail.com

O projekcie

An Ansible role which installs and configures Percona MongoDB Exporter

Zainstaluj
ansible-galaxy install kostiantyn-nemchenko.mongodb_exporter
Licencja
mit
Pobrania
17.8k
Właściciel