ernestas-poskus.ansible-prometheus

ansible-prometheus

Estado de Compilación

Playbook de Ansible para instalar el sistema de monitoreo Prometheus.

El playbook instala y gestiona servicios usando systemd. Actualmente soporta:

  • Prometheus
  • Node Exporter (recoge métricas de la máquina anfitriona)
  • Gestor de alertas
  • Push gateway
  • Exportador SNMP
  • Exportador Blackbox

El playbook incluye amplias opciones de configuración, revisa el archivo por defecto en main.yml

Contribución

Si no encuentras el exportador que necesitas, revisa estos ejemplos #47 o #50 y haz una solicitud de extracción.

Instalación

ansible-galaxy install ernestas-poskus.ansible-prometheus

Requisitos

Systemd

Variables del rol

---
# archivo por defecto para ansible-prometheus

prometheus_install: true
prometheus_node_exporter_install: true
prometheus_alert_manager_install: true
prometheus_push_gateway_install: false
prometheus_snmp_exporter_install: false
prometheus_blackbox_exporter_install: false

prometheus_owner: 'prometheus'
prometheus_group: 'prometheus'

prometheus_install_dir: '/usr/local/opt'
prometheus_config_dir: '/etc/prometheus'
prometheus_lib_dir: '/var/lib/prometheus'
prometheus_rules_dir: "{{ prometheus_config_dir }}/rules"

prometheus_data_dir: "{{ prometheus_lib_dir }}/prometheus2"
prometheus_alert_manager_data_dir: "{{ prometheus_lib_dir }}/alertmanager"
prometheus_alert_manager_config_dir: "{{ prometheus_config_dir }}/alertmanager"
prometheus_alert_manager_templates_dir: "{{ prometheus_config_dir }}/alertmanager/templates"
prometheus_snmp_exporter_config_dir: "{{ prometheus_config_dir }}/snmpexporter"
prometheus_blackbox_exporter_config_dir: "{{ prometheus_config_dir }}/blackboxexporter"

# Prometheus
prometheus_version: '2.25.1'
prometheus_platform_architecture: 'linux-amd64'

# Número de archivos abiertos permitidos, valor para LimitNOFILE
prometheus_service_limitnofile: infinity

# Node exporter
prometheus_node_exporter_version: '1.1.2'

# Gestor de alertas
prometheus_alert_manager_version: '0.21.0'

# Pushgateway
prometheus_push_gateway_version: '1.4.0'

# Exportador SNMP
prometheus_snmp_exporter_version: '0.20.0'

# Exportador Blackbox
prometheus_blackbox_exporter_version: '0.18.0'

DOCS: Variables de Prometheus

DOCS: Variables de Node exporter

DOCS: Variables de Gestor de alertas

DOCS: Variables de Pushgateway

DOCS: Variables de Exportador SNMP

DOCS: Variables de Exportador Blackbox

Dependencias

Ninguna.

Ejemplo de Playbook

Incluir un ejemplo de cómo usar tu rol (por ejemplo, con variables pasadas como parámetros) siempre es útil para los usuarios:

- name: Instalando Prometheus en máquina hospedada
  hosts: vagrant1
  sudo: yes
  roles:
    - role: ansible-prometheus
      prometheus_config_scrape_configs:
        - job_name: 'prometheus'
          honor_labels: true
          scrape_interval: '15s'
          scrape_timeout: '3s'
          metrics_path: '/metrics'
          scheme: 'http'
          static_configs:
            - targets:
                - 'localhost:9090' # Prometheus mismo
                - 'localhost:9100' # Node exporter
        - job_name: 'consul-services'
          consul_sd_configs:
            - server: "localhost:8500"

Licencia

Copyright (c) 2021, Ernestas Poskus Todos los derechos reservados.

La redistribución y el uso en formas de fuente y binaria, con o sin modificaciones, están permitidos siempre que se cumplan las siguientes condiciones:

  • Las redistribuciones de código fuente deben conservar el aviso de copyright anterior, esta lista de condiciones y la siguiente免责声明.

  • Las redistribuciones en forma binaria deben reproducir el aviso de copyright anterior, esta lista de condiciones y la siguiente免责声明 en la documentación y/o en otros materiales proporcionados con la distribución.

  • Ni el nombre de ansible-prometheus ni los nombres de sus contribuyentes pueden ser usados para respaldar o promover productos derivados de este software sin permiso específico por escrito.

ESTE SOFTWARE SE PROPORCIONA POR LOS TITULARES DE DERECHOS DE AUTOR Y CONTRIBUYENTES "TAL CUAL" Y CUALQUIER GARANTÍA EXPRESA O IMPLÍCITA, INCLUYENDO, PERO NO LIMITADO A, LAS GARANTÍAS IMPLÍCITAS DE COMERCIABILIDAD Y ADECUACIÓN PARA UN PROPÓSITO PARTICULAR SON DENEGADAS. EN NINGÚN CASO EL TITULAR DE LOS DERECHOS DE AUTOR O CONTRIBUYENTES SERÁN RESPONSABLES DE CUALQUIER DAÑO DIRECTO, INDIRECTO, INCIDENTAL, ESPECIAL, EJEMPLAR O CONSECUENTE (DOS INCLUYENDO, PERO NO LIMITADO A, LA OBTENCIÓN DE BIENES O SERVICIOS SUSTITUTOS; PÉRDIDA DE USO, DATOS O BENEFICIOS; O INTERRUPCIÓN DEL NEGOCIO) SIN IMPORTAR CÓMO SE CAUSE Y BAJO CUALQUIER TEORÍA DE RESPONSABILIDAD, YA SEA EN CONTRATO, RESPONSABILIDAD ESTRICTA, O AGRAVIO (INCLUYENDO NEGLIGENCIA U OTRA) QUE SURJA DE CUALQUIER MANERA DEL USO DE ESTE SOFTWARE, INCLUSO SI SE ADVIERTE SOBRE LA POSIBILIDAD DE TAL DAÑO.

Información del autor

Twitter: @ernestas_poskus

Instalar
ansible-galaxy install ernestas-poskus.ansible-prometheus
Licencia
bsd-3-clause
Descargas
6.6k
Propietario
pragmatic & ambitious