atosatto.alertmanager

Rol de Ansible: Alertmanager

Estado de Construcción Galaxy

Instala y configura Prometheus Alertmanager.

Requisitos

Una instalación de Ansible 2.2 o superior.
Este rol utiliza el json_filter de Ansible, que requiere que jmespath esté instalado en la máquina de Ansible. Consulta el archivo requirements.txt para más detalles sobre la versión específica de jmespath que requiere el rol.

Variables del Rol

Las variables disponibles se enumeran a continuación, junto con sus valores predeterminados (ver defaults/main.yml):

alertmanager_release_tag: "latest"

La versión de Alertmanager que se instalará. Por defecto, es la última versión publicada en https://github.com/prometheus/alertmanager/releases.

alertmanager_release_url: ""

Si se establece, el rol descargará Alertmanager desde la URL proporcionada en lugar de usar la URL de descarga indicada en los metadatos de la versión de Alertmanager en Github.

alertmanager_user: "alertmanager"
alertmanager_group: "alertmanager"

Usuario y grupo del sistema para Alertmanager.

alertmanager_install_path: "/opt"

Directorio que contiene los artefactos de la versión de Alertmanager descargada.

alertmanager_bin_path: "/usr/local/bin"

Directorio al que se vincularán simbólicamente los binarios de Alertmanager.

alertmanager_config_path: "/etc/alertmanager"
alertmanager_config_file: "alertmanager.yml"

Archivo y directorio de configuración de Alertmanager.

alertmanager_config: {}

Diccionario YAML que contiene la configuración de Alertmanager. La referencia completa de configuración de Alertmanager se puede encontrar en https://prometheus.io/docs/alerting/configuration/.
NOTA: La configuración de Alertmanager proporcionada se combinará con la predeterminada definida en vars/main.yml.

alertmanager_templates_path: "{{ alertmanager_config_path }}/templates"
alertmanager_templates: {}

Directorio y definiciones de las plantillas de Alertmanager.

alertmanager_config:
  templates:
    - "{{ alertmanager_templates_path }}/*.tmpl"
alertmanager_templates:
  "example": "{{ define "slack.myorg.text" }}https://internal.myorg.net/wiki/alerts/{{ .GroupLabels.app }}/{{ .GroupLabels.alertname }}{{ end}}"

El ejemplo anterior muestra cómo crear example.tmpl en el directorio alertmanager_templates_path y cómo configurar Alertmanager para cargarlo.

alertmanager_listen_address: "127.0.0.1:9093"

La dirección IP y puerto donde el servidor web de Alertmanager escuchará.
NOTA: Las métricas de Alertmanager estarán disponibles en {{ alertmanager_listen_address }}/metrics.

alertmanager_storage_path: "/var/lib/alertmanager"
alertmanager_storage_retention: "120h"

Directorio utilizado para almacenar los estados de las notificaciones y silencios de Alertmanager. Por defecto, los datos antiguos se eliminarán después de 120 horas.

alertmanager_log_level: "info"

Nivel de verbosidad de los registros del daemon de Alertmanager.

alertmanager_additional_cli_args: ""

Argumentos adicionales de línea de comandos que se agregarán a la unidad del servicio de Alertmanager. Para la referencia completa de los argumentos de CLI disponibles, consulta la salida del comando alertmanager --help.

Dependencias

Ninguna.

Ejemplo de Playbooks

$ cat playbook.yml
- name: "Instalar y configurar Prometheus Alertmanager"
  hosts: all
  roles:
    - { role: atosatto.alertmanager }

Pruebas

Las pruebas están automatizadas con Molecule.

$ pip install tox

Para probar todos los escenarios, ejecuta

$ tox

Para ejecutar un comando personalizado de molecule

$ tox -e py27-ansible29 -- molecule test -s alertmanager-latest

Licencia

MIT

Información del Autor

Andrea Tosatto (@_hilbert_)

Acerca del proyecto

Install and Configure Prometheus Alertmanager

Instalar
ansible-galaxy install atosatto.alertmanager
Licencia
mit
Descargas
1.6k
Propietario
Automation fan-boy. Head in the ☁️. Loving Containers, Micro-Services, OpenSource, Golang and Python