bimdata.graylog

Ansible rol graylog

Este rol instala y configura Graylog.

Este rol asume que tienes otros roles para Elasticsearch, MongoDB, Nginx, etc.

Requisitos

  • Necesitas un clúster de Elasticsearch en funcionamiento y un clúster de MongoDB.
  • Los servidores gestionados deben poder comunicarse con https://packages.graylog2.org/.
  • Este rol solo se ha probado en Debian 10.x (Buster).

Variables del rol

Este rol intenta mantener la misma configuración predeterminada que si instalaras Graylog manualmente. Todos los valores predeterminados están definidos en ./defaults/main.yml, es posible que desees revisarlo. Intentamos mantener el mismo nombre para la variable de Ansible que el nombre en el archivo de configuración de Graylog, pero con el prefijo graylog_. Puedes encontrar más información sobre cada parámetro en la documentación de Graylog.

Necesitas definir al menos dos variables:

  • graylog_password_secret: deberías generar su contenido con el comando: pwgen -N 1 -s 96 o tr -cd '[:alnum:]' < /dev/urandom | fold -w96 | head -n1
  • graylog_root_password_sha2: deberías generar su contenido con el comando: echo -n your_password | shasum -a 256 (¡Tienes que reemplazar 'your_password' por una contraseña real!)
    O puedes usar la función hash() de Ansible: graylog_root_password_sha2: "{{ vault_graylog_root_password | hash('sha256') }}".

Este rol también soporta la instalación de plugins. Los plugins necesitan ser archivos .jar, y los hosts gestionados deben poder descargarlos. La suma de verificación es opcional y funciona como el parámetro de suma de verificación en el módulo get_url de Ansible.

graylog_plugins:
  - url: https://github.com/graylog-labs/graylog-plugin-metrics-reporter/releases/download/3.0.0/metrics-reporter-prometheus-3.0.0.jar
    checksum: sha256:383eac2135baf248b5a0828a9e305130a2ab863b07afeef30cba00be05fc7cf9

Si algunos de tus plugins necesitan configuración en el archivo principal de configuración de Graylog, hay una variable especial para eso graylog_custom_config. Este es un diccionario, donde las claves se usan como nombres de opciones y los valores como valores. Por ejemplo:

graylog_custom_config:
  metrics_prometheus_enabled: true
  metrics_prometheus_report_interval: 1m
  metrics_prometheus_address: 127.0.0.1:9001
  metrics_prometheus_job_name: graylog

agregará al final de /etc/graylog/server/server.conf:

# Configuración personalizada, si algunos son necesarios por los plugins.
metrics_prometheus_enabled = True
metrics_prometheus_report_interval = 1m
metrics_prometheus_address = 127.0.0.1:9001
metrics_prometheus_job_name = graylog

Dependencias

Una lista de otros roles alojados en Galaxy debería ir aquí, además de cualquier detalle en relación a los parámetros que puedan necesitarse para otros roles, o variables que se utilizan de otros roles.

Ejemplo de Playbook

- hosts: logs-servers
  gather_facts: True
  become: true
  vars:
    graylog_password_secret: "OMFPRQwk7Pg7i9Apun5xbuK4ICl0cfNUbZ5QblvmHKnKvnpzbjxtgHIoaSiEmi9XVlbqDhI6d8UqErW2wRiS0uapaHRgW4e"
    graylog_root_password_sha2: "4da3376323046a3bb6759f0a3f4ae7100a0567950c53ee42d2e19201baaa6dfc"
    # También puedes pedir a Ansible que lo hashée y usar un vault para almacenar la contraseña.
    # graylog_root_password_sha2: "{{ vault_graylog_root_password | hash('sha256') }}"
  roles:
    - role: bimdata.graylog

Licencia

MIT

Información del autor

BIMData.io

Acerca del proyecto

This role installs and configures Graylog.

Instalar
ansible-galaxy install bimdata.graylog
Licencia
mit
Descargas
1.4k
Propietario