ernestas-poskus.ansible-prometheus
ansible-prometheus
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 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
Ansible playbook for managing Prometheus monitoring system
ansible-galaxy install ernestas-poskus.ansible-prometheus