mesaguy.prometheus

Ansible Prometheus

Pruebas de cocina Validar Ansible Pruebas awesome_bot Última etiqueta Ansible Galaxy Licencia MIT

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
alertmanager uso prometheus
push_gateway uso prometheus

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
apache_exporter_lusitaniae uso Lusitaniae
aerospike_exporter_alicebob uso alicebob
bigip_exporter_expressenab uso ExpressenAB
bind_exporter_prometheus_community uso prometheus-community Parcial
blackbox_exporter uso prometheus
... ... ... ...

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:

  1. Instala las herramientas necesarias para compilar los binarios
  2. Compila los binarios
  3. 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

Instalar
ansible-galaxy install mesaguy.prometheus
Licencia
mit
Descargas
303.3k
Propietario