javiergayala.filebeat
Rol de Ansible: Filebeat
Instala Filebeat en RedHat/CentOS.
Este rol instala y configura la última versión de Filebeat (6.x) desde el Repo oficial de Elastic.co.
Requisitos
Ninguno.
Variables del Rol
Valores predeterminados (ver defaults/main.yml
):
es_major_version: "6.x"
La versión de Filebeat debe coincidir siempre con la versión de Elasticsearch en tu pila ELK. Esto representa la versión principal de Elasticsearch.
es_use_repository: undefined
Este valor no está definido en ninguna parte del rol. Lo he documentado aquí porque es un valor que generalmente se define en el rol elastic.elasticsearch de Elastic.co. Si estás instalando este rol de Filebeat junto con el rol elastic.elasticsearch
, entonces ese rol normalmente instalará el repositorio por ti. Permitir que este rol de Filebeat también instale el repositorio alterará ligeramente el archivo del repo, lo que hará que el rol ya no produzca un resultado idempotente. Sin embargo, si le indicas al rol elastic.elasticsearch
que NO instale el repositorio, entonces este rol de Filebeat sí instalará el repositorio para poder acceder al software.
es_version: "6.2.3"
El número completo de la versión de Elasticsearch/Filebeat.
filebeat_create_config: "true"
Si se permite que el rol cree el archivo de configuración de Filebeat.
filebeat_enabled: "yes"
Esto define si el servicio de Filebeat debe estar habilitado al inicio.
filebeat_repo_key: 'https://artifacts.elastic.co/GPG-KEY-elasticsearch'
La URL de la clave PGP utilizada para el repositorio de Elastic.co.
filebeat_run_state: started
Esto define si el servicio de Filebeat debe iniciarse.
filebeat_config_content:
filebeat.prospectors:
- type: log
enabled: "true"
paths:
- "/var/log/*.log"
filebeat.config.modules:
reload.enabled: "false"
path: "{{ filebeat_modules_dir }}/*.yml"
setup.template.settings:
index.number_of_shards: 3
output.elasticsearch:
hosts:
- "localhost:9200"
La variable filebeat_config_content
es un diccionario que contiene la configuración básica de Filebeat. El valor de esta variable se utilizará para llenar el archivo de configuración filebeat.yml
. Las claves típicas que querrás definir son:
filebeat.prospectors
filebeat.config.modules
setup.template.settings
- La salida (es decir,
output.elasticsearch
ooutput.logstash
)
filebeat_module_config: {}
La variable filebeat_module_config
es un diccionario similar a filebeat_config_content
, sin embargo, se utiliza para crear los archivos de configuración para los módulos de Filebeat. La clave del diccionario es el nombre del módulo que deseas habilitar, y el contenido de esa clave es un diccionario que contiene la configuración para el módulo.
Por ejemplo:
filebeat_module_config:
system:
syslog:
enabled: "true"
auth:
enabled: "true"
Valores específicos de RedHat (ver vars/filebeat-RedHat.yml
)
filebeat_home: /usr/share/filebeat
La ruta donde se instala Filebeat.
filebeat_bin_dir: "{{ filebeat_home }}/bin"
La ruta donde se instala el binario de Filebeat.
filebeat_config_dir: "/etc/filebeat"
La ruta al directorio de configuración de Filebeat.
filebeat_config_file: "{{ filebeat_config_dir }}/filebeat.yml"
La ruta completa al archivo de configuración de Filebeat.
filebeat_modules_dir: "{{ filebeat_config_dir }}/modules.d"
La ruta donde se almacenan las configuraciones de los módulos de Filebeat.
Dependencias
Ninguna.
Ejemplo de Playbook
- hosts: servers
roles:
- role: javiergayala.filebeat
filebeat_module_config:
system:
syslog:
enabled: "true"
auth:
enabled: "true"
Licencia
BSD
Información del Autor
Este rol fue creado en 2018 por Javier Ayala.
Filebeat installation for RedHat Family systems.
ansible-galaxy install javiergayala.filebeat