artem_shestakov.fluentbit

Rol de Ansible Fluent-bit

Rol simple para instalar y configurar Fluent-bit

Variables del Rol

Configuración

Nombre Descripción Por Defecto
fluentbit_config_path Ruta al archivo de configuración y los analizadores /etc/fluent-bit
fluentbit_flush Establece el tiempo de vaciado en segundos.nanos. El ciclo del motor utiliza un tiempo de espera de vaciado para definir cuándo es necesario vaciar los registros ingresados por los plugins de entrada a través de los plugins de salida definidos. 5
fluentbit_grace Establece el tiempo de gracia en segundos como valor entero. El ciclo del motor utiliza un tiempo de gracia para definir el tiempo de espera al salir 5
fluentbit_daemon Valor booleano para definir si Fluent Bit debe ejecutarse como un Daemon (en segundo plano) o no. Los valores permitidos son: yes, no, on y off off
fluentbit_dns_mode Establece el protocolo de capa de transporte primario que utiliza el resolvedor DNS asíncrono, que se puede sobrescribir en cada plugin UDP
fluentbit_log_file Ruta absoluta para un archivo de registro opcional. Por defecto, todos los registros se redirigen a la interfaz de error estándar (stderr).
fluentbit_log_level Establece el nivel de verbosidad del registro. info
fluentbit_http_server Habilitar servidor HTTP incorporado off
fluentbit_http_listen Establece la interfaz de escucha para el Servidor HTTP cuando está habilitado 0.0.0.0
fluentbit_http_port Establece el puerto TCP para el Servidor HTTP 2020
fluentbit_coro_stack_size Establece el tamaño de la pila de corutinas en bytes. El valor debe ser mayor que el tamaño de página del sistema en ejecución. No establezcas un valor demasiado pequeño (por ejemplo, 4096), o los hilos de corutina pueden desbordar el búfer de pila. No cambies el valor por defecto de este parámetro a menos que sepas lo que estás haciendo 24576
fluentbit_scheduler_cap Establece un tiempo máximo de reintento en segundos. La propiedad es compatible desde v1.8.7. 2000
fluentbit_scheduler_base Establece una base de retroceso exponencial. La propiedad es compatible desde v1.8.7. 5
fluentbit_inputs Una sección de entrada define una fuente (relacionada con un plugin de entrada) Nombre: forward
Escuchar: 0.0.0.0
Puerto: 24224
fluentbit_outputs La sección de salidas especifica un destino que ciertos registros deben seguir después de una coincidencia de etiqueta Nombre: srdout
Coincidencia: '*'

Pipeline

  • fluentbit_inputs - lista de entradas (fuentes). Cada elemento de entrada es una colección de diccionario clave/valor. El valor por defecto es:
fluentbit_inputs:
  - Nombre: forward
    Escuchar: 0.0.0.0
    Puerto: 24224
  • fluentbit_outputs - lista de salidas (sumideros). Cada elemento de salida es una colección de diccionario clave/valor. El valor por defecto es:
fluentbit_outputs:
  - Nombre: stdout
    Coincidencia: '*'
  • fluentbit_filters - lista de filtros. Cada elemento es una colección de diccionario clave/valor. El valor por defecto es []. Ejemplo:
---
- name: Desplegar servicio fluent-bit
  hosts: "{{ lookup('env', 'TARGET') }}"
  become: true
  roles:
    - role: artem_shestakov.fluentbit
      version: "v1.0.0"
  vars:
    fluentbit_inputs:
      - Nombre: forward
        Escuchar: 0.0.0.0
        Puerto: 24224
      - Nombre: syslog
        Etiqueta: haproxy
        Ruta: /var/lib/haproxy/dev/log
        Permiso_Unix: "0666"
    fluentbit_filters:
      - Nombre: record_modifier
        Coincidencia: "*"
        Registro: hostname ${HOSTNAME}
      - Nombre: parser
        Coincidencia: "*"
        Nombre_Clave: data
        Analizador: syslog-rfc3164-local
    fluentbit_outputs:
      - Nombre: es
        Coincidencia: *
        Host: 192.168.2.3
        Puerto: 9200
        Índice: my_index
        Tipo: my_type
    fluentbit_parsers:
      - Nombre: syslog-rfc3164-local
        Formato: regex
        Regex: ^\<(?<pri>[0-9]+)\>(?<time>[^ ]* {1,2}[^ ]* [^ ]*) (?<ident>[a-zA-Z0-9_\/\.\-]*)(?:\[(?<pid>[0-9]+)\])?(?:[^\:]*\:)? *(?<message>.*)$
        Clave_Tiempo: time
        Formato_Tiempo: '%b %d %H:%M:%S'
        Mantener_Tiempo: On
  • fluentbit_parsers - lista de analizadores. Cada elemento de analizador es una colección de diccionario clave/valor. El valor por defecto es []. Ejemplo:
fluentbit_parsers:
  - Nombre: named-capture-test
    Formato: regex
    Regex: /^(?<date>[a-zA-Z]+ \d+ \d+\:\d+\:\d+) (?<message>.*)/m
  - Nombre: docker
    Formato: json
    Clave_Tiempo: time
    Formato_Tiempo: "%Y-%m-%dT%H:%M:%S %z"
  • fluentbit_multiline_parsers - lista de analizadores multilinea. Cada elemento de analizador es una colección de diccionario clave/valor. Cada analizador debe contener una lista de reglas. Cada regla es un diccionario de tres elementos: nombre_estado, patrón_regex y siguiente_estado. El valor por defecto es []. Ejemplo:
fluentbit_multiline_parsers:
  - nombre: multiline-regex-test
    tipo: regex
    tiempo_de_vaciado: 1000
    reglas:
      - nombre_estado: start_state
        patrón_regex: /([a-zA-Z]+ \d+ \d+\:\d+\:\d+)(.*)/
        siguiente_estado: cont
      - nombre_estado: cont
        patrón_regex: /^\s+at.*/
        siguiente_estado: cont

Ejemplo de Playbook

ejemplo aquí

Licencia

BSD

Información del Autor

Artem Shestakov artem.s.shestakov@yandex.ru

Acerca del proyecto

Ansible role to install Fluent bit https://fluentbit.io/

Instalar
ansible-galaxy install artem_shestakov.fluentbit
Licencia
Unknown
Descargas
5.3k
Propietario