mesaguy.prometheus
Ansible Prometheus
Instala y gestiona el servidor Prometheus, Alertmanager, PushGateway, y numerosos exportadores de Prometheus.
Este rol fue diseñado para permitir agregar nuevos exportadores con facilidad. Las versiones regulares aseguran que siempre se proporciona el software más reciente de Prometheus.
Este rol puede registrar los exportadores de los clientes con el servidor/s de Prometheus automáticamente (ver gestión de grupos t).
Requisitos
- Ansible >= 2.8.0
- Los hechos deben ser recopilados (gather_facts: true)
Software y Sistemas Operativos Soportados
Sistemas Operativos, Distribuciones y Arquitecturas Soportados
Este módulo está diseñado para soportar tantas distribuciones y arquitecturas como sea posible. La siguiente tabla especifica qué combinaciones están actualmente probadas. La mayoría de los exportadores también funcionarán en arquitecturas ARM:
SO | Versión | Arquitecturas |
---|---|---|
Alpine | 3.2 a 3.11, edge | x86_64 (amd64) |
AmazonLinux | 1 y 2 | x86_64 (amd64) |
ArchLinux | Actual | x86_64 (amd64) |
Enterprise Linux | 6, 7, 8 | x86_64 (amd64) |
Fedora | 20 a 31, rawhide | x86_64 (amd64) |
Gentoo (openrc) | Actual | x86_64 (amd64) |
Gentoo (systemd) | Actual | x86_64 (amd64) |
OpenSUSE | 13.1 a tumbleweed | x86_64 (amd64) |
Oracle Linux | 6, 7, 8 | x86_64 (amd64) |
Ubuntu | 16.04 a 20.04 | x86_64 (amd64) |
Software gestionado de Prometheus
El siguiente software central de Prometheus es compatible además de la lista de exportadores a continuación. Este software está completamente probado en todos los sistemas operativos, distribuciones y arquitecturas soportadas.
Software de Prometheus | Uso | Autor | CI probado |
---|---|---|---|
prometheus | uso | prometheus | Sí |
alertmanager | uso | prometheus | Sí |
push_gateway | uso | prometheus | Sí |
Exportadores gestionados
Todos los exportadores son verificados para instalarse. Actualmente, algunos módulos reciben pruebas a través de CI (Integración Continua) y Inspec.
Consulta la página de uso de cada exportador para más detalles:
Exportador | Uso | Autor | CI probado |
---|---|---|---|
389ds_exporter_terrycain | uso | terrycain | Sí |
apache_exporter_lusitaniae | uso | Lusitaniae | Sí |
aerospike_exporter_alicebob | uso | alicebob | Sí |
bigip_exporter_expressenab | uso | ExpressenAB | Sí |
bind_exporter_prometheus_community | uso | prometheus-community | Parcial |
blackbox_exporter | uso | prometheus | Sí |
... | ... | ... | ... |
Scripts de texto del node_exporter gestionados
Numerosos scripts de texto del node_exporter son soportados y pueden ser instalados a través de las siguientes variables. Estos scripts se instalan por defecto en '/opt/prometheus/scripts':
Script de texto del node_exporter | Fuente | Variable para habilitar |
---|---|---|
apt.sh | ejemplos de node_exporter | prometheus_script_apt: true |
... | ... | ... |
Variables de rol
Se utiliza una variable de array 'prometheus_components' para especificar el software de Prometheus a instalar. Este ejemplo instala todos los componentes de Prometheus soportados:
# Solo demostración. Los clientes solo deben tener el software y los exportadores aplicables definidos:
prometheus_components:
# Componentes centrales:
- alertmanager
- prometheus
- push_gateway
# Exportadores
- 389ds_exporter_terrycain
- apache_exporter_lusitaniae
- aerospike_exporter_alicebob
- ... # Continuar con los demás exportadores
Documentación de scripts de mesaguy
- promcron para monitorear la ejecución de trabajos cron
- promrun para monitorear la ejecución de comandos
- sssd_check para monitorear el estado de SSSD
Variables comunes
Por defecto, si un software o exportador de Prometheus falla al instalarse, la instalación falla. Este comportamiento por defecto se puede cambiar permitiendo una instalación desde el código fuente configurando la variable global 'prometheus_fallback_to_build' o una anulación específica por software. Por ejemplo, para permitir que el blackbox_exporter se construya desde el código fuente si no se puede encontrar un binario:
prometheus_blackbox_exporter_fallback_to_build: true
... (Continuar con las otras variables y secciones de manera similar)
Ejemplo de Playbook
Servidor Prometheus
El siguiente ejemplo instala Prometheus (servidor), alertmanager, blackbox_exporter y el node_exporter. Los parámetros de puerto del servidor Prometheus y retención de almacenamiento han sido cambiados de los valores predeterminados.
El servidor Prometheus solo debe instalarse en los hosts designados para servidores Prometheus. Los clientes de Prometheus solo deben tener instalados exportadores específicos.
Método de uso de clase:
- hosts: prometheus_servers
vars:
prometheus_components:
- prometheus
- alertmanager
- blackbox_exporter
- node_exporter
prometheus_port: 10000
prometheus_extra_opts:
- '--storage.tsdb.retention=90d'
roles:
- mesaguy.prometheus
Información adicional
Métodos de instalación de software
Las instalaciones se realizan utilizando binarios precompilados cuando sea posible. Cuando los binarios precompilados no están disponibles, este rol de Ansible:
- Instala las herramientas necesarias para compilar los binarios
- Compila los binarios
- Instala los binarios en un directorio que especifica tanto la versión del software de Prometheus como la versión de Go utilizada para la instalación (ej: /opt/prometheus/exporters/smokeping_exporter_superq/v0.3.1__go-1.14.14/smokeping_prober)
Licencia
MIT Ver el archivo LICENSE
Información del autor
Mesaguy
install and manage prometheus and prometheus exporters
ansible-galaxy install mesaguy.prometheus