kostiantyn-nemchenko.mongodb_exporter
Rol de Ansible para el Exportador de MongoDB de Percona
Un rol de Ansible que instala y configura el Exportador de MongoDB de Prometheus de Percona.
Requisitos
La generación automática de certificados TLS/SSL está fuera del alcance de este rol. Asegúrate de que has activado la conexión TLS con la instancia de MongoDB y de haber especificado los valores correctos para CA, certificados de cliente y clave de cliente. Ejemplo:
mongodb_exporter_mongodb_tls_cert: dest: /etc/ssl/certs/mongodb_exporter.crt owner: root group: root mode: "0644" content: | -----BEGIN CERTIFICATE----- contenido del certificado público -----END CERTIFICATE-----
Se necesita que un usuario de base de datos esté presente en todas las instancias de MongoDB monitoreadas con los roles integrados apropiados asignados. Por favor, consulta ejemplo.
El rol requiere privilegios de root, así que establece
become: true
de cualquier manera conveniente para ti. Por favor, consulta ejemplo de playbook.
Variables del Rol
# Versión del exportador a instalar
mongodb_exporter_version: 0.7.0
# URL del repositorio del exportador
mongodb_exporter_base_url: https://github.com/percona/mongodb_exporter
# Arquitectura del binario del exportador
mongodb_exporter_arch: amd64
# URL de descarga del exportador
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"
# Usuario del sistema para ejecutar el exportador
mongodb_exporter_system_user: mongodb_exporter
# Grupos del sistema para incluir al usuario
mongodb_exporter_system_groups: ['mongodb_exporter', 'ssl-cert']
# Paquetes adicionales para configurar como dependencias del rol/exportador
mongodb_exporter_system_packages:
- { name: ca-certificates, state: present }
- { name: tar, state: present }
# Lista de variables de entorno a configurar antes de iniciar el exportador
mongodb_exporter_env_vars: []
# Ruta al archivo que contiene variables de entorno predefinidas
mongodb_exporter_env_file:
dest: /etc/systemd/system/mongodb_exporter.service.d/environment.conf
owner: root
group: root
mode: "0640"
# Ruta al directorio que contiene el binario del exportador
mongodb_exporter_bin_dir:
dest: /usr/local/bin
owner: root
group: root
mode: "0755"
# Dirección para escuchar la interfaz web y telemetría
mongodb_exporter_web_listen_address: :9216
# Ruta bajo la cual exponer métricas
mongodb_exporter_web_telemetry_path: /metrics
# Habilitar la colección de métricas de la base de datos
mongodb_exporter_collect_database: false
# Habilitar la colección de métricas de colecciones
mongodb_exporter_collect_collection: false
# Habilitar la colección de métricas de uso de top
mongodb_exporter_collect_topmetrics: false
# Habilitar la colección de estadísticas de uso por índice
mongodb_exporter_collect_indexusage: false
# URI de MongoDB en formato [mongodb://][user:pass@]host1[:port1][,host2[:port2],...][/database][?options]
mongodb_exporter_mongodb_uri: mongodb://127.0.0.1:27017
# Habilitar conexión TLS con el servidor Mongo
mongodb_exporter_mongodb_tls: false
# Ruta al archivo PEM que contiene las CAs de confianza para las conexiones de servidor
mongodb_exporter_mongodb_tls_ca:
dest: /etc/ssl/certs/mongodb_exporter_CA.pem
owner: root
group: root
mode: "0644"
content: ""
# Ruta al archivo PEM que contiene el certificado (y opcionalmente también la clave privada desencriptada en formato PEM)
mongodb_exporter_mongodb_tls_cert:
dest: /etc/ssl/certs/mongodb_exporter.crt
owner: root
group: root
mode: "0644"
content: ""
# Ruta al archivo PEM que contiene la clave privada desencriptada (si no está contenida en el archivo mongodb.tls-cert)
mongodb_exporter_mongodb_tls_private_key:
dest: /etc/ssl/private/mongodb_exporter.key
owner: root
group: ssl-cert
mode: "0640"
content: ""
# Deshabilitar la validación del nombre de host para la conexión del servidor
mongodb_exporter_mongodb_tls_disable_hostname_validation: false
# Máximo número de conexiones agrupadas a la base de datos
mongodb_exporter_mongodb_max_connections: 1
# Tiempo de espera para un socket que no responde a la base de datos antes de que se cierre forzosamente
mongodb_exporter_mongodb_socket_timeout: 3s
# Tiempo que una operación con esta sesión esperará antes de devolver un error en caso de que no se pueda establecer una conexión con un servidor utilizable
mongodb_exporter_mongodb_sync_timeout: 1m
# Especifica la base de datos en la que se crea el usuario
mongodb_exporter_authentification_database: ""
# Actualmente ignorado
mongodb_exporter_groups_enabled: ""
Dependencias
Ninguna
Ejemplo de Playbook
- hosts: mongodb
become: yes
roles:
- kostiantyn-nemchenko.mongodb_exporter
Licencia
MIT
Información del Autor
Kostiantyn Nemchenko kostiantyn.nemchenko@gmail.com
Acerca del proyecto
An Ansible role which installs and configures Percona MongoDB Exporter
Instalar
ansible-galaxy install kostiantyn-nemchenko.mongodb_exporter
Licencia
mit
Descargas
17.8k
Propietario