geerlingguy.fluentd
Rol de Ansible: Fluentd
Un Rol de Ansible que instala Fluentd en RedHat/CentOS o Debian/Ubuntu. Este rol instala td-agent
, que es una versión independiente que no requiere que Ruby esté instalado en el sistema por separado. Consulta las diferencias entre td-agent y Fluentd aquí.
Requisitos
N/A
Variables del Rol
Las variables disponibles se listan a continuación, junto con los valores predeterminados (consulta defaults/main.yml
):
fluentd_version: 3
La versión de td-agent
que se va a instalar. Consulta más detalles sobre las diferencias entre v2, v3 y v4.
fluentd_package_state: present
El estado del paquete td-agent
; establece en latest
para actualizar o cambiar versiones.
fluentd_service_name: td-agent
fluentd_service_state: started
fluentd_service_enabled: true
Controla las opciones del servicio Fluentd.
fluentd_plugins:
- fluent-plugin-elasticsearch
# Formato alternativo:
fluentd_plugins:
- name: fluent-plugin-elasticsearch
version: '4.0.6'
state: present
Una lista de los complementos de Fluentd que se instalarán.
fluentd_conf_sources: |
[ver defaults/main.yml para contenido predeterminado]
fluentd_conf_filters: |
[ver defaults/main.yml para contenido predeterminado]
fluentd_conf_matches: |
[ver defaults/main.yml para contenido predeterminado]
La configuración que se colocará en el archivo td-agent.conf
que controla cómo Fluentd escucha, filtra y enruta los datos de registro. Las configuraciones predeterminadas establecen algunas opciones básicas que pueden dirigir datos a Treasure Data, pero debes sobrescribir estos valores con lo que sea apropiado para tus registros.
Por ejemplo, si deseas monitorear los registros de acceso de un servidor HTTP Apache, agregarías una fuente:
fluentd_conf_sources: |
<source>
@type tail
@id input_tail
<parse>
@type apache2
</parse>
path /var/log/httpd-access.log
tag apache.access
</source>
Y luego podrías enrutar las entradas de registro apache
a Elasticsearch usando:
fluentd_conf_matches: |
<match apache.**>
@type elasticsearch
host log.example.com
port 9200
user myuser
password mypassword
logstash_format true
</match>
Ten en cuenta que Elasticsearch requeriría que el complemento de Fluentd fluent-plugin-elasticsearch
estuviera instalado.
Dependencias
N/A
Ejemplo de Playbook
- hosts: search
vars:
fluentd_conf_sources: |
<source>
@type tail
@id input_tail
<parse>
@type apache2
</parse>
path /var/log/httpd-access.log
tag apache.access
</source>
roles:
- geerlingguy.fluentd
Licencia
MIT / BSD
Información del Autor
Este rol fue creado en 2020 por Jeff Geerling, autor de Ansible for DevOps.
Fluentd for Linux.
ansible-galaxy install geerlingguy.fluentd