mircomasa.filebeat

Rol de Filebeat

Licencia Estado de Construcción Estado de Construcción Galaxy Ansible Ansible

Resumen

Este rol:

  • instala filebeat en Ubuntu, CentOS, Windows
  • copia un archivo de configuración preparado (ruta de log, conexión a Elasticsearch, etc.)

Tareas del rol

  • Preparar el servidor (agregar repositorio de elastic)
  • [Opcional] Crear carpeta(s) para rutas personalizadas
  • Instalar filebeat
  • Copiar archivo de configuración

Requisitos

  • Versión mínima de Ansible para la instalación: 2.5
  • Sistemas Operativos Soportados:
    • CentOS
      • 6, 7
    • Ubuntu
      • 16.04, 18.04
    • Debian
      • 8, 9
    • Windows

Variables del rol


Puedes sobreescribir cualquier variable a continuación configurando "variable: valor" en el playbook.

  • filebeat_version Se usa para seleccionar la rama principal de Filebeat a instalar (versiones estables actuales 5.x o 6.x). El valor por defecto es 6.
  • filebeat_last_version Se usa para seleccionar una versión específica de Filebeat a instalar. El valor por defecto es 6.6.0
  • elastic_gpg_key Clave GPG del repositorio de Elasticsearch. El valor por defecto es https://artifacts.elastic.co/GPG-KEY-elasticsearch
  • filebeat_node_name Nombre del nodo de filebeat. El valor por defecto es {{ inventory_hostname }}. Si no se define esta opción, se usa el nombre del host.
  • filebeat_ssl_enabled Activa/desactiva la conexión SSL entre filebeat y logstash/elasticsearch. Las opciones de SSL deben establecerse en los campos correspondientes como se muestra a continuación:
  ssl:
    key: "/etc/pki/tls/private/server.key"
    certificate: "/etc/pki/tls/certs/server.crt"
    certificate_authorities: "/etc/pki/CA/ca-root.pem"

En el caso de la configuración de Windows:

 ssl:
   key: 'c:\tls\private\server.key'
   certificate: 'c:\tls\certs\server.pem'
   certificate_authorities: 'c:\CA\ca-root.pem'

La sección path de las opciones de configuración define dónde busca Filebeat sus archivos. Por ejemplo, Filebeat busca el archivo de plantilla de Elasticsearch en la ruta de configuración y escribe archivos de log en la ruta de logs. Filebeat busca sus archivos de registro en la ruta de datos. Los valores por defecto para los host de Linux están configurados de esta manera:

path:
  home: /usr/share/filebeat
  config: /etc/filebeat
  data: /var/lib/filebeat
  logs: /var/log/filebeat

En el caso de la configuración de Windows, los caminos por defecto son:

path:
  home: 'c:\program files\filebeat'
  config: 'c:\program files\filebeat'
  data: 'c:\programdata\filebeat'
  logs: 'c:\programdata\filebeat\logs'
  • win_download_path Directorio temporal para Windows para descargar y descomprimir el paquete de Filebeat. El valor por defecto es '{{ ansible_env.TEMP }}/filebeat' (el valor de ansible_env.TEMP soluciona el problema de idempotencia)

  • input_logpath Ruta a los archivos de log.

El valor por defecto para la familia de sistemas operativos *NIX es "/var/log/*.log"

El valor por defecto para la familia de sistemas operativos WIN es 'c:\windows\*.log'

La variable filebeat_inputs define el tipo de logs que serán procesados por el pipeline, sus rutas de log y el índice de Elasticsearch que debe almacenar este tipo de logs. Puedes especificar varias entradas con diferentes rutas, tipos de logs y nombres de índice usando el formato yaml como en el siguiente ejemplo:

    filebeat_inputs:
      - name: hybris
        paths:
          - '/var/log/console*.log'
        fields:
          logtype: hybris
          index_name: hybris-console
      - name: access
        paths:
          - '/var/log/access*.log'
          - '/var/log/nginx_access*.log'
        fields:
          logtype: access
          index_name: nginx-access

Personalización de la salida:

  • filebeat_output Se usa para configurar qué salida usar al enviar datos (elasticsearch o logstash). El valor por defecto es elasticsearch

  • filebeat_elasticsearch_output.hosts Lista de hosts para conectarse. El valor por defecto es localhost

  • filebeat_elasticsearch_output.port Valor para establecer un puerto personalizado. El valor por defecto es 9200

  • filebeat_logstash_outputs Lista de hosts y puertos para conectarse. El valor por defecto es localhost:5044

Parámetros de configuración avanzados:

La sección filebeat(systemd)\initd de las opciones de configuración define qué script de inicialización se utilizará para gestionar el servicio de filebeat según el sistema operativo *nix. Se tendrán en cuenta las rutas personalizadas (si están configuradas).

  • filebeat_service_name Nombre del script nssm\init que gestiona el servicio de filebeat

  • filebeat_bulk_max_size Número máximo de eventos para agrupar en una sola solicitud de Logstash. El valor por defecto es 500

  • filebeat_worker Número de trabajadores por host de Elasticsearch. El valor por defecto es 1

  • filebeat_logging_to_syslog Enviar toda la salida de registro a syslog. El valor por defecto es false

  • filebeat_logging_to_files Enviar toda la salida de registro a archivos rotativos. El valor por defecto es true

  • filebeat_rotateeverybytes Define el límite de tamaño del archivo de log. El valor por defecto es 104857600 = 100MB

  • filebeat_keepfiles Número de archivos de log para mantener. El valor por defecto es 30

  • filebeat_ignore_older Valor (se pueden usar cualquier cadena de tiempo como 2h, 5m) por encima del cual se ignorarán los archivos. El valor por defecto es 0 (desactivado)

  • filebeat_scan_frequency Define con qué frecuencia filebeat verifica las actualizaciones de archivos. El valor por defecto es 15s

  • filebeat_harvester_buffer_size Define el tamaño del búfer. El valor por defecto es 65535

  • filebeat_logname Nombre de los archivos de registro. El valor por defecto es "filebeat.log"

Dependencias


ca-cert (solo para instalación con SSL)

Ejemplo de Playbook

Instalando la versión 6.x de Filebeat:

- name: Instalar filebeat
  hosts: all
  roles:
    - role: ansible-role-filebeat

Instalando la versión 6.x de Filebeat con ruta personalizada a los archivos de log y salida a Elasticsearch:

- name: Instalar filebeat
  hosts: all
  roles:
    - role: ansible-role-filebeat
  vars:
    input_logpath: "/var/log/messages"
    filebeat_elasticsearch_output:
      hosts:
        - elasticsearch.ejemplo.com
      port: 9200

Licencia

Apache

Información del Autor

autores:

Acerca del proyecto

Role for filebeat installation

Instalar
ansible-galaxy install mircomasa.filebeat
Licencia
apache-2.0
Descargas
3.7k
Propietario