geerlingguy.fluentd

Rol de Ansible: Fluentd

CI

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.

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