geerlingguy.filebeat

Ansible Rol: Filebeat para ELK Stack

CI

Una rol de Ansible que instala Filebeat en RedHat/CentOS o Debian/Ubuntu.

Requisitos

Ninguno.

Variables del rol

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

filebeat_version: 7.x

Controla la versión principal de Filebeat que se instala.

filebeat_package: filebeat
filebeat_package_state: present

El paquete específico que se instalará. Puedes especificar una versión del paquete usando la sintaxis correcta para tu plataforma y gestor de paquetes cambiando el nombre del paquete. También puedes controlar el estado del paquete (por ejemplo, presente, ausente o último).

filebeat_create_config: true

Si se debe crear el archivo de configuración de Filebeat y manejar la copia de la clave y el certificado SSL para Filebeat. Si prefieres crear el archivo de configuración por ti mismo, puedes establecer esto en false.

filebeat_inputs:
  - type: log
    paths:
      - "/var/log/*.log"

Entradas que se enumerarán en la sección inputs de la configuración de Filebeat. Lee la guía de configuración de entradas de Filebeat para más opciones.

filebeat_output_elasticsearch_enabled: false
filebeat_output_elasticsearch_hosts:
  - "localhost:9200"

Si activar la salida de Elasticsearch, y a qué hosts enviar la salida.

filebeat_output_elasticsearch_auth:
    username: "admin"
    password: "S3CR3eeet"

# o, solo para versión 8+
filebeat_output_elasticsearch_auth:
    api_key: "xa-123a-f3ea012d-aaae1"

Configura la autenticación para la salida de Elasticsearch. Ten en cuenta que api_key y user/pass son mutuamente excluyentes, y api_key solo está disponible a partir de la versión 8.

filebeat_output_logstash_enabled: true
filebeat_output_logstash_hosts:
  - "localhost:5000"

Si habilitar la salida de Logstash, y a qué hosts enviar la salida.

filebeat_enable_logging: false
filebeat_log_level: warning
filebeat_log_dir: /var/log/filebeat
filebeat_log_filename: filebeat.log

Registro de Filebeat.

filebeat_ssl_certs_dir: /etc/pki/logstash
filebeat_ssl_private_dir: "{{ filebeat_ssl_certs_dir }}"

La ruta donde se almacenarán los certificados y archivos de clave.

filebeat_ssl_ca_file: ""
filebeat_ssl_certificate_file: ""
filebeat_ssl_key_file: ""

Rutas locales para el certificado SSL y los archivos de clave.

filebeat_ssl_copy_file: true

Si copiar el certificado y la clave en el filebeat_ssl_dir, o usar los existentes.

Para la máxima seguridad, debes usar tu propio certificado y archivo de clave válidos, y actualizar las variables filebeat_ssl_* en tu playbook para usar tu certificado.

Para generar un par de certificado/claves autofirmados, puedes usar el comando:

$ sudo openssl req -x509 -batch -nodes -days 3650 -newkey rsa:2048 -keyout filebeat.key -out filebeat.crt

Ten en cuenta que filebeat y logstash pueden no funcionar correctamente con certificados autofirmados a menos que también tengas la cadena de confianza completa (incluyendo la Autoridad Certificadora para tu certificado autofirmado) añadida en tu servidor. Ver: https://github.com/elastic/logstash/issues/4926#issuecomment-203936891

filebeat_ssl_insecure: "false"

Establece esto en "true" para permitir el uso de certificados autofirmados (cuando no hay disponible una CA).

Sobrescribiendo la plantilla de filebeat

Si no puedes personalizar a través de variables porque una opción no está expuesta, puedes sobrescribir la plantilla utilizada para generar la configuración de filebeat.

filebeat_template: "filebeat.yml.j2"

Puedes copiar y modificar la plantilla proporcionada, o puedes, por ejemplo, apuntar a un archivo de plantilla en tu directorio de playbook que se usará en lugar de la plantilla gestionada.

filebeat_template: "{{ playbook_dir }}/templates/filebeat.yml.j2"

Dependencias

Ninguna.

Ejemplo de Playbook

- hosts: logs

- name: Establecer la variable java_packages (Debian/Ubuntu).
  set_fact:
    java_packages:
      - openjdk-8-jdk
  when: ansible_os_family == 'Debian'

  roles:
    - geerlingguy.java
    - geerlingguy.elasticsearch
    - geerlingguy.logstash
    - geerlingguy.filebeat

Licencia

MIT / BSD

Información del Autor

Este rol fue creado en 2016 por Jeff Geerling, autor de Ansible for DevOps.

Instalar
ansible-galaxy install geerlingguy.filebeat
Licencia
mit
Descargas
2.6M
Propietario
Father, author, developer, maker. Sometimes called "an inflammatory enigma". #stl #drupal #ansible #k8s #raspberrypi #crohns